(uniquify-get-proposed-name): Fix (.. "usr" "/usr" 0).
[bpt/emacs.git] / src / ChangeLog
CommitLineData
496e1a5b
GM
12001-10-23 Gerd Moellmann <gerd@gnu.org>
2
3 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation
4 error.
5
5905ae8b
EZ
62001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
7
8 * xfaces.c (Finternal_set_lisp_face_attribute)
9 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
10 frame is on a windowed display.
11
24db49fb
GM
122001-10-23 Gerd Moellmann <gerd@gnu.org>
13
c51488cd
GM
14 * dispnew.c (sync_window_with_frame_matrix_rows): Fix
15 handling of windows which aren't full-width, fix handling
16 of marginal areas.
17
24db49fb
GM
18 * lread.c (syms_of_lread)<recursive-load-depth-limit>: Raise to
19 50.
20
f0487f05
EZ
212001-10-23 Andreas Schwab <schwab@suse.de>
22
23 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
24 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
25
f0a48a01
GM
262001-10-23 Gerd Moellmann <gerd@gnu.org>
27
28 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
29 REAL_END. Notice if cursor gets overwritten.
30 (notice_overwritten_cursor): Take X positions as parameters.
31 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
32 around call to x_draw_glyphs.
33
a50a10a0
PJ
342001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
35
fc11dff0
PJ
36 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
37 instead of C) and usage.
a50a10a0 38
fc11dff0
PJ
39 * editfns.c (char-to-string): Fix argument names (use CHAR instead
40 of C) and usage.
a50a10a0
PJ
41
42 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
43 `left', `max_width' and `max_height'.
44
8738febd
GM
452001-10-23 Gerd Moellmann <gerd@gnu.org>
46
47 * xdisp.c (display_line): For a tab continued to the next line,
48 set row's ends_in_middle_of_char_p.
49
653c329b
GM
502001-10-22 Gerd Moellmann <gerd@gnu.org>
51
52 * xdisp.c (display_line): Fix computation of continuation lines
53 width for TABs.
54
f958c5ac
PJ
552001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
56
7ba51063
PJ
57 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
58 `Qlaplace'.
59
f958c5ac
PJ
60 * fileio.c: Remove unused code.
61
eb360291
MB
622001-10-22 Miles Bader <miles@gnu.org>
63
64 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
65 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
66 Remove `DOC_STRINGS_IN_COMMENTS' cases.
67
98515cf0
JR
682001-10-21 Jason Rumney <jasonr@gnu.org>
69
70 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
71
93026d88
EZ
722001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
73
74 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
75 (Finsert_string): Avoid the multi-line string literals warning.
76
c9a95b79
MB
772001-10-22 Miles Bader <miles@gnu.org>
78
79 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
80 (Fdocumentation): Don't use it.
81 (syms_of_doc): Don't initialize it.
82
83 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
84 * print.c (Fwith_output_to_temp_buffer): Likewise.
85 * window.c (Fsave_window_excursion): Likewise.
86 * editfns.c (Fsave_excursion, Fsave_current_buffer)
87 (Fsave_restriction): Likewise.
88 * eval.c (Frun_hooks, Frun_hook_with_args)
89 (Frun_hook_with_args_until_failure)
90 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
91 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
92 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
93 (Funwind_protect, Fcondition_case): Likewise.
94 * coding.c (Ffind_operation_coding_system): Likewise.
95 * keyboard.c (Ftrack_mouse): Likewise.
96
a3b10252
MB
972001-10-21 Miles Bader <miles@gnu.org>
98
99 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
100 (Fmake_hash_table): Add usage: string to doc string.
101 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
102 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
103 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
104 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
105 (Fml_prefix_argument_loop): Likewise.
106
c6f73eec
PJ
1072001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
108
888ebd13
PJ
109 * fileio.c (Finsert_file_contents): Remove unused variable
110 `gap_size'.
111
c6f73eec
PJ
112 * sysdep.c (init_sys_modes): Change doc-string comments to `new
113 style' [w/`doc:' keyword].
114
115 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
116 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
117 comments to `new style' [w/`doc:' keyword].
118
3cf3436e
JR
1192001-10-21 Jason Rumney <jasonr@gnu.org>
120
121 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
122
c169b8f1
JR
123 * w32term.c (remember_mouse_glyph): New function.
124 (w32_mouse_position): Use it.
125 (note_mouse_movement): If the mouse moved off the glyph, remember
126 its new position.
127
4fdd691b
JR
128 * w32term.h (struct w32_output): Correct spelling of x_compatible.
129 (w32_display_info): Add mouse_face_overlay.
130
c169b8f1
JR
131 * w32term.c (notice_overwritten_cursor): Renamed from
132 note_overwritten_text_cursor. Rewritten to take glyph widths into
133 account.
134 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
135 (fast_find_string_pos): New function.
136 (fast_find_position): Return the correct vpos. Add parameter
137 STOP. In the final row, stop before glyphs having STOP as object.
138 Don't consider glyphs that are not from a buffer.
139 (fast_find_position) [0]: Add a presumably more correct version
140 for after 21.1.
141 (expose_window_tree, expose_frame): Don't compute intersections here.
142 (expose_window): Do it here instead.
143 (expose_window_tree, expose_window, expose_line): Return 1 when
144 overwriting mouse-face.
145 (expose_window): If W is the window currently being updated, mark
146 the frame garbaged.
147 (expose_frame): If mouse-face was overwritten, redo it.
148 (x_use_underline_position_properties): New variable.
149 (syms_of_xterm): DEFVAR_BOOL it.
150 (x_draw_glyph_string): Add comment to use it in future.
151 (x_draw_glyph_string): Restore clipping after drawing box.
152 Fix a computation of the underline position.
153 (w32_get_glyph_string_clip_rect): Minor cleanup.
154 (x_fill_stretch_glyph_string): Remove an assertion.
155 (x_produce_glyphs): Don't convert multibyte characters
156 to unibyte characters in unibyte buffers.
157 (cursor_in_mouse_face_p): New function.
158 (x_draw_stretch_glyph_string): Use it to choose a different GC
159 when drawing a cursor within highlighted text. Don't draw
160 background again if it has already been drawn.
161 (x_draw_glyph_string_box): Don't draw a full-width
162 box just because the glyph row's full_width_p flag is set.
163 (x_draw_glyphs): Fix computation of rightmost x for
164 full-width rows.
165 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
166 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
167 change bottom shadow accordingly. Some cleanup.
168 (x_update_window_end): Handle overwritten mouse face
169 also for tool bar windows.
170 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
171 DRAW is DRAW_IMAGE_RAISED.
172 (clear_mouse_face): Return 1 if text with mouse face was
173 actually redrawn. Make the function static. Reset
174 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
175 optimize away highlighting if we pass over that same overlay again.
176 (note_mouse_highlight): Call mouse_face_overlay_overlaps
177 to detect a case where we have to highlight a different region
178 despite not having left the currently highlighted region.
179 Set mouse_face_overlay in the x_display_info. Avoid changing the
180 mouse pointer shape when show_mouse_face has already done it, or
181 there is no need. Handle mouse-face and help-echo in strings.
182 (glyph_rect): New function.
183 (w32_mouse_position): Use it to raise the threshold for mouse
184 movement event generation.
185 (w32_initialize_display_info): Initialize the x_display_info's
186 mouse_face_overlay.
187 (w32_set_vertical_scroll_bar): Don't clear a zero height
188 or width area.
189 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
190 a widget to zero height.
191
3cf3436e 192 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 193 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
194 equivalents in menu_items.
195 (w32_menu_show): Don't overwrite an item's name with its key
196 description in case the description is a multibyte string.
197 (single_submenu): Some cleanup.
198
199 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
200 (postprocess_image): New function.
201 (lookup_image): Call it for all image types except PostScript.
202 (x_kill_gs_process): Call postprocess_image.
203 (tiff_error_handler, tiff_warning_handler): New functions.
204 (tiff_load): Install them as handlers.
205 (x_kill_gs_process): Recognize if someone has cleared the image
206 cache under us.
207 (valid_image_p): Protect better against invalid image
208 specifications. Previous code could signal an error.
209 (Fx_hide_tip, Fshow_tip): Doc fix.
210 (Fv_max_tooltip_size): New variable.
211 (syns_of_xfns): DEFVAR_LISP it.
212 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
213 window buffer to *tip* right after creating the frame. Set frame's
214 window_width. Use a maximum tooltip size specified by
215 Vx_max_tooltip_size, if that has valid contents.
216 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
217 Make sure the tooltip is completely visible.
218 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
219 (Fx_create_frame): Adjust the frame's height for presence
220 of the tool bar before calling x_figure_window_size.
221 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
222 when the window gets smaller.
223 (x_set_foreground_color): Set frame's cursor_pixel.
224 (x_set_foreground_color, x_set_background_color): Cleaned up.
225 (x_set_font): Handle case of x_new_fontset returning the same name
226 as before, although there was a change in fontsets.
227
386ca361
MB
2282001-10-21 Miles Bader <miles@gnu.org>
229
230 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
231 (Flogxor): Add usage: string to doc string.
232 * charset.c (Fstring): Likewise.
233 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
234 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
235
14ff1ee0
PJ
2362001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
237
03be2694
PJ
238 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
239
240 * alloc.c: Reindent DEFUNs with doc: keywords.
241
242 * abbrev.c (Finsert_abbrev_table_description): Reindent.
243
14ff1ee0
PJ
244 * frame.c: Change doc-string comments to `new style' [w/`doc:'
245 keyword].
246
71431a0e
GM
2472001-10-20 Gerd Moellmann <gerd@gnu.org>
248
6aa97356 249 * (Version 21.1 released.)
71431a0e 250
39f624fa
PJ
2512001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
252
c0a53abb
PJ
253 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes
254 removed.
255
256 * xdisp.c (invisible_text_between_p): Put prototype inside #if
257 0 because unused.
258
259 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
fdb82f93 260 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c: Change
c0a53abb 261 doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 262
abcce93a
MB
2632001-10-20 Miles Bader <miles@gnu.org>
264
265 The following changes remove the glyph_row `inverse_p' field,
266 which is never set anymore, due to other changes:
267
268 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
269 (reassert_line_highlight, change_line_highlight): Declarations removed.
270 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
271 (line_hash_code, row_equal_p, fake_current_matrices)
272 (build_frame_matrix_from_leaf_window, update_frame_line)
273 (update_frame_line, update_frame_line, update_frame_line):
274 Don't use `inverse_p' field.
275 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
276 change_line_highlight_hook.
277 (XTreassert_line_highlight, x_change_line_highlight):
278 Functions removed.
279 (x_fix_overlapping_area, x_write_glyphs, expose_area)
280 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
281 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
282 `inverse_p' field.
283 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
284 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
285 (w32_reassert_line_highlight, x_change_line_highlight):
286 Functions removed.
287 * w32console.c (reassert_line_highlight, change_line_highlight):
288 Functions removed.
289 (initialize_w32_display): Don't set reassert_line_highlight_hook
290 or change_line_highlight_hook.
291 (hl_mode): Function removed.
292 (reset_terminal_modes, set_terminal_modes, update_begin)
293 (update_end, w32_face_attributes, initialize_w32_display):
294 (clear_frame, ins_del_lines): Don't call it.
295 * termhooks.h (reassert_line_highlight_hook)
296 (change_line_highlight_hook): Declarations removed.
297 * term.c (reassert_line_highlight_hook)
298 (change_line_highlight_hook): Variables removed.
299 (reassert_line_highlight, change_line_highlight): Functions removed.
300 * msdos.c (IT_reassert_line_highlight)
301 (IT_change_line_highlight): Functions removed.
302 (internal_terminal_init): Don't set reassert_line_highlight_hook
303 or change_line_highlight_hook.
304 (highlight): Variable removed.
305 (IT_set_face, IT_update_begin, IT_update_end)
306 (IT_set_terminal_modes): Don't set or use it.
307
308 The following changes remove inverse-video support for terminals
309 that use a `magic cookie' standout mode. Due to changes in the
310 way mode-lines are displayed, such support no longer works
311 anyway, and it's probable that almost no one uses such terminals
312 anymore:
313
314 * term.c (standout_requested): Variable removed.
315 (update_end, highlight_if_desired): Don't use it.
316 (chars_wasted, copybuf): Variables removed.
317 (write_standout_marker): Function removed.
318 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
319 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
320 Don't use `chars_wasted' or `copybuf'.
321 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
322 Set `costs_set' to true.
323 (cursor_to, clear_end_of_line): Test `costs_set' instead of
324 `chars_wasted'.
325 (clear_end_of_line): Function removed.
326 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
327 (clear_to_end): Call `clear_end_of_line' instead of
328 `clear_end_of_line_raw'.
54800acb
MB
329 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
330 (term_init): Don't set them.
331 Turn off any standout/underline modes that require magic cookies.
332 (ins_del_lines, highlight_if_desired, background_highlight)
333 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
334 Remove special processing for magic-cookie standout modes.
335 (turn_off_face, turn_on_face): Remove special processing for
336 underline magic-cookie glitch.
abcce93a 337
0b5f679f
RS
3382001-10-19 Richard M. Stallman <rms@gnu.org>
339
340 * eval.c (syms_of_eval): Doc fixes.
341
5a4a5bd4
GM
3422001-10-19 Gerd Moellmann <gerd@gnu.org>
343
344 * xdisp.c (redisplay_internal): Don't clear echo area if the
345 mini-window is selected.
346
79f1f96c
MB
3472001-10-19 Miles Bader <miles@gnu.org>
348
b57c2708
MB
349 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
350 doesn't take precedence if the affected property's value is nil.
351
352 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
353
79f1f96c
MB
354 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
355 with fields and suggest using `forward-line' to avoid them.
356 * editfns.c (Fline_beginning_position, Fline_end_position):
357 Clarify documentation.
358
ef879104
SM
3592001-10-18 Stefan Monnier <monnier@cs.yale.edu>
360
361 * keymap.c (current_minor_maps): `override' only shadows its
362 correspondent in minor-mode-map-alist, not the whole tail.
363
97f4db8c
AI
3642001-10-18 Andrew Innes <andrewi@gnu.org>
365
366 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
367 optimization. The fontp->encoding array was not being initialized
368 correctly when compiled with optimizations by MSVC.
369
e6b70fd8
GM
3702001-10-18 Gerd Moellmann <gerd@gnu.org>
371
30903479 372 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 373
0e804d38
AI
3742001-10-17 Andrew Innes <andrewi@gnu.org>
375
376 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
377
378 * w32fns.c (w32_load_system_font): Cache codepage for font, in
379 font_info.charset field.
380
381 * w32term.c (w32_encode_char): Get cached codepage from font_info,
382 rather than working it out by calling w32_codepage_for_font for
383 every glyph.
384
66e5868a
AI
3852001-10-17 Andrew Innes <andrewi@gnu.org>
386
387 * w32term.c (w32_read_socket): Determine clipping rectangle for
388 the entire frame, including areas covered by scrollbars and the
389 menubar. This avoids internal arguments about whether a frame is
390 fully obscured or not.
391
15b00083
GM
3922001-10-17 Gerd Moellmann <gerd@gnu.org>
393
23e8bd86
GM
394 * xdisp.c (try_window_id): Undo last change. Give up if
395 window ends in strings.
30903479 396
9c6ba6d1 397 * xdisp.c (try_window_id): Don't display lines after the window
30903479 398 end if the rest of the window after the window end was already blank.
23e8bd86 399
30903479 400 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
401 for the release of 21.1.
402
30903479 403 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 404
945220bd
MB
4052001-10-17 Miles Bader <miles@gnu.org>
406
407 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
408 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
409 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
410 Change doc-string comments to `new style' [w/`doc:' keyword].
411 (DOC_STRINGS_IN_COMMENTS): Macro removed.
412 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
413 out make-docfile.
414
14242528
MB
4152001-10-16 Miles Bader <miles@gnu.org>
416
417 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
418
3ddf952f
GM
4192001-10-16 Gerd Moellmann <gerd@gnu.org>
420
421 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
422 *scratch*.
423
f3fbd155
KR
4242001-10-16 Ken Raeburn <raeburn@gnu.org>
425
426 Avoid the assumption that car and cdr slots of cons cells are
427 addressable lvalues; this allows for easier experimentation with
428 other lisp implementations that may not permit such accesses for
429 various reasons. Not quite complete -- buffer.c still needs some
430 work, and w32/mac files need rechecking -- so compile-time
431 enforcement is left disabled for now.
432
433 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 434 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
435 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
436 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
437 (XSETCAR, XSETCDR): New macros.
438 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
439 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
440 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
441 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
442 XSETCDR.
443 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
444 * buffer.c (record_buffer, Fbury_buffer)
445 (swap_out_buffer_local_variables, recenter_overlay_lists)
446 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
447 fields of a cons cell respectively.
448 * callint.c (quotify_args, Fcall_interactively): Likewise.
449 * ccl.c (Fregister_code_conversion_map): Likewise.
450 * coding.c (detect_coding_system): Likewise.
451 * composite.c (get_composition_id, make_composition_value_copy):
452 Likewise.
30903479
SM
453 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
454 (swap_in_symval_forwarding, set_internal, Fset_default)
455 (Fmake_variable_buffer_local, Fmake_local_variable)
456 (Fmake_variable_frame_local): Likewise.
f3fbd155 457 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479
SM
458 * keymap.c (Fset_keymap_parent, store_in_keymap)
459 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap):
f3fbd155
KR
460 Likewise.
461 * minibuf.c (get_minibuffer): Likewise.
462 * search.c (Fmatch_data): Likewise.
463 * textprop.c (extend_property_ranges): Likewise.
464 * undo.c (record_insert, Fundo_boundary, truncate_undo_list):
465 Likewise.
466 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
467 Likewise.
468 * w32term.c (x_delete_display): Likewise.
469 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
470 Likewise.
471 * xterm.c (x_list_fonts, x_load_font, x_delete_display):
472 Likewise.
473 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 474 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
475 (Fread_file_name): Use XSETCAR.
476 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
477 CHECK_NUMBER_CDR.
478 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
479 * frame.c (Fmake_terminal_frame): Use XSETCDR.
480 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
481 CHECK_NUMBER_CDR.
482 * keyboard.c (read_char): Alter list traversal to avoid taking the
483 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
484 (parse_menu_item): Use XSETCAR and XSETCDR.
485 (reach_char_x_menu_prompt): Use XSETCAR.
486 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
487 (Fcommand_execute): Use XSETCDR.
488 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
489 (openp): Change list traversal to avoid using XCAR as lvalue.
490 (read_list): Use XSETCDR.
491 * process.c (wait_reading_process_input): Change wait_for_cell
492 handling to avoid taking addresses of cons cell slots.
30903479
SM
493 * xselect.c (x_own_selection, x_handle_selection_clear)
494 (x_clear_frame_selections): Use XSETCDR.
495 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
496 (x_handle_property_notify, x_get_foreign_selection)
497 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 498
502150e5
PJ
4992001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
500
018ba359
PJ
501 * buffer.c: Put doc strings in comments.
502
30903479 503 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 504
b56ba8de
SS
5052001-10-15 Sam Steingold <sds@gnu.org>
506
507 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
508
6a0b793a
PJ
5092001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
510
30903479
SM
511 * process.c (process-inherit-coding-system-flag)
512 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
513 in comment.
514
a1f17501 515 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 516 arguments. Put doc strings in comments.
a65da641
PJ
517
518 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 519
aa601ad0
GM
5202001-10-15 Gerd Moellmann <gerd@gnu.org>
521
30903479 522 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 523
aa601ad0
GM
524 * window.c (select_window_1): Unfreeze window start. Remove a
525 doubled test for WINDOW being live.
526
288148a1
PJ
5272001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
528
dd8d1e71
PJ
529 * fns.c (Fmapconcat): Fix typo in a doc string.
530
288148a1
PJ
531 * dispnew.c (Fsleep_for): Fix typo in a doc string.
532
9f5eb4a3
GM
5332001-10-15 Gerd Moellmann <gerd@gnu.org>
534
535 * xterm.c (x_draw_glyph_string): Restore clipping after
536 drawing box.
537
dbae44c8
PJ
5382001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
539
30903479 540 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 541
0c88c937
SM
5422001-10-14 Stefan Monnier <monnier@cs.yale.edu>
543
56378db4
GM
544 * indent.c (skip_invisible): Use new retval of
545 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 546
845e4cf4
SM
547 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
548 If a parent is reached and noinherit is set, exit immediately.
549 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
550
0c88c937
SM
551 * s/ms-w32.h (EXEC_SUFFIXES):
552 * s/msdos.h (EXEC_SUFFIXES):
553 * process.h (EXEC_SUFFIXES): Remove.
554
555 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
556 (decode_suffixes): Remove.
557
558 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
559 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
560 (invisible_ellipsis_p): Remove.
0c88c937
SM
561
562 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
563 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
564 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
565 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
566 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 567
d19be8a9
PJ
5682001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
569
04d7d066
PJ
570 * lisp.h (Ftop_level): Add prototype.
571
d624284c
PJ
572 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
573 (XTread_socket): Improve style of comments to follow other
574 comments.
575
a87414f9
PJ
576 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
577 is already prototyped in included lisp.h).
578
d19be8a9
PJ
579 * frame.c (Fset_mouse_position): Improve style of comment to
580 follow other comments.
581 (Fset_mouse_pixel_position): Improve style of comment to follow
582 other comments.
583 (Fmake_frame_visible): Doc fix and typo in comment.
584 (Fmake_frame_invisible): Doc fix and typo in comment.
585 (Ficonify_frame): Fix typo in comment.
586
c061c855
GM
5872001-10-14 Gerd Moellmann <gerd@gnu.org>
588
37f6b5b6 589 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 590 * term.c, alloc.c: Put doc strings in comments.
c061c855 591
e641b454
GM
5922001-10-13 Gerd Moellmann <gerd@gnu.org>
593
594 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
595 Provide definitions for doc strings in comments.
596
597 * fns.c: Put doc strings in comments.
598
51724e26
EZ
5992001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
600
601 * dired.c (file_name_completion): Ignore a candidate directory if
602 it matches an element in completion-ignored-extensions that ends
603 in a slash.
604 (syms_of_dired) <completion-ignored-extensions>: Mention the above
605 feature in the doc string.
606 (Ffile_name_completion): Ditto.
607
be5fc59b
SM
6082001-10-12 Stefan Monnier <monnier@cs.yale.edu>
609
5a1373f3
SM
610 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
611
612 * xfns.c (syms_of_xfns): Update calls to Fprovide.
613
614 * lisp.h (Fprovide): Update prototype.
615 (Ffeaturep, invisible_p): Remove.
616
bbc4a3d3 617 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
618 (DOLIST, LOOP_PROPVAL): New macros.
619 (invisible_p, invisible_ellipsis_p): Use them.
620 (invisible_noellipsis_p): New function.
621 (syms_of_xdisp): Use empty_string.
622
623 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
624
625 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
626 (syms_of_lread) <Vafter_load_alist>: Update docstring.
627
628 * print.c (Fwith_output_to_temp_buffer): Align with
629 internal_with_output_to_temp_buffer.
630 (print_preprocess): Use traverse_intervals_noorder.
631 (print_object): Update call to traverse_intervals.
632
633 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
634 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
635
636 * intervals.c (traverse_intervals_noorder): New function.
637 (search_for_interval, count_intervals): Use it.
638 (traverse_intervals): Use less stack space and drop `depth' arg.
639
640 * fns.c (Ffeaturep): Add new `subfeature' arg.
641 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
642 (Qsubfeatures): New var.
643 (syms_of_fns): Initialize it.
644
026f408d
SM
645 * keymap.c (Fkey_description): Use empty_string.
646 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
647 (syms_of_keymap): Setup inheritance between maps.
648 Don't export Sdescribe_bindings_internal any more.
649
be5fc59b
SM
650 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
651
3365175e
GM
6522001-10-12 Gerd Moellmann <gerd@gnu.org>
653
654 * xterm.c (notice_overwritten_cursor): Renamed from
655 note_overwritten_text_cursor. Rewritten to take glyph widths into
656 account.
657
2ab7765c
EZ
6582001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
659
660 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
661 multi-line strings without a trailing "\n\".
662
311346bb
PJ
6632001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
664
665 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
666 defined.
667
2168e04d
SM
6682001-10-11 Stefan Monnier <monnier@cs.yale.edu>
669
026f408d
SM
670 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
671
c0ec53ad
SM
672 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
673 * w32proc.c (sys_spawnve):
674 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
675 * w32.c (check_windows_init_file):
676 * sound.c (Fplay_sound):
026f408d 677 * emacs.c (init_cmdargs):
c0ec53ad
SM
678 * process.c (Fstart_process): Update calls to openp.
679
680 * callproc.c (Vexec_suffixes): New var.
681 (Fcall_process): Update call to openp.
682 (decode_suffixes): New function.
683 (syms_of_callproc): Init exec-suffixes.
684
685 * lread.c (Vload_suffixes, default_suffixes): New vars.
686 (openp): Take a lisp list of suffixes.
687 Check for file-name-handlers even if the file was absolute already.
688 (syms_of_lread): Declare load-suffixes.
689 (Fload): Fix up call to openp.
690 Don't bother checking for file-name-handler at the very beginning.
691
f6333468
SM
692 * keymap.h (Fcopy_keymap): Don't export.
693
694 * lisp.h (empty_string): Declare.
c0ec53ad
SM
695 (Vload_suffixes, Vexec_suffixes): Declare.
696 (openp): Update prototype.
f6333468
SM
697
698 * emacs.c (empty_string): New var.
699 (syms_of_emacs): Initialize it.
700
701 * search.c (wordify): Use it.
702
703 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
704 selected window if it's not displayed there. Handle the case
705 when the window is dedicated.
706 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
707
708 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
709
2168e04d
SM
710 * syntax.h (struct gl_state_s): Change the meaning of b_property.
711 Remove left_ok and right_ok.
712 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
713 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
714 new meaning of b_property.
715
716 * syntax.c (update_syntax_table): Simplify.
717 (Fforward_comment): Don't skip quoted chars when going backward.
718
13d95cc0
GM
7192001-10-11 Gerd Moellmann <gerd@gnu.org>
720
beb0990f
GM
721 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
722 in case I is of some unsigned type, in which case
723 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
724 comparison becomes bogus.
725
cb938d46
GM
726 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
727 (Fuser_full_name): Fix bug treating a float as a fixnum.
728
729 * data.c (Fstring_to_number): Use make_fixnum_or_float.
730
731 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 732
13d95cc0
GM
733 * lisp.h (circular_list_error): Add prototype.
734
735 * data.c (Qcircular_list): New variable.
736 (circular_list_error): New function.
737 (syms_of_data): Initialize it Qcircular_list.
738
e35f6ff7
SM
7392001-10-10 Stefan Monnier <monnier@cs.yale.edu>
740
741 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
742 casefiddle.c, buffer.c: Include keymap.h.
743
619632ac
GM
7442001-10-10 Gerd Moellmann <gerd@gnu.org>
745
746 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
747 options. From Dave Love <d.love@dl.ac.uk>.
748
5e5388f6
GM
7492001-10-09 Gerd Moellmann <gerd@gnu.org>
750
751 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
752 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
753
14a3dff7
GM
754 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
755 unsigned char.
756 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 757
76ba8daf
AI
7582001-10-08 Andrew Innes <andrewi@gnu.org>
759
760 * lisp.h [max]: Undef min and max before redefining them.
761
762 * w32gui.h: Do not undef min and max.
763
764 * w32heap.h: Do not undef min and max.
765
766 * s/ms-w32.h: Do not undef min and max.
767
166253cb
SM
7682001-10-08 Stefan Monnier <monnier@cs.yale.edu>
769
770 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
771
0c4d9527
SS
7722001-10-08 Sam Steingold <sds@gnu.org>
773
774 * keymap.c (current-active-maps): Quote newlines (compilation error).
775
14bfa771
EZ
7762001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
777
778 * Makefile.in (lisp, shortlisp): Replace bindings.el with
779 bindings.elc, since otherwise doc strings in bindings.el get wrong
780 offsets in etc/DOC.
781
bdb7aa47
SM
7822001-10-08 Stefan Monnier <monnier@cs.yale.edu>
783
9985827f
SM
784 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
785
786 * keyboard.h (map_prompt): Remove.
787
788 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 789 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 790
bdb7aa47
SM
791 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
792
793 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
794
795 * keyboard.c (map_prompt): Remove.
796 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
797 Use Fkeymap_prompt.
798
799 * keymap.h: New file. Extracted from lisp.h.
800
9985827f
SM
801 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
802 (accessible_keymaps_1): New function.
803 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
804 (Fwhere_is_internal): Use Fcurrent_active_maps.
805 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
806 Insert in current buffer rather than standard-output.
807 Don't call `help-mode'. Export to elisp.
808 (describe_buffer_bindings): New wrapper.
809 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
810 and Sdescribe_buffer_bindings.
811
402c9a51
GM
8122001-10-08 Gerd Moellmann <gerd@gnu.org>
813
9985827f 814 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
815 Remove code setting signal handler.
816
9985827f 817 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
818 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
819
3fe81fdf
PJ
8202001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
821
822 * keyboard.c: Don't define min/max.
823
55fa7820
GM
8242001-10-08 Gerd Moellmann <gerd@gnu.org>
825
9985827f 826 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 827 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 828 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 829 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 830 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
831 Don't define min/max.
832
833 * lisp.h (min, max): New macros.
834
55fa7820
GM
835 * puresize.h (BASE_PURESIZE): Increase to 725000.
836
1aad31e4
PJ
8372001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
838
9180dc8c
PJ
839 * xfaces.c (free_frame_menubar): Add prototype.
840
01f67d2c
PJ
841 * lisp.h (init_window): Add prototype.
842
843 * editfns.c: Include ctype.h.
844
845 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 846 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
847 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
848 variable `sb'.
849
5f351ff1
PJ
850 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
851 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
852 `popup_activated_flag' and `title'.
853
479dfe87
PJ
854 * doc.c (Fdocumentation_property): Fix typo in a doc string.
855
dff49fc8
PJ
856 * emacs.c (main): Remove extra `;'.
857
248ac615
PJ
858 * atimer.h (struct atimer): Fix typos in a comment.
859
860 * atimer.c: Fix typo.
861
af232c7d
PJ
862 * Makefile.in: Fix typo.
863
864 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 865
d876f455
MB
8662001-10-07 Miles Bader <miles@gnu.org>
867
868 * Makefile.in (lisp, shortlisp): Add `button.elc'.
869
0037e2f2
KR
8702001-10-07 Ken Raeburn <raeburn@gnu.org>
871
b056f36d
KR
872 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
873 Lisp_Object.
874
0037e2f2
KR
875 * lisp.h (Ffield_end): Declare.
876
1a4372ef
GM
8772001-10-07 Gerd Moellmann <gerd@gnu.org>
878
a4a74e8c
GM
879 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
880
881 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
882
883 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
884
885 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
886
1a4372ef
GM
887 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
888 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
889
890 * alloc.c (inhibit_garbage_collection): Simplify.
891 (Fmemory_use_counts): Ditto.
892
9985827f 893 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
894 (syms_of_data): DEFVAR_INT most-positive-fixnum and
895 most-negative-fixnum.
896
9985827f 897 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
898 (FIXNUM_OVERFLOW_P): New macros.
899
4650e362
MB
9002001-10-06 Miles Bader <miles@gnu.org>
901
902 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
903 scroll_bar_bottom_shadow_pixel fields.
904 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
905 for the shadows, and tell the toolkit about them if we succeed.
906 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
907 Free scroll-bar shadow colors.
908 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
909 Free scroll-bar shadow colors when the background color changes.
910 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
911 Initialize scroll-bar shadow-color fields.
912
ace64e0a
GM
9132001-10-05 Gerd Moellmann <gerd@gnu.org>
914
915 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
916
ec66bdc7
MB
9172001-10-05 Miles Bader <miles@gnu.org>
918
9985827f
SM
919 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
920 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 921 New functions (were in simple.el).
9985827f 922 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
923 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
924 (syms_of_minibuf): Initialize them.
925
a0fb4492
GM
9262001-10-05 Gerd Moellmann <gerd@gnu.org>
927
928 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
929 (tiff_load): Install them as error and warning handler.
930
0bcf87c1
AI
9312001-10-04 Andrew Innes <andrewi@gnu.org>
932
933 * w32fns.c (x_to_w32_color): Fix argument to alloca.
934 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 935 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
936 (x_to_w32_charset): Handle private format for unknown charsets.
937 Handle wildcards in charset spec, by ignoring them.
938 (w32_codepage_for_font): Fix argument to alloca. Don't remove
939 "*-" prefix from charset.
940 (x_to_w32_font): Enlarge remainder array for safety. Specifically
941 handle the truncated font spec form constructed by font_list_1, so
942 that we correctly identify the charset fields. Don't remove "*-"
943 prefix from charset.
944 (w32_list_synthesized_fonts): Fix argument to alloca.
945
c89e4bc5
GM
9462001-10-04 Stefan Monnier <monnier@cs.yale.edu>
947
948 * window.h (MINI_WINDOW_P): Use NILP.
949
950 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
951
952 * termhooks.h (struct input_event): Use proper type for `kind'.
953
9542001-10-04 Gerd Moellmann <gerd@gnu.org>
955
956 This handles unknown keysyms better than before. For example,
957 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
958 Emacs formerly completely ignored F5. With the change, it derives
959 a key symbol from the name of the X keysym, `ccaron' in this case.
960 Reported by Martin Buchholz.
961
962 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
963 unknown keysyms.
964
965 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
966 that EVENT->code isn't a function key, use the keysym's name.
967
9682001-10-04 Gerd Moellmann <gerd@gnu.org>
969
970 FOREACH is a macro that should make it easier to loop over Lisp
971 lists with checks for cycles and proper lists.
972
973 * lisp.h (LIST_END_P, FOREACH): New macros.
974
9752001-10-04 Gerd Moellmann <gerd@gnu.org>
976
977 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
978 called for a lost connection. Prevent dumping core in this case.
979 Instead print the X error, and exit. On user request.
980
981 * xterm.c (error_msg): New variable.
982 (x_fatal_error_signal): New function.
983 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
984 as fatal_error_signal_hook around the call to XtCloseDisplay.
985
986 * emacs.c (fatal_error_signal_hook): New variable.
987 (fatal_error_signal): Call that function.
988
9892001-10-04 Gerd Moellmann <gerd@gnu.org>
990
991 With this, Emacs prints how much pure storage it will
992 approximately need in case pure storage overflows while dumping.
993
994 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
995 New variables.
996 (init_alloc_once): Initialize new variables.
997 (PURE_POINTER_P): Use new variables.
998 (pure_alloc): If pure storage overflows, allocate from the heap.
999 (check_pure_size): New function.
1000 (Fgarbage_collect): Don't GC if pure storage has overflowed.
1001
1002 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
1003 (check_pure_size): Add prototype.
1004
1005 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
1006
10072001-10-04 Gerd Moellmann <gerd@gnu.org>
1008
1009 This adds a post-gc-hook that's run with GC inhibited.
1010 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
1011
1012 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
1013 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
1014 (Fgarbage_collect): Run post-gc-hook.
1015
10162001-10-04 Gerd Moellmann <gerd@gnu.org>
1017
1018 This adds `defvaralias' and `indirect-variable'. Changes not
1019 directly related to this feature are there to gain the same
1020 performance again as before variable aliases.
1021
1022 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
1023 code to get and set symbol values, to take defvaralias into account.
1024
1025 (Note: the new `constant' bit-flag in symbols would make it
1026 possible to define arbitrary read-only variables, e.g. with
1027 `defconst'.)
1028
1029 Documentation is in lispref/variables.texi. Added to NEWS.
1030
1031 * lisp.h (enum symbol_interned): New enumeration.
1032 (struct Lisp_Symbol): Remove member `obarray', add
1033 `indirect_variable', `constant', and `interned'.
1034 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
1035 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
1036 (indirect_variable): Add prototype.
1037
1038 * print.c (print_preprocess, print_object): Test internedness of
1039 symbols differently.
1040
1041 * lread.c (Fintern, Funintern): Set symbol's interned and constant
1042 bit-fields.
1043 (init_obarray): Likewise for t and nil.
1044
1045 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1046 (Fdefvaralias): New function.
1047 (specbind): Simplify the test if symbol is a constant.
1048 (syms_of_eval): Defsubr Fdefvaralias.
1049
1050 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1051 (Qcyclic_variable_indirection): New variable.
1052 (Fkeywordp): Check for internedness differently.
1053 (Fmakunbound): Simplify the test if symbol is a constant.
1054 (indirect_variable, Findirect_variable): New functions.
1055 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
1056 aliased symbol.
1057 (let_shadows_buffer_binding_p): Check for variable aliases.
1058 (set_internal): Simplify the test if SYMBOL is a constant.
1059 If SYMBOL has a buffer-local value and is an alias, use the aliased
1060 symbol instead.
1061 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
1062 Sindirect_variable.
1063
1064 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
1065 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
1066 set directly.
1067
1068 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
1069
1070 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
1071 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
1072 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
1073
ab952a4f
GM
10742001-10-04 Gerd Moellmann <gerd@gnu.org>
1075
1076 * Branch for 21.1.
b56ba8de 1077
ba88ff28
MB
10782001-10-03 Miles Bader <miles@gnu.org>
1079
1080 * callproc.c (syms_of_callproc): Explicitly state in the
1081 documentation for `process-environment' that earlier entries take
1082 precedence over later ones.
1083
ae1a9581
MB
10842001-10-02 Miles Bader <miles@gnu.org>
1085
1086 * textprop.c (Fnext_char_property_change)
1087 (Fprevious_char_property_change): Remove reference to non-existant
1088 argument OBJECT from doc-string.
1089
257e3f57
GM
10902001-10-01 Gerd Moellmann <gerd@gnu.org>
1091
1092 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
1093 (try_window_id): Skip back over lines ending in a newline from a
1094 string.
1095
1096 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
1097 New bit flag
1098
c1f29759
RS
10992001-10-01 Richard M. Stallman <rms@gnu.org>
1100
1101 * search.c (Freplace_match): Doc fix.
1102
c30dce3d
AI
11032001-09-28 Andrew Innes <andrewi@gnu.org>
1104
1105 * w32menu.c (set_frame_menubar): Take into account that
1106 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
1107 <raeburn@gnu.org>.
1108
03be5931
EZ
11092001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
1110
1111 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
1112
75bec752
PJ
11132001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1114
1115 * s/gnu-linux.h: Fix a typo in comment.
1116
83100e0a
AS
11172001-09-28 Andreas Schwab <schwab@suse.de>
1118
1119 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
1120 nocombreloc, in case -z combreloc is the default.
1121
a74b48cf
GM
11222001-09-28 Gerd Moellmann <gerd@gnu.org>
1123
1124 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
1125 really going on here.
1126
09c4719e
SM
11272001-09-27 Stefan Monnier <monnier@cs.yale.edu>
1128
1129 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
1130
f7d5d963
EZ
11312001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
1132
1133 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
1134 utf-8, menu-bar, and latin-N.
1135 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
1136 unconditionally now.
1137 (lisp): Add latin-N, since they are preloaded.
1138
9240e746
GM
11392001-09-27 Gerd Moellmann <gerd@gnu.org>
1140
14531065
GM
1141 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
1142 to the left. Some cleanup.
1143
9240e746
GM
1144 * xdisp.c (display_mode_element): One more case where a string's
1145 multibyteness should be used for display.
1146
edd1e654
GM
11472001-09-26 Gerd Moellmann <gerd@gnu.org>
1148
b02439c8
GM
1149 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
1150 reading at EOF.
1151
032906b1 1152 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 1153 of the only temporarily set echoing flag for deciding when
032906b1
GM
1154 the cancel echoing.
1155
1156 * keyboard.c (echo_kboard): Make externally visible.
1157
1158 * lisp.h (echo_kboard): Declare extern.
1159
cb617e7c 1160 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 1161 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
1162 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
1163 this round of redisplay if make_cursor_line_fully_visible fails.
1164 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 1165 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
1166
1167 * dispextern.h (required_matrix_width, required_matrix_height):
1168 Add prototypes.
1169
09c4719e
SM
1170 * dispnew.c (required_matrix_width, required_matrix_height):
1171 New functions.
cb617e7c 1172 (allocate_matrices_for_window_redisplay)
09c4719e
SM
1173 (allocate_matrices_for_frame_redisplay: Use them.
1174 Remove parameters CH_DIM.
cb617e7c 1175
edd1e654
GM
1176 * xdisp.c (display_mode_lines): Temporarily set selected_frame
1177 and selected_window to the frame of the window whose mode-lines
1178 are displayed, and to the window itself.
1179 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 1180 here.
edd1e654 1181
924b604c
GM
11822001-09-25 Gerd Moellmann <gerd@gnu.org>
1183
daba7643
GM
1184 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
1185 the image cache under us.
1186
b7a22712 1187 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 1188 with a string value, use that string's multibyteness for displaying.
b7a22712 1189
ad648212
GM
1190 * keyboard.c (read_char): Don't clear a message for a switch-frame
1191 event. From Stefan Monnier <monnier@cs.yale.edu>.
1192
9f8531e5
GM
1193 * xterm.c (fast_find_position) [0]: Add a presumably more correct
1194 version for after 21.1.
1195
1196 * xdisp.c (row_containing_pos): Make externally visible.
1197
1198 * dispextern.h (row_containing_pos): Add prototype.
1199
924b604c
GM
1200 * process.c (send_process): Disable composition if from_byte < 0.
1201 From Kenichi Handa <handa@etl.go.jp>.
1202
6f3f0db4
GM
12032001-09-24 Gerd Moellmann <gerd@gnu.org>
1204
c69c0ebc
GM
1205 * xterm.c (refreshicon): Function removed.
1206
d1182bc4
GM
1207 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
1208
1209 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
1210
1211 * xterm.c (toplevel): Remove includes in #if 0.
1212
6f3f0db4
GM
1213 * process.c (sigchld_handler) [LINUX]: Don't return from
1214 the signal handler at the end of the loop.
1215
59957f85
GM
12162001-09-21 Gerd Moellmann <gerd@gnu.org>
1217
09c4719e
SM
1218 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
1219 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 1220
a0528984
EZ
12212001-09-21 Markus Rost <rost@math.ohio-state.edu>
1222
1223 * Makefile.in (shortlisp): Add ../lisp/env.elc.
1224
db92b288
GM
12252001-09-20 Gerd Moellmann <gerd@gnu.org>
1226
3fed8ad5
GM
1227 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
1228 since this function can be called during GC.
1229
db92b288
GM
1230 * callproc.c (Fcall_process): Handle errors from pipe(2).
1231 (child_setup): Delete code in #ifdef vipc.
1232
7121b85a
GM
12332001-09-19 Gerd Moellmann <gerd@gnu.org>
1234
72f62cb5
GM
1235 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
1236 (display_mode_element): Display the string from decode_mode_spec
1237 depending on its multibyteness.
1238
a2697022
GM
1239 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
1240
7121b85a
GM
1241 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
1242
bfc97351
GM
12432001-09-18 Gerd Moellmann <gerd@gnu.org>
1244
c9063433
GM
1245 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
1246 recursive_edit_unwind.
1247 (recursive_edit_unwind): Set kboard state according to
1248 SINGLE-KBOARD.
1249
3fbdba3e
GM
1250 * buffer.c (modify_overlay): Don't do nothing if START == END;
1251 This can still be a modification, for example when an overlay has
1252 a before-string or after-string.
1253 (Fdelete_overlay): Prevent redisplay optimizations when deleting
1254 an overlay with before-string or after-string.
1255
1270031d
GM
1256 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
1257 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
1258
bfc97351
GM
1259 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
1260 first_unchanged_at_end_row is in front of
1261 last_unchanged_at_beg_row. This code should be removed after the
1262 release of 21.1.
1263
d8a973aa
GM
12642001-09-17 Gerd Moellmann <gerd@gnu.org>
1265
e18c8b8d
GM
1266 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
1267 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
1268
d8a973aa
GM
1269 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
1270 versions >= 2.95.
1271
ed7d6ba4
EZ
12722001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
1273
1274 * dired.c (Ffile_attributes): Doc fix.
1275
551629f9
GM
12762001-09-14 Gerd Moellmann <gerd@gnu.org>
1277
1278 * fileio.c (Ffile_symlink_p): Fix last change.
1279
1280 * filelock.c (current_lock_owner): Fix last change.
1281
4c8c7926
GM
12822001-09-13 Gerd Moellmann <gerd@gnu.org>
1283
620c4704
GM
1284 * filelock.c (current_lock_owner): If readlink returns ERANGE,
1285 take that to mean that the buffer is too small.
1286
81c3310d
GM
1287 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
1288 that to mean that the buffer is too small.
1289
06fd3792
GM
1290 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
1291 current buffer's multibyteness when discarding the iterator's
1292 stack.
1293
4c8c7926
GM
1294 * xfns.c (Fx_window_property): Handle case that property gets
1295 deleted between the two calls to XGetWindowProperty.
1296
9a72e4c1
GM
12972001-09-11 Gerd Moellmann <gerd@gnu.org>
1298
bd819d14 1299 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 1300
a41edd99
GM
1301 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
1302 in addition to read-only.
1303
1304 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
1305 to t in addition to read-only.
1306
1307 * lisp.h (Qinhibit_modification_hooks): Declare.
1308
1309 * insdel.c (Qinhibit_modification_hooks): New variable.
1310 (syms_of_insdel): Initialize and staticpro it.
1311
d4881c6a
GM
1312 * textprop.c (verify_interval_modification): Don't run
1313 modification-hooks if inhibit_modification_hooks.
1314
1315 * dispnew.c (set_window_cursor_after_update): Fix code
1316 finding glyph row containing cursor when cursor_in_echo_area
1317 is >= 0.
1318
9a72e4c1
GM
1319 * xdisp.c (init_from_display_pos): Put some code in #if 0.
1320 (add_to_log): Use bcopy instead of strcpy.
1321 (init_from_display_pos): Use an explicit loop over bytes in
1322 overlay strings instead of calling index.
1323
f4a374a1
GM
13242001-09-10 Gerd Moellmann <gerd@gnu.org>
1325
300e57bd
GM
1326 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
1327
1328 * dispnew.c (direct_output_for_insert): Don't change IT's
1329 stop_charpos to something in front of its current position.
1330
f4a374a1
GM
1331 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
1332 `format'.
1333
7e4cbc91
RS
13342001-09-10 Richard M. Stallman <rms@gnu.org>
1335
1336 * frame.c (Fmouse_position): Doc fix.
1337
6afad91e
GM
13382001-09-07 Gerd Moellmann <gerd@gnu.org>
1339
1340 * xdisp.c (init_from_display_pos): Don't compare the result
1341 of calling index with NULL.
1342
f76e0368
GM
13432001-09-06 Gerd Moellmann <gerd@gnu.org>
1344
1345 * xfns.c (x_set_background_color): Don't change the colors
1346 of the X window of scroll bar widgets.
1347
9ead1b60
AI
13482001-09-05 Andrew Innes <andrewi@gnu.org>
1349
1350 * w32fns.c (w32_createwindow): Undo last change.
1351
c3b497b3
GM
13522001-09-05 Gerd Moellmann <gerd@gnu.org>
1353
08e1d6df
GM
1354 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
1355
c3b497b3
GM
1356 * xdisp.c (string_buffer_position): Use *single_char_property*
1357 functions instead of the *single_property* functions.
b56ba8de 1358
8f860180
AI
13592001-09-04 Andrew Innes <andrewi@gnu.org>
1360
9a72e4c1
GM
1361 * w32term.c (w32_read_socket): Add more information to debugging
1362 output.
8f860180
AI
1363
1364 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
1365 from Emacs frames, so that calls to GetClipBox in w32term.c
1366 correctly report when part of a frame is visible (including
1367 scrollbars, etc). This prevents repeated redrawing of frames when
1368 only a scrollbar is visible.
1369 (w32_wnd_proc): Add more frame information to debugging output.
1370
2ee1aa00
SM
13712001-09-03 Stefan Monnier <monnier@cs.yale.edu>
1372
1373 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
1374
e3b22517
GM
13752001-09-03 Gerd Moellmann <gerd@gnu.org>
1376
7e376260
GM
1377 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
1378 help-echo for a string which doesn't have help-echo itself, use
1379 get-char-property to obtain the help-echo from the string's buffer
1380 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
1381 have mouse-face, look ``under'' the string for mouse-face from an
1382 overlay.
1383 (fast_find_position): Add parameter STOP. In the final row, stop
1384 before glyphs having STOP as object. Don't consider glyphs that
1385 are not from a buffer.
1386
e3b22517
GM
1387 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
1388
9a249bba
EZ
13892001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
1390
1391 * fns.c (Fmd5): Doc fix.
1392
c9979669
GM
13932001-08-31 Gerd Moellmann <gerd@gnu.org>
1394
1395 * composite.c (update_compositions): Do nothing if
1396 inhibit-modification-hooks is set.
1397
9584e63a
GM
13982001-08-30 Gerd Moellmann <gerd@gnu.org>
1399
986ec8f2 1400 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 1401 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
1402 glyph matrices etc. in a core dump.
1403
92a25631
GM
1404 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
1405 (syms_of_xdisp): Initialize them.
1406 (handle_single_display_prop): Don't change point, bind `object',
1407 `position', and `buffer-position' instead to the object having the
2ee1aa00 1408 `display' property, position in the object and position in the buffer.
92a25631 1409
9584e63a
GM
1410 * fileio.c (Finsert_file_contents): Don't change the multibyteness
1411 of the buffer if REPLACE is non-nil.
1412
d38633a3
GM
14132001-08-29 Gerd Moellmann <gerd@gnu.org>
1414
1415 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
1416
f4fccc1e
EZ
14172001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
1418
1419 * w32term.c (x_set_glyph_string_background_width)
1420 (show_mouse_face): Track the last changes in xterm.c.
1421
eaaa65b0
GM
14222001-08-28 Gerd Moellmann <gerd@gnu.org>
1423
7b0870b2
GM
1424 * xterm.c (x_set_glyph_string_background_width): Set the glyph
1425 string's background width so that multi-line mouse-face is drawn
1426 to the right edge of the window.
1427 (show_mouse_face): Set the row's mouse_face_p flag after drawing
1428 glyphs.
1429
6b6e2422 1430 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 1431 before inserting/writing glyphs.
6b6e2422 1432
eaaa65b0
GM
1433 * xdisp.c (display_mode_element): Use string_byte_to_char to
1434 determine character positions in strings, use chars_in_text
1435 instead of strwidth.
1436 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
1437 a matrix as parameter; this is easier to use from GDB.
1438
9ad62cf8
MB
14392001-08-28 Miles Bader <miles@gnu.org>
1440
2ee1aa00
SM
1441 * textprop.c (Fprevious_single_char_property_change)
1442 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 1443
32171635
GM
14442001-08-27 Gerd Moellmann <gerd@gnu.org>
1445
47d57b22
GM
1446 * fileio.c (Finsert_file_contents): Allocate, restore, and
1447 free composition data in the case of REPLACE not being nil.
1448
1449 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
1450 there exist overlay strings with newlines at POS.
1451 (text_outside_line_unchanged_p): Return 0 if changes start at
1452 START and overlays exist at START. Likewise for END.
1453 (try_window_id): Give up if init_to_row_end returns 0.
1454
32171635
GM
1455 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
1456 unconditionally.
1457
e1249666
GM
14582001-08-24 Gerd Moellmann <gerd@gnu.org>
1459
33954c45
GM
1460 * keymap.c (access_keymap): Return the cdr of the binding of
1461 a generic character instead of its definition (KEY . BINDING).
1462
e1249666
GM
1463 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
1464 to 0 also in the REPLACE case.
1465
fb4c6c96
AC
14662001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
1467
1468 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
1469 open to determine whether file is readable (as for DOS_NT).
1470
59ecf80b
GM
14712001-08-23 Gerd Moellmann <gerd@gnu.org>
1472
1473 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
1474 coding.type is coding_type_no_conversion or coding_type_raw_text,
1475 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
1476 non-nil instead of just setting enable_multibyte_characters in the
1477 buffer to nil.
1478
40e33037
GM
14792001-08-22 Gerd Moellmann <gerd@gnu.org>
1480
374388c3
GM
1481 * dispextern.h (struct face_cache): Add member
1482 menu_face_changed_p.
1483
1484 * xfaces.c (menu_face_changed_default): New variable.
1485 (menu_face_changed_count): Variable removed.
1486 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
1487 the menu_face_changed_default flag, otherwise set the FRAME's
1488 menu_face_changed_p flag if the `menu' face has been changed.
1489 Prevent calling set_font_frame_param if FRAME is t.
1490 (make_face_cache): Initialize cache's menu_face_changed_p
1491 from menu_face_changed_default.
1492 (realize_basic_faces): Look into the frame's face cache to
1493 determine if the menu appearance needs updating.
1494
40e33037
GM
1495 * keymap.c (access_keymap): Fix last change to not consider
1496 IDX when it has modifiers.
1497
859ea4b8
GM
14982001-08-21 Gerd Moellmann <gerd@gnu.org>
1499
1500 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
1501 . BINDING) exists, where GENERIC-CHAR is the generic character of
1502 the charset of IDX, return BINDING unless there exists a binding
1503 for IDX itself.
1504
e8660d73
GM
15052001-08-16 Gerd Moellmann <gerd@gnu.org>
1506
cca1b1d7
GM
1507 * xrdb.c (SYSV): Don't define on Solaris 2.
1508 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
1509
e8660d73 1510 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 1511 of the screen line, not text line, containing IT's current position.
e8660d73 1512
93aba6fc
GM
15132001-08-15 Gerd Moellmann <gerd@gnu.org>
1514
288d4e06
GM
1515 * window.c (window_scroll_pixel_based): Don't recenter if
1516 PT is partially visible in the window.
1517
3452efc2
SM
1518 * xterm.c (expose_window_tree, expose_window, expose_line):
1519 Return 1 when overwriting mouse-face.
82f053ab
GM
1520 (expose_frame): If mouse-face was overwritten, redo it.
1521
93aba6fc
GM
1522 * xfaces.c (x_update_menu_appearance): Don't call
1523 set_frame_menubar, let the next redisplay do it.
1524
858a55c1
AI
15252001-08-14 Andrew Innes <andrewi@gnu.org>
1526
1527 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
1528 drawing glyph string.
1529
3a990b67
EZ
15302001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
1531
1532 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
1533 running HI-UX/MPP.
1534
04386463
GM
15352001-08-14 Gerd Moellmann <gerd@gnu.org>
1536
1537 * xfaces.c (x_update_menu_appearance): Save and restore value of
1538 interrupt_input_blocked.
1539
3e6385a4
GM
15402001-08-13 Gerd Moellmann <gerd@gnu.org>
1541
b0e619b4
GM
1542 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
1543 a line start, move back to the line start.
3452efc2 1544
0de73d5a
GM
1545 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
1546 exactly when a mini-buffer is active.
1547
3e6385a4
GM
1548 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
1549 in units of 1/8 character on non window-system frames.
1550 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
1551
d1b5f629
EZ
15522001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
1553
1554 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
1555 a doc string.
1556
eaa2319f
GM
15572001-08-09 Gerd Moellmann <gerd@gnu.org>
1558
8e3189f0
GM
1559 * keyboard.c (Vpre_help_message): New variable.
1560 (syms_of_keyboard): Initialize and staticpro it.
1561 (show_help_echo): Record current message before displaying a
1562 help-echo, and restore that message when clearing the help.
1563
eaa2319f
GM
1564 * xfns.c (x_create_im): Remove prototype.
1565
1566 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
1567
1568 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 1569
eaa2319f
GM
15702001-08-08 Gerd Moellmann <gerd@gnu.org>
1571
1572 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 1573 windows whose height has changed, disable partially visible lines.
eaa2319f 1574
17fdcfc8
GM
15752001-08-07 Gerd Moellmann <gerd@gnu.org>
1576
22d01aed 1577 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 1578 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 1579
17fdcfc8
GM
1580 * xdisp.c (start_display): Don't try to determine the continuation
1581 lines width if lines are truncated. It's superfluous and leads to
1582 incorrect results if POS is not visible in the window after
1583 reseating the iterator at the previous line start.
1584
8e3fe78e
GM
15852001-08-06 Gerd Moellmann <gerd@gnu.org>
1586
1587 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1588
98a8938c
GM
15892001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1590
1591 * alloc.c (init_stack): Remove declaration.
1592
18f9986a
GM
15932001-08-03 Gerd Moellmann <gerd@gnu.org>
1594
5e1f85e0
GM
1595 * keyboard.c (read_key_sequence): Check that key is an integer
1596 before comparing it with quit_char.
1597 (add_command_key): Use larger_vector.
1598 (read_char_x_menu_prompt): Instead of converting symbol and
1599 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 1600 which cannot be confused with valid events.
5e1f85e0
GM
1601 (read_char): When reading from Vunread_command_events, check for
1602 events of the form (EVENT . disabled) instead of
1603 (EVENT . nil).
1604
18f9986a
GM
1605 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
1606 a float, determine the max height from the frame's height.
1607
fbc7f2a6
GM
16082001-08-02 Gerd Moellmann <gerd@gnu.org>
1609
1610 * xdisp.c (redisplay_internal): Take message_cleared_p into
1611 account only if minibuf_level == 0.
1612
81b1a79d
GM
16132001-08-01 Gerd Moellmann <gerd@gnu.org>
1614
e5c60873
GM
1615 * xdisp.c (redisplay_internal): Add a check for the last
1616 displayed message.
3452efc2 1617
6e019995
GM
1618 * xdisp.c (message_cleared_p): New variable.
1619 (clear_message): Set message_cleared_p when clearing the current
1620 message.
1621 (redisplay_internal): Look at message_cleared_p to capture
1622 the case that the echo area should be cleared.
1623
308a74d8
GM
1624 * keyboard.c (command_loop_1): Fix spelling of
1625 resize_echo_area_exactly.
1626
3452efc2 1627 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
1628
1629 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
1630
81b1a79d
GM
1631 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
1632 current matrix when the window gets smaller.
1633
ada329e6
EZ
16342001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
1635
1636 * print.c (strout): Cast the character passed to insert_char to
1637 unsigned char, to avoid sign extension when it is promoted to int.
1638
ed86208c
GM
16392001-07-31 Gerd Moellmann <gerd@gnu.org>
1640
1641 * fileio.c (Finsert_file_contents): Don't treat a return value
1642 of 0 from emacs_read as an IO error.
1643
6594ac22
GM
16442001-07-30 Gerd Moellmann <gerd@gnu.org>
1645
cef68af5
GM
1646 * keyboard.c (abs): New macro.
1647 (double_click_fuzz): New variable.
1648 (make_lispy_event): Use it to determine what makes a double-click.
1649 (syms_of_keyboard): DEFVAR_INT it.
1650
6594ac22
GM
1651 * xmenu.c (set_frame_menubar): Take into account that
1652 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
1653 <raeburn@gnu.org>.
1654
75c5350a
GM
16552001-07-27 Gerd Moellmann <gerd@gnu.org>
1656
1657 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
1658
1659 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
1660 of row's visible height.
1661
1662 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
1663 deal with the first overlay string having an image `display' property.
1664 (try_window_reusing_current_matrix, compute_line_metrics):
1665 Fix computation of row's visible height for the case that part of the
75c5350a
GM
1666 row is invisible above and part of the row is at the same time
1667 invisible below the window.
1668
ac49effe
GM
16692001-07-26 Gerd Moellmann <gerd@gnu.org>
1670
1671 * xfns.c (x-show-tip): Doc fix.
3452efc2 1672
ac49effe
GM
1673 * xfns.c (Vx_max_tooltip_size): New variable.
1674 (syms_of_xfns): DEFVAR_LISP it.
1675 (Fx_show_tip): Set frame's window_width to the width of the
1676 window. Use a maximum tooltip size specified by
1677 Vx_max_tooltip_size, if that has valid contents.
1678 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 1679
8c3b00cb
AI
16802001-07-26 Andrew Innes <andrewi@gnu.org>
1681
1682 * w32term.c (x_display_list): New variable.
1683 (w32_term_init): Set it.
1684
1685 * w32term.h (x_display_list): New extern.
1686
16098288
GM
16872001-07-26 Gerd Moellmann <gerd@gnu.org>
1688
1689 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
1690 is non-nil, instead of when redisplaying_p is non-zero.
1691 See comment there.
16098288
GM
1692 (mark_window_display_accurate_1): Add an assertion.
1693
64c5be50
GM
16942001-07-25 Gerd Moellmann <gerd@gnu.org>
1695
e743f599
GM
1696 * dispextern.h (struct it): Increase size of ctl_chars to 16.
1697
563b384d
GM
1698 * xfns.c (Fx_file_dialog): Block/unblock input while processing
1699 events so that we get a chance of processing expose events.
1700
64c5be50
GM
1701 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
1702
296808a5
GM
17032001-07-24 Gerd Moellmann <gerd@gnu.org>
1704
1705 * xfns.c (valid_image_p): Protect better against invalid image
1706 specifications. Previous code could signal an error.
1707
5247262a
GM
17082001-07-23 Gerd Moellmann <gerd@gnu.org>
1709
3452efc2 1710 * indent.c (current_column): Fix column computation in the
f1004faf
GM
1711 presence of display table entries.
1712 (current_column_1, Fmove_to_column, compute_motion): Likewise.
1713
dd42b31a
GM
1714 * dispnew.c (adjust_glyph_matrix): In the optimization for
1715 windows whose height has changed, use the new window height
1716 to compute which rows to invalidate.
1717
9e5a7f2a
GM
1718 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
1719 (MAX_10_EXP): New macro.
1720 (Fformat): Use it.
1721
5247262a
GM
1722 * coding.c (code_convert_region): Handle the multibyte case if
1723 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
1724
177ab8ce
GM
17252001-07-20 Gerd Moellmann <gerd@gnu.org>
1726
6e07c0a5
GM
1727 * dispextern.h (struct face): Change type of `stipple' to
1728 int; it's an ID.
1729
177ab8ce
GM
1730 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
1731
b5b80599
GM
17322001-07-19 Gerd Moellmann <gerd@gnu.org>
1733
4e2a256b
GM
1734 * dispnew.c (update_window): Don't set the cursor at the end
1735 of the update if display update has been paused.
1736
3452efc2 1737 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 1738
c1fd9232
KR
17392001-07-18 Ken Raeburn <raeburn@gnu.org>
1740
1741 * fns.c (Fset_char_table_default): Check that a charset is defined
1742 before checking its dimension.
1743
928a85c1
KR
17442001-07-17 Ken Raeburn <raeburn@gnu.org>
1745
1746 * coding.c (setup_coding_system): Don't do any designation based
1747 on reg_bits if charset is not yet defined.
1748
fb4c6c96 1749 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
1750 pointer, using eassert.
1751
de11c1ea
GM
17522001-07-17 Gerd Moellmann <gerd@gnu.org>
1753
3452efc2
SM
1754 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
1755 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 1756
467f1209
GM
17572001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
1758
1759 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
1760
c3d6be34
GM
17612001-07-16 Gerd Moellmann <gerd@gnu.org>
1762
c1d61a7d
GM
1763 * fileio.c (unwind_read): Function removed.
1764 (read_non_regular, read_non_regular_quit): New functions.
1765 (Finsert_file_contents): When reading from non-regular files,
1766 arrange to catch a `quit' and terminate the loop. Rearrange
1767 code so that a `quit' when reading from a regular file doesn't
1768 insert text in the buffer.
1769
c3d6be34
GM
1770 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
1771 Clear faces afterwards.
1772 (clear_font_table): Take a x_display_info parameter. Don't free
1773 fonts being the default font of any frame on the given display.
1774
e06aa1f9
GM
17752001-07-13 Gerd Moellmann <gerd@gnu.org>
1776
1777 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
1778 instead of CHAR_STRING which can signal an error.
1779
1780 * charset.c (char_to_string_1): Extracted from char_to_string.
1781 Return -1 instead of signaling an error.
1782 (char_to_string): Use it.
1783
1784 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
1785
176c92e6
SM
17862001-07-12 Stefan Monnier <monnier@cs.yale.edu>
1787
1788 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
1789 is t, don't try to append anything to it.
1790
1c56232f
EZ
17912001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
1792
1793 * dired.c (file_name_completion): Pass dp->d_name to
1794 Fstring_match, not elt, which is always nil here.
1795
1d2b2268
GM
17962001-07-12 Gerd Moellmann <gerd@gnu.org>
1797
1798 * xselect.c (x_decline_selection_request): Handle errors
1799 caused by receivers that have vanished.
1800
1801 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
1802 ignoring events on foreign windows in #if 0. Always dispatch
1803 the event after checking it with x_handle_property_notify.
1804
1805 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
1806 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
1807 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
1808 (toplevel): Add prototypes for file-local functions.
1809 (x_atom_to_symbol): Remove DPYINFO parameter.
1810
fe5a0162
SM
18112001-07-11 Stefan Monnier <monnier@cs.yale.edu>
1812
1813 * w32menu.c (menubar_selection_callback, w32_menu_show):
1814 Initialize `entry' to nil.
1815 (w32_dialog_show): Remove unused `save_wv' variable.
1816 (name_is_separator): Recognize "--:foo" and "--foo-bar".
1817
a777242c
GM
18182001-07-11 Gerd Moellmann <gerd@gnu.org>
1819
8ee5b6a3
GM
1820 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
1821
d0e2444e
GM
1822 * fileio.c (unwind_read): Print a message when discarding inserted
1823 text or switching the buffer to unibyte. Change parameter.
1824 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 1825
a777242c
GM
1826 * fileio.c (unwind_read): New function.
1827 (Finsert_file_contents): Record it as unwind-function for
1828 the case that reading is interrupted by C-g.
1829
ae794295
GM
18302001-07-10 Gerd Moellmann <gerd@gnu.org>
1831
fe5a0162 1832 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
1833 update when scrolling_window returns 0.
1834
6b05fae3
GM
1835 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
1836
1837 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 1838 for the case that x_decode_color signals an error.
6b05fae3 1839
ae794295
GM
1840 * xdisp.c (add_to_log): Do nothing if called asynchronously.
1841
bb6e8cee
GM
18422001-07-09 Gerd Moellmann <gerd@gnu.org>
1843
1844 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
1845 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
1846 around ioctls.
1847
36b40a8a
EZ
18482001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
1849
24b97d4b
EZ
1850 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
1851 doc string line for dos-timezone-offset.
1852
36b40a8a
EZ
1853 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
1854 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
1855 (syms_of_msdos): Add \n\ at the end of a line in the doc string
1856 line for dos-unsupported-char-glyph.
36b40a8a
EZ
1857
1858 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
1859
0967b4b0
GM
18602001-07-05 Gerd Moellmann <gerd@gnu.org>
1861
f25cfe53
GM
1862 * sound.c: Include Emacs' header files with #include "...".
1863
0967b4b0
GM
1864 * eval.c (specbind): Additionally record the buffer that was
1865 current when a buffer-local or frame-local variable was bound.
1866
c347a1c3
GM
18672001-07-04 Gerd Moellmann <gerd@gnu.org>
1868
1869 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
1870 to unibyte characters in unibyte buffers.
1871
6332ca8a
GM
18722001-07-03 Gerd Moellmann <gerd@gnu.org>
1873
38472d44
GM
1874 * eval.c (specbind): If SYMBOL has a frame-local binding, record
1875 the frame on the binding stack. Change format of entries for
1876 local bindings on the binding stack to '(SYMBOL . WHERE)'.
1877 (unbind_to): Handle unbinding a frame-local variable.
1878
6332ca8a 1879 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 1880 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
1881 (dump_glyph_row): Print row's continuation_lines_width.
1882 (try_window_id): Take the shortcut if ZV is visible in the
1883 window, but there are actually no changes at ZV.
1884
63d1b174
GM
18852001-07-02 Gerd Moellmann <gerd@gnu.org>
1886
4c175203
GM
1887 * xterm.h (x_free_dpy_colors): Add prototype.
1888
1889 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
1890 right number of arguments.
1891
0b54ce28
GM
1892 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
1893 ($(lwlibdir)TAGS): New target.
4c175203 1894 (TAGS): Fix dependency list.
0b54ce28 1895
63d1b174
GM
1896 * xterm.c (x_list_fonts): Make sure XFreeFont is called
1897 with input blocked.
1898
d827466c
GM
18992001-06-30 Gerd Moellmann <gerd@gnu.org>
1900
1901 * emacs.c (main): Remove extern declaration for sys_nerr, which
1902 isn't used and causes a compilation error with GCC 3.0 on
1903 FreeBSD 4.3.
1904
b5cb1ada
GM
19052001-06-27 Gerd Moellmann <gerd@gnu.org>
1906
a5d3ec3f 1907 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 1908 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
1909 (toplevel): Include <signal.h> and syssignal.h.
1910
b5cb1ada
GM
1911 * sound.c (vox_configure, vox_close): Turn off atimers
1912 around ioctls.
1913
d9bad487
GM
19142001-06-26 Gerd Moellmann <gerd@gnu.org>
1915
fdbb67fe
GM
1916 * keyboard.c (read_char) <non_reread>: Record the previous idle
1917 start time before calling timer_stop_idle.
1918 (read_char) <reread_first>: After processing a help-echo event,
1919 restore the previous idle start time.
1920
d9bad487
GM
1921 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
1922 the start of invisible text.
1923 (setup_for_ellipsis): New function.
1924 (next_overlay_string): After all overlay strings have been
1925 processed, display an ellipsis if necessary.
1926 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
1927 (push_it): Initialize display_ellipsis_p on the iterator's stack.
1928
1929 * dispextern.h (struct iterator_stack_entry): Add member
1930 display_ellipsis_p.
1931
2b9c25e0
GM
19322001-06-25 Gerd Moellmann <gerd@gnu.org>
1933
80de57df
GM
1934 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
1935 on the value of the wait-for-wm frame parameter.
1936
1937 * xterm.h (struct x_output): Add member wait_for_wm.
1938
1939 * xfns.c (Qwait_for_wm): New variable.
1940 (x_frame_parms): Add entry for `wait-for-wm".
1941 (x_set_wait_for_wm): New function.
1942 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
1943 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
1944
2b9c25e0
GM
1945 * xdisp.c (try_window_id) <all changes below window end>: Don't
1946 take this shortcut if ZV is visible in the window.
1947 (try_window_id): When checking for window start being in changed
1948 text, don't check that the buffer's size has changed.
1949
f772775c
RS
19502001-06-23 Richard M. Stallman <rms@gnu.org>
1951
1952 * minibuf.c (Fcompleting_read): Doc fix.
1953
fa9090b8
GM
19542001-06-19 Gerd Moellmann <gerd@gnu.org>
1955
1956 * composite.c (Ffind_composition_internal): Accept ZV
1957 and a string's end position as POS.
1958
f6f1beba
GM
19592001-06-18 Gerd Moellmann <gerd@gnu.org>
1960
1961 * composite.c (Ffind_composition_internal): Check POS
1962 for validity.
1963
0ae83348
EZ
19642001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
1965
1966 * editfns.c (Fmessage_box): If the frame is not under a window
1967 system, output the message in the echo area.
1968
e4cdc335
RS
19692001-06-14 Richard M. Stallman <rms@gnu.org>
1970
1971 * xdisp.c (try_window_id): When EOB is visible, don't treat
1972 insertion at EOB as if it were "off the bottom of the screen."
1973
a55a5f3c
AI
19742001-06-11 Andrew Innes <andrewi@gnu.org>
1975
1976 * w32proc.c (create_child): Add new parameter is_gui_app.
1977 (w32_executable_type): Add new parameter is_gui_app.
1978 (sys_spawnve): Use it.
1979 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
1980 SIGQUIT. This matches better how the signals are interpreted by
1981 MSVC compiled programs.
1982 (syms_of_ntproc): Update docstring.
1983
1b85dc1c
SM
19842001-06-02 Stefan Monnier <monnier@cs.yale.edu>
1985
1986 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
1987 well otherwise note_mouse_highlight might optimize away highlighting
1988 if we pass over that same overlay again.
1989
b75f8eab
EZ
19902001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
1991
1992 * lread.c (Fload): Document that the argument is run via
1993 substitute-in-file-name.
1994
94843cc1
GM
19952001-05-31 Gerd Moellmann <gerd@gnu.org>
1996
b14659e6
GM
1997 * Makefile.in (bootstrap-doc): New target.
1998 (bootstrap-emacs): Depend on it.
1999
0894672f
GM
2000 * fileio.c (Fdo_auto_save): Don't try to create the directory of
2001 auto-save-list-file-name when shutting down Emacs, because
2002 creating the directory might signal an error, and leaves
2003 Emacs in a strange state.
2004
94843cc1
GM
2005 * term.c: (tty_cursor_hidden): New variable.
2006 (update_begin): Don't call tty_hide_cursor. Clean up.
2007 (update_end, set_terminal_window, set_scroll_region): Clean up.
2008 (ring_bell, reset_terminal_modes): Clean up.
2009 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
2010 on tty_cursor_hidden.
2011 (write_glyphs): Call tty_hide_cursor.
2012
db3a49a6
SM
20132001-05-30 Stefan Monnier <monnier@cs.yale.edu>
2014
2015 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
2016
8bd189fb
GM
20172001-05-30 Gerd Moellmann <gerd@gnu.org>
2018
6f1be3b9
GM
2019 * xfns.c (enum image_value_type): New enumerator
2020 IMAGE_STRING_OR_NIL_VALUE.
2021 (parse_image_spec): Handle it.
2022 (xbm_format, pbm_format): Use it for :foreground and :background.
2023 (xbm_load, pbm_load): Check for nil color names.
2024
8bd189fb
GM
2025 * xterm.c (note_mouse_highlight): If an overlapping overlay
2026 exists, but we find that we highlight the same overlay as before,
2027 don't do the highlighting again.
2028
7bdba03c
GM
20292001-05-29 Gerd Moellmann <gerd@gnu.org>
2030
4c329aa8
GM
2031 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
2032 Protect unibyte strings created by replacing their multibyte
2033 equivalents in menu_items.
2034
e15e2828
GM
2035 * keymap.c (Fsingle_key_description): NUL-terminate the string
2036 buffer before calling build_string.
2037
7bdba03c
GM
2038 * callproc.c (Fcall_process): Deal with decode_coding returning
2039 CODING_FINISH_INCONSISTENT_EOL.
2040
89c8dc6c
GM
20412001-05-28 Gerd Moellmann <gerd@gnu.org>
2042
db3a49a6 2043 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
2044 an item's name with its key description in case the description
2045 is a multibyte string.
2046
2047 * keymap.c (Fsingle_key_description): Create a multibyte string
2048 only if necessary.
2049
eb04d6cd
GM
2050 * macros.c (Fstart_kbd_macro): Doc fix.
2051
8bd6307f
GM
2052 * xterm.c (cursor_in_mouse_face_p): New function.
2053 (x_draw_stretch_glyph_string): Use it to choose a different GC
2054 when drawing a cursor within highlighted text.
2055
e26c4089
GM
2056 * editfns.c (char_property_eq): Put in #if 0.
2057
2058 * indent.c (string_display_width): Put in #if 0.
2059
2060 * lread.c (Fload): Remove unused label.
2061
89c8dc6c
GM
2062 * termcap.c (speeds): Put in #if 0.
2063
9a1211f2
GM
20642001-05-18 Gerd Moellmann <gerd@gnu.org>
2065
29148a3f
GM
2066 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
2067
9a1211f2
GM
2068 * xfaces.c (xlfd_point_size): Don't divide pixel size from
2069 transformation matrix by 10.
2070
09393d07
GM
20712001-05-16 Gerd Moellmann <gerd@gnu.org>
2072
2073 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
2074 only if it's equal to the former foreground pixel color.
db3a49a6 2075 (x_set_foreground_color, x_set_background_color)
09393d07
GM
2076 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
2077
460e6bae
GM
20782001-05-16 Dave Love <fx@gnu.org>
2079
2080 * insdel.c (signal_before_change, signal_after_change): Consider a
2081 local change hook which changes the buffer.
99c78ce8
GM
2082
2083 * process.c (read_process_output): Don't call signal_after_change
2084 and update_compositions after insert_from_string_before_markers.
2085
dbcf3c03
GM
20862001-05-16 Gerd Moellmann <gerd@gnu.org>
2087
a90b3d3c
GM
2088 * xfaces.c (split_font_name): Use the right field when
2089 checking for `[...]' syntax.
2090
1b7818b4
GM
2091 * buffer.c (copy_overlays): New function.
2092 (clone_per_buffer_values): Use it.
2093
2094 * buffer.h (OVERLAY_PLIST): New macro.
2095
9bae8781
GM
2096 * keymap.c (Fsingle_key_description): Replace a build_string with
2097 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
2098
dbcf3c03
GM
2099 * fontset.c (Ffontset_info): Check that face is non-null
2100 before accessing its fields.
2101
8a1ae4dd
GM
21022001-05-15 Gerd Moellmann <gerd@gnu.org>
2103
18a0a39e
GM
2104 * keyboard.c (read_key_sequence): Prevent generating a fake
2105 prefix key twice.
2106
e335b66a
GM
2107 * xfaces.c (split_font_name): Handle `[...]' for the right
2108 font name fields.
2109
8a1ae4dd
GM
2110 * ccl.c (ccl_driver): Don't copy remaining bytes in case
2111 of CCL_STAT_INVALID_CMD.
2112
3cf80731
SM
21132001-05-14 Stefan Monnier <monnier@cs.yale.edu>
2114
33568849
SM
2115 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
2116 in <var> has no default value yet.
2117
3cf80731
SM
2118 * xfaces.c (try_alternative_families): First try the FAMILY.
2119 And if nothing is found in the end, try again with scalable fonts.
2120 (try_font_list): Let try_alternative_families do a bit more of
2121 the work. Only use FAMILY if it is not nil.
2122 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
2123
933b0249
GM
21242001-05-14 Gerd Moellmann <gerd@gnu.org>
2125
58e5af83
GM
2126 * xterm.c (note_mouse_highlight): Avoid changing the mouse
2127 pointer shape when show_mouse_face has already done it.
33568849 2128
58e5af83 2129 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
2130 full-width rows.
2131
7b16a6bf
GM
2132 * xfaces.c (split_font_name): Make sure to leave the loop
2133 with the right value of `i'.
3cf80731 2134
933b0249
GM
2135 * xfaces.c (split_font_name): Handle matrix transformations
2136 in the pixel and point size fields of XLFD font names.
2137 (xlfd_point_size): Likewise.
2138
dddcbf00
EZ
21392001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
2140
3cf80731 2141 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
2142 (x_to_w32_font): Add prototype.
2143
7689ef0b
EZ
2144 * regex.c (malloc, realloc, free) [emacs]: Undefine before
2145 redefining, to avoid compiler warnings.
2146
e7c15bba
EZ
2147 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
2148
dddcbf00
EZ
2149 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
2150 (w32_get_bdf_glyph): Cast between unsigned char and char when
2151 passing arguments to subroutines, to shut up compiler warnings.
2152 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
2153 GET_HEX_VAL.
2154
2155 * xfaces.c: Include keyboard.h before frame.h, not after it.
2156
2157 * widget.c: Include keyboard.h before frame.h.
2158
2159 * w32term.h (struct image, struct face): Forward declaration, to
2160 avoid compiler warnings.
2161
7bd2d083
GM
21622001-05-11 Gerd Moellmann <gerd@gnu.org>
2163
47e72862
GM
2164 * keyboard.c (read_key_sequence): Don't modify events when
2165 generating fake prefix keys (mode-line, scroll-bar, ...) since
2166 this prevents proper processing of such events when pushed back
2167 into unread-command-events.
2168
dd5f324b
GM
2169 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
2170 actually redrawn. Make the function static.
2171 (note_mouse_highlight): Fix a case where the mouse cursor
2172 was changed back to the text cursor.
2173
2174 * xterm.h (clear_mouse_face): Remove prototype.
2175
d88a79d4
GM
2176 * xdisp.c (try_window_id): Fix the fix and set the right
2177 window_end_vpos.
2178
2179 * xdisp.c (try_window_id): Fix computation of window end in the
2180 case that lines were deleted at the end of the window. Add some
2181 more debug_method_adds.
0416532f 2182
7bd2d083
GM
2183 * xfaces.c (try_alternative_families): New function.
2184 (try_font_list): Use it. If ATTRS specifies a family, check
2185 fonts from that family first.
2186 (choose_face_font): Remove code setting the family part of
2187 the pattern to nil.
2188
23fca891
GM
21892001-05-10 Gerd Moellmann <gerd@gnu.org>
2190
ff9aa2ca
GM
2191 * xdisp.c (try_window_id): Fix case of all changes before
2192 the window start.
7b2654b5 2193
23fca891
GM
2194 * xdisp.c (try_window_id): Add some xasserts.
2195
e9726794
GM
21962001-05-09 Gerd Moellmann <gerd@gnu.org>
2197
2198 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
2199
9e53a675
GM
22002001-05-09 Dave Love <fx@gnu.org>
2201
2202 * xdisp.c (GIVE_UP): Fix for K&R C.
2203
0d487c52
GM
22042001-05-09 Gerd Moellmann <gerd@gnu.org>
2205
fe88d421
GM
2206 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
2207
0d487c52
GM
2208 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
2209 back to the text cursor shape without need.
2210
1e9fc92e
GM
22112001-05-07 Gerd Moellmann <gerd@gnu.org>
2212
a2a6232e
GM
2213 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
2214
2215 * dispextern.h (inverse_video): Declare extern.
2216
1e9fc92e
GM
2217 * keyboard.c (delete_kboard): Handle the case that selected_frame
2218 has been deleted in the course of x_connection_closed.
2219
12949a7f
EZ
22202001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
2221
7b2654b5
SM
2222 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
2223 Fix the change from 2001-04-30.
12949a7f 2224
2fa2f461
GM
22252001-05-03 Gerd Moellmann <gerd@gnu.org>
2226
a779d213
GM
2227 * xfns.c (file_dialog_unmap_cb): New function.
2228 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
2229 where a dialog is closed via the window manager.
2230
7b2654b5 2231 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
2232 the window start or all below the window end mostly rewritten.
2233 (redisplay_window): Move the tests if try_window_id is
2234 applicable to try_window_id.
2235 (GIVE_UP): New macro.
2236
3356df63
GM
22372001-05-02 Gerd Moellmann <gerd@gnu.org>
2238
a39202f6 2239 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
2240 currently being updated, mark the frame garbaged.
2241 Fix computation of rows intersecting the exposed rectangle.
a39202f6 2242 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 2243
3356df63
GM
2244 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
2245 again if it has already been drawn.
2246
a9d2fd1d
SM
22472001-05-01 Stefan Monnier <monnier@cs.yale.edu>
2248
2249 * syntax.c (update_syntax_table): Check that oldi has the same
2250 properties as old_prop before deciding not to invalidate.
2251
c95fc5f1
GM
22522001-04-30 Gerd Moellmann <gerd@gnu.org>
2253
a9793e45
GM
2254 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
2255 read-only text that is so because of text properties.
2256
c95fc5f1 2257 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 2258 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
2259 windows that are components of a Lucid menu bar.
2260
5a5d9185
GM
22612001-04-27 Gerd Moellmann <gerd@gnu.org>
2262
2263 * term.c (turn_on_face): Fix reverse video handling on terminals
2264 that don't support colors.
2265
ba973f7a
GM
22662001-04-26 Gerd Moellmann <gerd@gnu.org>
2267
2268 * editfns.c (save_excursion_restore): Don't use XBUFFER on
2269 a non-buffer.
2270
8c56a983
GM
22712001-04-25 Gerd Moellmann <gerd@gnu.org>
2272
a728644c
GM
2273 * term.c (toggle_highlight): New function.
2274 (turn_on_face): Change handling of reverse video.
2275
7b2654b5
SM
2276 * process.c (wait_reading_process_input):
2277 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 2278
bfd8410f
GM
2279 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
2280 of the number of overlays to check.
2281
be2488ca
GM
2282 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
2283
8c56a983
GM
2284 * xdisp.c (try_window_id): Fix a case where window_end_pos
2285 and window_end_bytepos were not adjusted.
2286
522d42f7
GM
22872001-04-23 Gerd Moellmann <gerd@gnu.org>
2288
2289 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
2290 zero instead of -1.
2291
78c1afb6
EZ
22922001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
2293
a9d2fd1d
SM
2294 * process.c (wait_reading_process_input) [!subprocesses]:
2295 Don't reference waiting_for_user_input_p, it's not defined in the
2296 branch without async subprocesses support.
78c1afb6 2297
a2fab450
GM
22982001-04-19 Gerd Moellmann <gerd@gnu.org>
2299
a122a38e
GM
2300 * keyboard.c (delete_kboard): Prevent a dangling reference
2301 from current_kboard to KB, which is freed.
2302
a9d2fd1d
SM
2303 * process.c (wait_reading_process_input):
2304 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
2305 read_key_sequence aware of buffer changes from under it.
2306
0f8d6dc7
GM
23072001-04-18 Gerd Moellmann <gerd@gnu.org>
2308
eeffb293
GM
2309 * xfaces.c (Qscalable_fonts_allowed): New variable.
2310 (realizing_basic_faces_p): Removed.
2fa2f461
GM
2311 (x_face_list_fonts): Special handling for realizing_basic_faces_p
2312 removed.
eeffb293 2313 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
2314 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
2315 for scalable-fonts-allowed to t.
eeffb293 2316
0f8d6dc7
GM
2317 * fileio.c (Finsert_file_contents): If the file size returned from
2318 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 2319 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 2320
eec2d1de
EZ
23212001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
2322
2323 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
2324 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
2325 (__memalign_hook): Make the two prototypes consistent.
2326
f4f480bd
GM
23272001-04-17 Gerd Moellmann <gerd@gnu.org>
2328
2329 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
2330 matrix of mini-windows.
2331
52283633
SM
23322001-04-12 Stefan Monnier <monnier@cs.yale.edu>
2333
2334 * intervals.c (find_interval): Don't rebalance during signal handling.
2335
ec2423c9
GM
23362001-04-11 Gerd Moellmann <gerd@gnu.org>
2337
30cb0001 2338 * fns.c: Include blockinput.h.
52283633 2339
ec2423c9
GM
2340 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
2341
719d83ad
GM
23422001-04-10 Gerd Moellmann <gerd@gnu.org>
2343
60f8d735
GM
2344 * fns.c (Fcompare_strings): Fix return values.
2345
afffeb57
GM
2346 * window.c (window_scroll): Change the meaning of N to mean
2347 N screen-fulls or N lines.
2348 (window_scroll_pixel_based, window_scroll_line_based)
2349 (scroll_command, Fscroll_other_window): Change accordingly.
2350
52283633
SM
2351 * window.c (window_scroll_pixel_based, Frecenter):
2352 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
2353 height of the window.
2354
2355 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
2356 instead of using it.last_visible_y for the height of the window.
52283633 2357
719d83ad 2358 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 2359 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
2360
2361 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
2362 able to write to hidden and system files. From Dan Holmsand
2363 <dan@eyebee.com>.
719d83ad 2364
8ddf3ee1
GM
2365 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
2366 Holmsand <dan@eyebee.com>.
719d83ad 2367
522ed7fb
GM
23682001-04-09 Gerd Moellmann <gerd@gnu.org>
2369
9170e5d4
GM
2370 * fns.c (Fplist_get, Fplist_put): Add QUITs.
2371
522ed7fb
GM
2372 * window.c (window_internal_height): Return 1 less if the
2373 window has a header line.
2374
2375 * xdisp.c (try_window_id): When scrolling on a terminal, take
2376 the change of window_internal_height into account.
2377
ceeb3d7d
EZ
23782001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
2379
2380 * gmalloc.c (align): If the argument SIZE would overflow
2381 __malloc_ptrdiff_t, fail right away.
2382
63685b9d
GM
23832001-04-06 Gerd Moellmann <gerd@gnu.org>
2384
2385 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
2386 Make sure the tooltip is completely visible.
2387 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
2388
2389 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
2390
2391 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
2392
3ffb33bb
DL
23932001-04-06 Dave Love <fx@gnu.org>
2394
52283633
SM
2395 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
2396 Fix test of `from'.
3ffb33bb 2397
869fb12c
GM
23982001-04-06 Gerd Moellmann <gerd@gnu.org>
2399
52283633 2400 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 2401
869fb12c
GM
2402 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
2403
441bf856
GM
24042001-04-05 Gerd Moellmann <gerd@gnu.org>
2405
4d664b04
GM
2406 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
2407
52283633 2408 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 2409
30ca89f5
GM
2410 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
2411 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
2412
2413 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
2414 shell widget's position only if it is non-null.
2415
52283633
SM
2416 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
2417 Set f->output_data.x->widget to null after destroying it.
30ca89f5 2418
81a81c0f
GM
2419 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
2420 FILENAME to bring it in synch with the documentation.
2421
441bf856
GM
2422 * xfaces.c (realizing_basic_faces_p): Renamed from
2423 realize_default_face_p.
2424 (realize_basic_faces): Set/clear realizing_basic_faces_p.
2425 (realize_default_face): Don't set the flag.
2426
702a1e8e
GM
24272001-04-04 Gerd Moellmann <gerd@gnu.org>
2428
1013f4e3
GM
2429 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
2430
52283633
SM
2431 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
2432
1013f4e3
GM
2433 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
2434 the buffer that was used for echoing.
2435
702a1e8e
GM
2436 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
2437 (first_font_matching): Removed unused function.
2438 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
2439 (may_use_scalable_font_p): Remove parameter FONT; rename
2440 parameter NAME to FONT.
2441 (x_face_list_fonts): Fix missing bounds check.
2442 (realizing_default_face_p): New variable.
2443 (realize_default_face): Set and clear that flag.
2444 (x_face_list_fonts): When called during the realization of the
2445 default face, and no matching fonts are found when ignoring
2446 scalable fonts and fonts matching a regexp from
2447 face-ignored-fonts, try without ignoring fonts.
2448
f9dbcda4
GM
24492001-04-03 Gerd Moellmann <gerd@gnu.org>
2450
ad18ffb1
GM
2451 * xfns.c (postprocess_image): New function.
2452 (lookup_image): Call it for all image types except PostScript.
2453 (x_kill_gs_process): Call postprocess_image.
2454
f9dbcda4
GM
2455 * xterm.c (x_use_underline_position_properties): New variable.
2456 (x_draw_glyph_string): Use it.
2457 (syms_of_xterm): DEFVAR_BOOL it.
2458
651f03b6
GM
24592001-04-02 Gerd Moellmann <gerd@gnu.org>
2460
2461 * xterm.c (x_alloc_nearest_color_1): New function.
2462 (x_alloc_nearest_color): Use it.
2463 (x_color_cells): Take a Display as argument, instead of a frame.
2464 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
2465 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
2466 (x_initialize): Register cvt_string_to_pixel as resource converter
2467 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
2468
73d75a62
GM
24692001-03-30 Gerd Moellmann <gerd@gnu.org>
2470
b2046df8
GM
2471 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
2472 (set_iterator_to_next): If a string from a display property ends,
2473 consider the case that this might also be the end of an
2474 overlay string having the display property.
2475
52283633 2476 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 2477
87d8eba4
GM
2478 * xdisp.c (reseat_to_string): Undo last change.
2479
73d75a62
GM
2480 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
2481 matrix of a window when the header line changes, when
2482 new rows are allocated, or when the width changes.
2483
911a2406
EZ
24842001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
2485
52283633 2486 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 2487
aea51abe
EZ
24882001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
2489
2490 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
2491 deprecated.
2492
176bc847
GM
24932001-03-29 Gerd Moellmann <gerd@gnu.org>
2494
ed31fabf
GM
2495 * data.c (Fsubr_interactive_form): New function.
2496 (syms_of_data): Defsubr it.
2497
176bc847
GM
2498 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
2499 (live_float_p, live_misc_p): Return 1 only if the offset of the
2500 pointer in its block is >= 0.
2501
e59d0e9d
GM
25022001-03-28 Paul Eggert <eggert@twinsun.com>
2503
2504 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
2505 microseconds calcuation. Avoid double-rounding problem.
2506 In doc string, warn that the result is approximate.
2507
f827b862
GM
25082001-03-28 Gerd Moellmann <gerd@gnu.org>
2509
30a3f61c
GM
2510 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
2511 bind `inhibit-eval-during-redisplay' to t.
2512
2513 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
2514
2515 * xdisp.c (inhibit_eval_during_redisplay)
2516 (Qinhibit_eval_during_redisplay): New variables.
2517 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
2518 don't eval, return nil instead.
2519 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
2520 Initialize Qinhibit_eval_during_redisplay.
2521
e719f5ae
GM
2522 * xdisp.c (reseat_to_string): If STRING is multibyte, set
2523 the iterator's multibyte_p flag.
2524
deb2613a
GM
2525 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
2526 instead of setting it to zero; it's incremented for each frame
2527 where the menu face is changed.
2528
52283633
SM
2529 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
2530 change bottom shadow accordingly.
2531
2532 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
2533 intersections here.
2534 (expose_window): Do it here instead.
52283633 2535 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 2536
f827b862
GM
2537 * bytecode.c (BYTE_CODE_QUIT): New macro.
2538 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
2539
4bde0ebb
GM
25402001-03-27 Gerd Moellmann <gerd@gnu.org>
2541
607ec83c
GM
2542 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
2543 Give up if matrix starts in an ellipsis.
2544 (init_from_display_pos): Do nothing if POS doesn't specify
2545 a dpvec_index but the iterator has such a position.
2546
0245398f
GM
2547 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
2548
aba25348
GM
2549 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
2550 x/y position is (0, 0) after destroying the menu bar, restore
2551 its original position.
2552
4bde0ebb
GM
2553 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
2554 (init_from_display_pos): Use it.
2555 (try_window_reusing_current_matrix): Don't use cursor_row_p.
2556
8cdb267e
GM
25572001-03-26 Gerd Moellmann <gerd@gnu.org>
2558
2559 * xdisp.c (try_window_id): Undo last change.
2560
9948db79
EZ
25612001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
2562
2563 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
2564
2565 * buffer.c (syms_of_buffer): Doc fix.
2566
2eddf899
GM
25672001-03-26 Gerd Moellmann <gerd@gnu.org>
2568
2569 * xfaces.c (x_update_menu_appearance): Use local variable
2570 popup_path for setting font resources.
2571
6c145d35
EZ
25722001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
2573
6a65b1b5
EZ
2574 * frame.c (Fframe_list): Don't reference tip_frame if
2575 HAVE_WINDOW_SYSTEM is not defined.
2576
6c145d35
EZ
2577 * emacs.c (main): Update the copyright year. From Werner LEMBERG
2578 <wl@gnu.org>.
2579
d74c1900
GM
25802001-03-25 Gerd Moellmann <gerd@gnu.org>
2581
20fbd925
GM
2582 * xdisp.c (init_from_display_pos): Test invisible property
2583 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 2584
927c5b3b
GM
2585 * xdisp.c (redisplay_internal) <update one window>: Make sure
2586 last_arrow_position and last_arrow_string are set.
2587
d74c1900
GM
2588 * frame.c (Fframe_list): Don't return a tooltip frame.
2589
091f8878
GM
25902001-03-23 Gerd Moellmann <gerd@gnu.org>
2591
52283633
SM
2592 * xdisp.c (mark_window_display_accurate_1): New function,
2593 extracted from mark_window_display_accurate.
2594 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
2595 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
2596 (mark_window_display_accurate): Use it.
2597 (redisplay_internal): Use it for the selected window.
2598 (redisplay_internal): Avoid duplicate mark_window_display_accurate
2599 for the selected frame.
2600
ac90c44f
GM
2601 * xdisp.c Use make_number, for readability.
2602 (try_window_id): Disable rows below the window end.
2603 (try_window_reusing_current_matrix): Use cursor_row_p.
2604 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
2605 of rows.
2606 (init_from_display_pos): If POS specifies a position in a display
2607 vector, maybe get the iterator set up for that ellipsis.
43c09969 2608
091f8878
GM
2609 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
2610
991786dd
EZ
26112001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
2612
2613 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
2614
6c29b43c
GM
26152001-03-23 Gerd Moellmann <gerd@gnu.org>
2616
2617 * xfaces.c (x_update_menu_appearance): Use a different path
2618 for Lucid popup menus.
2619
d8731202
SM
26202001-03-22 Stefan Monnier <monnier@cs.yale.edu>
2621
2622 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
2623
2624 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
2625 (string_buffer_position): Use `make_number'.
2626
f61a541b
GM
26272001-03-22 Gerd Moellmann <gerd@gnu.org>
2628
3c9e997b
GM
2629 * xfaces.c (x_update_menu_appearance): Renamed from
2630 x_set_menu_face_resources. Use different resources for popups.
2631
2632 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
2633 (GC_CHECK_STRING_BYTES): Don't define.
2634
364cd450
GM
2635 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
2636 Removed, together with subroutines.
2637 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 2638 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 2639
d8731202
SM
2640 * dispextern.h (x_set_menu_resources_from_menu_face):
2641 Remove prototype.
364cd450 2642
d8731202 2643 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
2644 Remove calls to x_set_menu_resources_from_menu_face.
2645
d8731202
SM
2646 * xfaces.c (xm_set_menu_resources_from_menu_face):
2647 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
2648
2649 * xmenu.c: Include widget.h.
2650 (single_submenu): Return int. Some cleanup.
2651 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
2652
140330de
GM
26532001-03-21 Gerd Moellmann <gerd@gnu.org>
2654
2655 * xterm.c (x_update_window_end): Handle overwritten mouse face
2656 also for tool bar windows.
2657 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
2658 DRAW is DRAW_IMAGE_RAISED.
2659
1741905c
GM
26602001-03-20 Gerd Moellmann <gerd@gnu.org>
2661
fa88947e
GM
2662 * print.c (syms_of_print): Doc fixes.
2663
1741905c
GM
2664 * fns.c (Fmd5): Doc fix.
2665
ade0bee1
GM
26662001-03-19 Gerd Moellmann <gerd@gnu.org>
2667
357e7376
GM
2668 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
2669 Clear area of the frame not occupied by the scroll bar.
2670
c2c097cc
GM
2671 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
2672 tip frame's root window buffer to *tip* right after creating
2673 the frame.
2674
ade0bee1
GM
2675 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
2676 is an integer don't have to be for space characters.
2677
88c6e37e
GM
26782001-03-16 Gerd Moellmann <gerd@gnu.org>
2679
52283633
SM
2680 * indent.c (current_column, current_column_1, Fmove_to_column)
2681 (compute_motion): Handle characters from display vectors differently.
88c6e37e 2682
c62eed76
KH
26832001-03-15 Kenichi Handa <handa@etl.go.jp>
2684
2685 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
2686 drawing glyph string.
2687
c899e7e6
GM
26882001-03-15 Gerd Moellmann <gerd@gnu.org>
2689
d0bbfc99
GM
2690 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
2691 (command_loop_1): Undo last change.
2692
03d1a189
GM
2693 * xterm.c (fast_find_position): Return the correct vpos.
2694
c899e7e6 2695 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 2696 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
2697 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
2698 Call store_symval_forwarding with BUF null.
2699 (set_internal): Call store_symval_forwarding with the BUF
2700 parameter passed to set_internal. Formerly, the value was always
2701 set in the current buffer; the buffer recorded in specbind for
2702 this case wasn't used.
2703 (arith_driver): Reindent.
2704
52283633
SM
2705 * buffer.c (swap_out_buffer_local_variables):
2706 Call store_symval_forwarding with BUF null.
c899e7e6
GM
2707
2708 * lisp.h (store_symval_forwarding): Change prototype.
2709
2710 * eval.c (specbind): Call store_symval_forwarding with BUF null.
2711
57ac7c81
GM
27122001-03-14 Gerd Moellmann <gerd@gnu.org>
2713
697617d9
GM
2714 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
2715 FOR_DELETION. Avoid resizing the mini-window of the selected
2716 frame if FOR_DELETION is set.
2717 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
2718 (Fmake_frame_invisible): Change calls to do_switch_frame for new
2719 signature.
2720
2721 * window.c (Fset_window_configuration): Change call to
2722 do_switch_frame to new format.
2723
2724 * keyboard.c (quit_throw_to_read_char): Change call to
2725 do_switch_frame to new format.
2726
2727 * lisp.h (do_switch_frame): Change prototype.
2728
819dce0f
GM
2729 * frame.c (Fframe_parameters): In the `buffer-list' frame
2730 parameter, store the buffer list of FRAME, not the list of the
2731 selected frame.
2732
57ac7c81
GM
2733 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
2734 box just because the glyph row's full_width_p flag is set.
2735
65008712
GM
27362001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
2737
2738 * xdisp.c (highlight_trailing_whitespace): On character terminals,
2739 skip the padding blanks inserted in extend_face_to_end_of_line,
2740 before checking for trailing whitespace.
2741
159cf431
GM
27422001-03-13 Gerd Moellmann <gerd@gnu.org>
2743
52283633 2744 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
2745 Remove special handling for LessTif/Motif.
2746 (toplevel): Don't include Xm/Xm.h.
2747
52283633
SM
2748 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
2749 Remove workaround code for LessTif; it doesn't work anymore.
2750
2564ea1b 2751 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 2752 Xm/ScrollBarP.h.
afcdc0a1 2753
52283633
SM
2754 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
2755 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
2756 contemporary LessTif.
2757
52283633
SM
2758 * xfaces.c (xm_set_menu_resources_from_menu_face):
2759 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 2760
159cf431
GM
2761 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
2762 removing button grabs.
2763
c6f7429a
KH
27642001-03-13 Kenichi Handa <handa@etl.go.jp>
2765
cb82d767
KH
2766 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
2767 and clip-large-size-font as obsolete.
2768
c6f7429a
KH
2769 * lread.c (read_multibyte): Check the validity of multibyte
2770 sequence. If invalid, return the first byte.
2771
760cefb5
GM
27722001-03-12 Gerd Moellmann <gerd@gnu.org>
2773
2774 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
2775 before running the command; timer functions or process
2776 filters may have set it.
2777
5141f9d0
EZ
27782001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
2779
2780 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
2781 Doc fix.
2782
b6a15240
GM
27832001-03-12 Gerd Moellmann <gerd@gnu.org>
2784
2785 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
2786 to sprintf.
2787
95522746
GM
27882001-03-09 Gerd Moellmann <gerd@gnu.org>
2789
db14cfc5
GM
2790 * dispextern.h (string_buffer_position): Add prototype.
2791
52283633 2792 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
2793 (single_display_prop_string_p): New functions.
2794
2795 * xterm.c (note_mouse_highlight): If there's no help-echo on
2796 a string, look at the buffer text ``under'' it.
2797
2798 * keyboard.c (make_lispy_event): Add string info to the event,
2799 analogous to what's done on mode lines.
2800 (read_key_sequence): For a click on a string, consider `local-map'
2801 and `keymap' of that string.
2802
52283633
SM
2803 * keyboard.c (make_lispy_event, make_lispy_movement):
2804 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
2805
2806 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
2807
2808 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
2809 POS; return void.
2810
95522746
GM
2811 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
2812 flags argument to emacs_open; it seems to conflict with O_EXCL.
2813
898a399d
KH
28142001-03-09 Kenichi Handa <handa@etl.go.jp>
2815
28cd4910
KH
2816 * composite.h (struct composition): Change types of members;
2817 glyph_len to unsigned, width to unsigned short.
898a399d 2818
4cdf6a6c
AI
28192001-03-08 Andrew Innes <andrewi@gnu.org>
2820
2821 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
2822 menu titles.
2823
129004d3
GM
28242001-03-08 Gerd Moellmann <gerd@gnu.org>
2825
221dd3e7
GM
2826 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
2827 instead of nil.
2828
52283633 2829 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
2830 help-echo in strings.
2831 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
2832 (fast_find_string_pos): New function.
2833
52283633
SM
2834 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
2835 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
2836
2837 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
2838 Handle `mouse-face'.
2839
2840 * dispextern.h (face_at_string_position): Change prototype.
2841
52283633 2842 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 2843
129004d3
GM
2844 * keyboard.c (make_lispy_event): Avoid generating drag events
2845 if the mouse hasn't actually moved to another buffer position.
52283633 2846
80c8ab8c
DL
28472001-03-08 Dave Love <fx@gnu.org>
2848
129004d3 2849 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 2850
989521fd
GM
28512001-03-08 Gerd Moellmann <gerd@gnu.org>
2852
2853 * process.c (Fset_process_window_size): Fix a typo.
2854
bb5c338d
KH
28552001-03-08 Kenichi Handa <handa@etl.go.jp>
2856
2857 * coding.c (detect_coding_sjis): Do more rigid check.
2858 (detect_coding_big5): Likewise.
2859 (decode_coding_sjis_big5): Likewise.
2860 (Fdetect_coding_region): Call detect_coding_system with tailing
2861 anchor byte `\0' for more rigid detection.
52283633 2862 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
2863 (Fdetect_coding_string): Likewise.
2864
8b8f9197
SM
28652001-03-07 Stefan Monnier <monnier@cs.yale.edu>
2866
2867 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
2868 a string before extracting its data.
2869
3bdf2660
GM
28702001-03-07 Gerd Moellmann <gerd@gnu.org>
2871
2872 * window.c (Frecenter): Rewrite code handling negative values
2873 of ARG on graphical frames.
2874
28752001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
2876
2877 * window.c (displayed_window_lines): If W->start is outside the
2878 accessible portion of the buffer, call start_display with BEGV or
2879 ZV instead of W->start.
2880
471f86b9
GM
28812001-03-07 Gerd Moellmann <gerd@gnu.org>
2882
2ab62c6c
GM
2883 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
2884
471f86b9
GM
2885 * process.c (Fset_process_filter): Don't crash if the input
2886 file descriptor of PROCESS is closed.
2887 (Fset_process_window_size): Likewise.
2888
101922c3
GM
28892001-03-06 Kenichi Handa <handa@etl.go.jp>
2890
2891 * xterm.c (XTflash): Make the timeout of select shorter, and call
2892 select repeatedly until the desired time expires.
2893
45d051a7
GM
28942001-03-06 Gerd Moellmann <gerd@gnu.org>
2895
2896 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
2897
2898 * xfns.c (Fx_create_frame): Clear Vwindow_list.
2899
2900 * lisp.h (Vwindow_list): Declare extern.
2901
8f372c46
EZ
29022001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
2903
2904 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
2905
f16a7aa5
GM
29062001-03-06 Gerd Moellmann <gerd@gnu.org>
2907
157ae273
GM
2908 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
2909 to detect a case where we have to highlight a different region
2910 despite not having left the currently highlighted region.
2911 Set mouse_face_overlay in the x_display_info.
45d051a7 2912 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
2913
2914 * xterm.h (struct x_display_info): Add mouse_face_overlay.
2915
2916 * buffer.c (mouse_face_overlay_overlaps): New function.
2917
2918 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
2919 (Qmouse_face): Declare extern.
2920
f16a7aa5
GM
2921 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
2922 if face_change_count is non-zero.
2923
827afcac
KH
29242001-03-06 Kenichi Handa <handa@etl.go.jp>
2925
2926 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
2927 that the source is unibyte.
2928
14c7242e
DL
29292001-03-05 Dave Love <fx@gnu.org>
2930
827afcac 2931 * xterm.c (XTmouse_position): Fix typo.
14c7242e 2932
c28b847b
GM
29332001-03-05 Gerd Moellmann <gerd@gnu.org>
2934
2935 * minibuf.c (read_minibuf): Clean up the binding stack if
2936 called noninteractively.
2937
b86644f2
KH
29382001-03-05 Kenichi Handa <handa@etl.go.jp>
2939
2940 * coding.c (syms_of_coding): Docstring modified.
2941
203682cc 29422001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
2943
2944 * charset.c (char_to_string): If a single byte char has modifier
2945 bits that can't be reflected to the character code, ignore them
45d051a7 2946 instead of signaling an error.
b86644f2 2947
e30bd7b7
EZ
29482001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
2949
2950 * s/msdos.h: Update copyright notice.
2951
2952 * dosfns.h: Update copyright notice.
2953
2954 * dosfns.c: Update copyright notice.
2955
2956 * msdos.c: Update copyright notice.
2957
b52b65bd
GM
29582001-03-02 Gerd Moellmann <gerd@gnu.org>
2959
2960 * xterm.c (glyph_rect): New function.
2961 (XTmouse_position): Use it to raise the threshold for mouse
2962 movement event generation.
2963
53c4b1e6
EZ
29642001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
2965
2966 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
2967 specifies (reverse . t), reverse the initial screen colors.
2968 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
2969 but we are reversing the colors, set bg_set, not fg_set.
2970 Likewise for setting background-color and reversing: set fg_set.
2971 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
2972 in effect.
2973
2974 * xfaces.c (Finternal_set_lisp_face_attribute)
2975 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
2976 parameters alist.
2977
f964b4d7
GM
29782001-03-02 Gerd Moellmann <gerd@gnu.org>
2979
ef53d75e
GM
2980 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
2981 to a single slash in the middle of file names.
2982
52283633 2983 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
2984 Accept only alphanumeric time zone names.
2985
f964b4d7
GM
2986 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
2987 or width area.
2988 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
2989 a widget to zero height.
52283633 2990
c3c45f65
GM
29912001-03-01 Gerd Moellmann <gerd@gnu.org>
2992
2993 * window.c (Fwindow_end): Call move_it_past_eol only if
2994 ending up on a partially visible line.
2995
028d739a
DL
29962001-03-01 Dave Love <fx@gnu.org>
2997
2998 * ccl.c (Fccl_execute): Doc fix.
2999
57c5889c
GM
30002001-03-01 Gerd Moellmann <gerd@gnu.org>
3001
35f59f6b
GM
3002 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
3003 of the tool bar before calling x_figure_window_size.
3004
f84ff02c
GM
3005 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
3006 NULL after destroying it, otherwise XTread_socket can access a
3007 destroyed widget when input is unblocked.
3008
8b8f9197 3009 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 3010
57c5889c
GM
3011 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
3012 same name as before, although there was a change in fontsets.
3013
224227d1
KR
30142001-02-28 Ken Raeburn <raeburn@gnu.org>
3015
4560730a
KR
3016 * lisp.h (Fframe_parameter): Declare.
3017
224227d1 3018 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 3019 Lisp_Object.
224227d1 3020
ece93c02
GM
30212001-02-28 Gerd Moellmann <gerd@gnu.org>
3022
11ef99b9
GM
3023 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
3024 NULL instead.
3025
3026 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
3027 NULL instead.
3028
ece93c02
GM
3029 * alloc.c (toplevel): Include process.h.
3030 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
3031 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
3032 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
3033 (allocate_vector, allocate_hash_table, allocate_window)
3034 (allocate_frame, allocate_process, allocate_other_vector):
3035 New functions.
ece93c02
GM
3036 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
3037 (mark_maybe_pointer): New function.
52283633 3038 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
3039 remain and not Lisp_Objects.
3040 (min_heap_address, max_heap_address): New variables.
3041 (mem_find): Return MEM_NIL if START is below min_heap_address or
3042 above max_heap_address.
3043 (mem_insert): Compute min_heap_address and max_heap_address.
3044
3045 * process.c (make_process): Use allocate_process.
3046
3047 * frame.c (make_frame): Use allocate_frame.
3048
3049 * window.c (make_window, make_dummy_parent): Use allocate_window.
3050 (Fcurrent_window_configuration): Use allocate_other_vector.
3051
3052 * lisp.h (allocate_vectorlike): Remove prototype.
3053 (allocate_vector, allocate_other_vector, allocate_frame)
3054 (allocate_window, allocate_process, allocate_hash_table):
3055 Add prototypes.
3056
3057 * fns.c (Fdelete, larger_vector): Use allocate_vector.
3058 (make_hash_table, copy_hash_table): Use allocate_hash_table.
3059
063af457
KH
30602001-02-27 Kenichi Handa <handa@etl.go.jp>
3061
3062 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
3063 treat the produced bytes as a valid multibyte sequence.
3064
3065 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
3066 (ccl_driver) <CCL_WriteMultibyteChar2>:
3067 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
3068 <ccl_finish>: Set ccl->eight_bit_control properly.
3069
3070 * ccl.h (struct ccl_program): New member eight_bit_control.
3071
f58c6494
SM
30722001-02-26 Stefan Monnier <monnier@cs.yale.edu>
3073
3074 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
3075 accessible_keymaps_char_table.
3076 (accessible_keymaps_char_table): Obey `is_metized'.
3077 (where_is_internal, Fwhere_is_internal): Don't confuse int and
3078 Lisp_Object.
3079
c596c392
GM
30802001-02-26 Gerd Moellmann <gerd@gnu.org>
3081
3082 * dispnew.c: Check HAVE_TERM_H before including term.h.
3083
425de386
AI
30842001-02-24 Andrew Innes <andrewi@gnu.org>
3085
3086 * makefile.w32-in: Update copyright notice.
3087
2ba11bbd
SM
30882001-02-24 Stefan Monnier <monnier@cs.yale.edu>
3089
3090 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
3091
66c56ed1
KH
30922001-02-24 Kenichi Handa <handa@etl.go.jp>
3093
4c1593ce
KH
3094 * Makefile.in (lisp): Add international/utf-8.elc.
3095
66c56ed1
KH
3096 * fontset.c (Fnew_fontset): Fix handling of the case that an
3097 element of FONTLIST is a cons of family and registry.
3098
796ead7e
JR
30992001-02-23 Jason Rumney <jasonr@gnu.org>
3100
3101 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
3102 to height unconditionally.
3103
3104 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 3105 background face to the end of the drawing area in the text area, only.
796ead7e
JR
3106 (x_insert_glyphs): Call window_box_left to obtain the left
3107 x-coordinate of the area to shift.
3108
3109 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
3110 safe_run_hooks.
3111
f6839838
AI
31122001-02-22 Andrew Innes <andrewi@gnu.org>
3113
52283633 3114 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
3115 ($(BLD)\dispnew.obj):
3116 ($(BLD)\editfns.obj):
3117 ($(BLD)\fileio.obj):
3118 ($(BLD)\filelock.obj):
3119 ($(BLD)\keyboard.obj):
3120 ($(BLD)\w32proc.obj):
3121 ($(BLD)\process.obj):
3122 ($(BLD)\sysdep.obj): Ditto.
3123
3124 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
3125 header files.
52283633
SM
3126 ($(BLD)/dispnew.$(O)):
3127 ($(BLD)/editfns.$(O)):
3128 ($(BLD)/fileio.$(O)):
3129 ($(BLD)/filelock.$(O)):
3130 ($(BLD)/keyboard.$(O)):
3131 ($(BLD)/w32proc.$(O)):
3132 ($(BLD)/process.$(O)):
f6839838
AI
3133 ($(BLD)/sysdep.$(O)): Ditto.
3134
c224f70b
GM
31352001-02-22 Gerd Moellmann <gerd@gnu.org>
3136
51695746
GM
3137 * xdisp.c (forward_to_next_line_start): When taking the shortcut
3138 at the start of the function, check that the \n in it->c is
3139 from the iterator's current position.
52283633 3140
a61b7058
GM
3141 * xdisp.c (handle_single_display_prop): Add parameter
3142 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
3143 properties which replace the display of text with something else.
3144 (handle_display_prop): Call handle_single_display_prop with
3145 additional argument saying if we already replaced text display
3146 with something else. Use AREF.
52283633 3147 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
3148 (decode_mode_spec_coding): Use AREF and ASIZE.
3149
3473f362
GM
3150 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
3151 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
3152 * vmstime.h: Files removed.
52283633 3153
2bb58df3
GM
3154 * unexencap.c, unexfx2800.c: Files removed.
3155
c224f70b
GM
3156 * dispnew.c (direct_output_for_insert): Give up if we are showing
3157 a message or just cleared the message because we might need to
3158 resize the echo area window or display an empty echo area.
3159
ffc9ff0c
GM
31602001-02-21 Gerd Moellmann <gerd@gnu.org>
3161
0528abe1
GM
3162 * xdisp.c (redisplay_internal): Do the
3163 mark_window_display_accurate after all windows have been
3164 redisplayed because this call resets flags in buffers which are
3165 needed for proper redisplay.
3166
52283633
SM
3167 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
3168 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
3169 the old names.
3170
52283633
SM
3171 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3172 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3173
3174 * msdos.h (struct x_output): Rename busy_window to
3175 hourglass_window, busy_p to hourglass_p.
3176
52283633
SM
3177 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3178 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3179
3180 * xfns.c: Rename everything containing *busy_cursor* and similar
3181 to *hourglass*.
3182 (syms_of_w32fns): Rename x-busy-pointer-shape to
3183 x-hourglass-pointer-shape, display-busy-cursor to
3184 display-hourglass, busy-cursor-delay to hourglass-delay.
3185
3186 * w32fns.c: Rename everything containing *busy_cursor* and similar
3187 to *hourglass*.
3188 (syms_of_w32fns): Rename x-busy-pointer-shape to
3189 x-hourglass-pointer-shape, display-busy-cursor to
3190 display-hourglass, busy-cursor-delay to hourglass-delay.
3191
3192 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
3193 of its busy_p flag.
3194
3195 * dispextern.h (start_hourglass, cancel_hourglass)
3196 (display_hourglass_p): Renamed from *busy_cursor*.
3197
ab2c5f0a
GM
31982001-02-20 Gerd Moellmann <gerd@gnu.org>
3199
d17e49a8
GM
3200 * keyboard.c (read_char): When an event from unread-command-events
3201 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
3202
fa97adf6
GM
3203 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
3204 equal to the current buffer.
3205
ab2c5f0a
GM
3206 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
3207 nil, otherwise we're left with truncate_lines t when a message
3208 is printed with message-truncate-lines bound to t.
3209
aeac019e
GM
32102001-02-19 Gerd Moellmann <gerd@gnu.org>
3211
c8bc6f65
GM
3212 * window.c (Fmove_to_window_line): Undo last change.
3213 (displayed_window_lines): Call line_bottom_y to determine
3214 the line's bottom position.
3215
3216 * dispextern.h (line_bottom_y): Add prototype.
3217
52283633 3218 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
3219 (pos_visible_p): Use it.
3220
980a2d69
GM
3221 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
3222 set redisplaying_p to 0 here instead of in Frecursive_edit.
3223 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
3224 set redisplaying_p.
3225
52283633 3226 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
3227 New variables.
3228 (syms_of_xdisp): Initialize new variables.
3229 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
3230 Specbind `inhibit-menubar-update' when updating the menu bar.
3231
65048e97
GM
3232 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
3233 safe_run_hooks.
3234
3235 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
3236 safe_run_hooks.
3237
a57c4026
GM
3238 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
3239 is null.
3240
aeac019e
GM
3241 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
3242 to the start of the file.
3243
76846b31
GM
32442001-02-16 Gerd Moellmann <gerd@gnu.org>
3245
f3f053f3 3246 * window.c (set_window_buffer): Fix last change.
52283633 3247
f3f053f3
GM
3248 * window.c (set_window_buffer): Set window's vscroll to 0.
3249
dad75588
GM
3250 * window.c (coordinates_in_window): Increase width of area
3251 where the vertical line can be dragged.
3252
c220b753
GM
3253 * xterm.c (x_set_glyph_string_background_width): Extend the
3254 background face to the end of the drawing area in the text
3255 area, only.
3256
c56b1c1b
GM
3257 * xdisp.c (handle_single_display_prop): Set iterator's position
3258 to where the `display' property starts, like for images.
3259 (dump_glyph): New function.
3260 (dump_glyph_row): Use it. Dump info about marginal areas.
3261
3262 * dispnew.c (direct_output_for_insert): Recognize more cases where
3263 glyphs can be written instead of being inserted.
3264
3265 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
3266 the left x-coordinate of the area to shift.
3267
76846b31
GM
3268 * dired.c (directory_files_internal): Set result list to nil
3269 before retrying.
3270
0fc71a77
KH
32712001-02-15 Kenichi Handa <handa@etl.go.jp>
3272
3273 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
3274 invalid multibyte sequence, treat *SRC as a character of
3275 eight-bit-graphic.
3276
25078b54
EZ
32772001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
3278
3279 * textprop.c (Fset_text_properties): Doc fix.
3280
8399f8a0
GM
32812001-02-15 Gerd Moellmann <gerd@gnu.org>
3282
3283 * dispnew.c (update_text_area): Undo change of 2001-01-12.
3284
9a2a6f73
DL
32852001-02-14 Dave Love <fx@gnu.org>
3286
3287 * coding.c: Doc and message fixes.
3288
bf853fee
AI
32892001-02-14 Andrew Innes <andrewi@gnu.org>
3290
3291 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
3292 Emacs frame above the screen size.
3293
78c663d8
GM
32942001-02-14 Gerd Moellmann <gerd@gnu.org>
3295
3296 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
3297
7cc9f69f
GM
32982001-02-13 Gerd Moellmann <gerd@gnu.org>
3299
0a411995
GM
3300 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
3301 case that TO ends up beyond ZV after running before-change-functions.
3302
5ddc1b75
GM
3303 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
3304 the selected window if it is showing the buffer in question.
3305
7cc9f69f
GM
3306 * dired.c (directory_files_internal): Initialize errno.
3307 (toplevel): Include errno.h.
3308
2e6621ca
GM
33092001-02-13 Kenichi Handa <handa@etl.go.jp>
3310
3311 * xfaces.c (best_matching_font): New parameter width_ratio.
3312 Multiply avgwidth by width_ratio.
3313 (choose_face_font): Call best_matching_font with width_ratio
3314 calculated from the column width of C.
3315
60222d69
AI
33162001-02-12 Andrew Innes <andrewi@gnu.org>
3317
3318 The following changes are to draw box lines inside characters area
3319 if line-width is negative.
52283633 3320
60222d69
AI
3321 * w32term.c (x_produce_image_glyph): Pay attention to the case that
3322 face->box_line_width is negative.
3323 (x_produce_stretch_glyph): Likewise.
3324 (x_produce_glyphs): Likewise.
3325 (x_estimate_mode_line_height): Likewise.
3326 (x_draw_glyph_string_background): Likewise.
3327 (x_draw_glyph_string_foreground): Likewise.
3328 (x_draw_composite_glyph_string_foreground): Likewise.
3329 (x_draw_glyph_string_box): Likewise.
3330 (x_draw_image_foreground): Likewise.
3331 (x_draw_image_relief): Likewise.
3332 (x_draw_image_foreground_1): Likewise.
3333 (x_draw_image_glyph_string): Likewise.
3334
9804b846
KH
33352001-02-09 Kenichi Handa <handa@etl.go.jp>
3336
3337 The following changes are to draw box lines inside characters area
3338 if line-width is negative.
52283633 3339
9804b846
KH
3340 * xterm.c (x_produce_image_glyph): Pay attention to the case that
3341 face->box_line_width is negative.
3342 (x_produce_stretch_glyph): Likewise.
3343 (x_produce_glyphs): Likewise.
3344 (x_estimate_mode_line_height): Likewise.
3345 (x_draw_glyph_string_background): Likewise.
3346 (x_draw_glyph_string_foreground): Likewise.
3347 (x_draw_composite_glyph_string_foreground): Likewise.
3348 (x_draw_glyph_string_box): Likewise.
3349 (x_draw_image_foreground): Likewise.
3350 (x_draw_image_relief): Likewise.
3351 (x_draw_image_foreground_1): Likewise.
3352 (x_draw_image_glyph_string): Likewise.
3353
3354 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
3355 and :line-width can be negative.
52283633 3356 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 3357
49be9f70
JR
33582001-02-09 Jason Rumney <jasonr@gnu.org>
3359
3360 * w32term.c (w32_encode_char): Treat eight bit graphic and control
3361 characters the same as ASCII and latin-1.
3362 (x_display_and_set_cursor): Check for the focus frame's selected
3363 window instead of selected_window.
3364 (x_after_update_window_line): Don't clear if frame's internal
3365 border width is zero.
3366 (x_new_font): Don't change a tooltip's size.
3367 (w32_initialize): Set char_ins_del_ok to 1.
3368
3369 * w32fns.c (Fx_show_tip): Fix calls to make_number.
3370 (x_set_font): If font hasn't changed, avoid recomputing
3371 faces and other things.
52283633
SM
3372 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
3373 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
3374 (x_create_tip_frame): Prevent changing the tooltip's
3375 background color by specifying a color for the default font
3376 in .Xdefaults.
3377 (Qcancel_timer): New variable.
3378 (syms_of_w32fns): Initialize and staticpro it.
3379 (Fx_hide_tip, Fx_show_tip): Use it.
3380 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
3381 the timer.
3382 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
3383
3384 * w32.c (init_environment): Duplicate local string before putenv.
3385
555e35d2
SZ
33862001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
3387
3388 * charset.c (Fstring): A typo.
3389
19c92c94
KH
33902001-02-09 Kenichi Handa <handa@etl.go.jp>
3391
e47a1c33
KH
3392 * charset.c (Fstring): If all arguments are less than 256, return
3393 a unibyte string.
3394
3395 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
3396 return a unibyte string.
3397
19c92c94
KH
3398 * coding.c (code_convert_region): After detecting a coding, if
3399 nothing found, set coding->composing to COMPOSITION_NO.
3400 (decode_coding_string): Likewise.
3401
d8e675f5
SM
34022001-02-08 Stefan Monnier <monnier@cs.yale.edu>
3403
3404 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
3405 to avoid overflow.
3406
bd503487
KH
34072001-02-07 Kenichi Handa <handa@etl.go.jp>
3408
3409 * charset.c (parse_str_to_multibyte): New function.
3410
3411 * charset.h (parse_str_to_multibyte): Extern it.
3412
3413 * print.c (print_string): If we are going to print a unibyte
3414 string into a multibyte buffer, convert the string to multibyte by
3415 str_to_multibyte.
3416
a8370d72
AI
34172001-02-06 Andrew Innes <andrewi@gnu.org>
3418
3419 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
3420 been created. It seems we can get sent window messages such as
3421 WM_ERASEBKGND before we properly update a frame.
3422
c363a1d6
GM
34232001-02-06 Gerd Moellmann <gerd@gnu.org>
3424
3425 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
3426 Avoid some unnecessary cursor positioning.
3427
a08332c0
GM
34282001-02-05 Gerd Moellmann <gerd@gnu.org>
3429
52283633 3430 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
3431 (LFACE_AVGWIDTH): New macro.
3432 (LFACEP): Use AREF.
3433 (check_lface_attrs): Check LFACE_AVGWIDTH.
3434 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
3435 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
3436 (merge_face_vectors): Check LFACE_AVGWIDTH.
3437 (Finternal_make_lisp_face): Use AREF.
3438 (xm_set_menu_resources_from_menu_face)
3439 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
3440 (Finternal_lisp_face_empty_p): Use AREF.
3441 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
3442 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
3443 Compare average widths..
3444 (best_matching_font): Arrange for comparing average widths.
3445
52283633
SM
3446 * dispextern.h (enum lface_attribute_index):
3447 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
3448
5cb3c8d4
DL
34492001-02-05 Dave Love <fx@gnu.org>
3450
3451 * puresize.h: Revert last change following loadup.el change.
3452
193fba87
AI
34532001-02-05 Andrew Innes <andrewi@gnu.org>
3454
3455 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
3456 invocation of temacs, to work with Windows 2000.
3457 (bootstrap-emacs): Ditto.
3458
e16f52ce
GM
34592001-02-05 Gerd Moellmann <gerd@gnu.org>
3460
7a58ab59
GM
3461 * xterm.c (x_display_and_set_cursor): Check for the focus
3462 frame's selected window instead of selected_window.
3463
e89aaabd
GM
3464 * xdisp.c (try_scrolling): If point is in the line below the
3465 window, make sure to move the iterator at least a canonical
3466 char height down.
3467
52283633 3468 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 3469
789ce875
KH
34702001-02-05 Kenichi Handa <handa@etl.go.jp>
3471
52283633
SM
3472 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
3473 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
3474 (ccl_driver): If the CCL program is terminated because of
3475 CCL_STAT_INVALID_CMD, copy the remaining source data to the
3476 destination instead of throwing them away.
3477
20b28f82
GM
34782001-02-02 Gerd Moellmann <gerd@gnu.org>
3479
79fb38c0
GM
3480 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
3481 faces and other things.
3482
20b28f82
GM
3483 * xdisp.c (get_next_display_element): Fix case of empty
3484 display table entry.
3485
5a72551e
EZ
34862001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
3487
eb24d0bf
EZ
3488 * editfns.c (Fconstrain_to_field): Doc fix.
3489
6a3f48c7
EZ
3490 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
3491 into `thoroughly', to make it consistent with the doc string.
3492
5a72551e
EZ
3493 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
3494
01acdb05
GM
34952001-02-01 Gerd Moellmann <gerd@gnu.org>
3496
0353b28f
GM
3497 * search.c (search_buffer): Call set_search_regs with a byte
3498 position, not a character position.
3499
01acdb05
GM
3500 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
3501 minibuffer-only,
3502
e86b5133
EZ
35032001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
3504
3505 * frame.c (Fmodify_frame_parameters): Doc fix.
3506
7442878f
GM
35072001-01-31 Gerd Moellmann <gerd@gnu.org>
3508
01acdb05
GM
3509 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
3510 identifier which is not reserved by Standard C.
52283633 3511
7442878f
GM
3512 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
3513
3514 * window.c (enum window_part): New enumeration.
3515 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
3516 Qright_bitmap_area.
3517 (coordinates_in_window): Return an enumerator from enum
3518 window_part. Fix handling of right scroll bar.
3519 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
3520 `right-fringe' instead of `left-bitmap-area' and
3521 `right-bitmap-area'. Use enumerators from enum window_part
3522 instead of hard-coded integers.
52283633
SM
3523 (check_window_containing, window_from_coordinates):
3524 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
3525 (syms_of_window): Replace Qleft_bitmap_area and
3526 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
3527
7c132cba
EZ
35282001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
3529
3530 * editfns.c (Fformat_time_string): Doc fix.
3531
c359dd9e
SM
35322001-01-31 Stefan Monnier <monnier@cs.yale.edu>
3533
3534 * keymap.c (Fwhere_is_internal): Use the first valid binding
3535 if no ascii binding is found (when firstonly is t).
3536
ce070307
GM
35372001-01-31 Gerd Moellmann <gerd@gnu.org>
3538
b4f30ec5
GM
3539 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
3540 instead of Finteractive_p.
3541
3542 * lisp.h (interactive_p): Add prototype.
3543
3544 * eval.c (interactive_p): New function.
3545 (Finteractive_p): Use it.
3546
ce070307
GM
3547 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
3548
f57b6e64
DL
35492001-01-31 Dave Love <fx@gnu.org>
3550
d61c7afe
DL
3551 * .gdbinit (hook-run): Define to run xreload.
3552
f57b6e64
DL
3553 * textprop.c (Fset_text_properties): Fix newline in doc string.
3554
eef93f99
GM
35552001-01-30 Gerd Moellmann <gerd@gnu.org>
3556
52283633
SM
3557 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
3558 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
3559
3560 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 3561 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
3562 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
3563
3564 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
3565 height.
3566
d9c1f6f9
DL
35672001-01-30 Dave Love <fx@gnu.org>
3568
3569 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
3570 AFTER_POTENTIAL_GC.
3571
e8f044a0
GM
35722001-01-29 Gerd Moellmann <gerd@gnu.org>
3573
52283633
SM
3574 * bytecode.c (Fbyte_code) <Bcurrent_column>:
3575 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 3576
8e1db7b3
EZ
35772001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
3578
3579 * textprop.c (Fset_text_properties): Doc fix.
3580
4eefd9d2
GM
35812001-01-29 Gerd Moellmann <gerd@gnu.org>
3582
3583 * xdisp.c (forward_to_next_line_start): Remove xassert.
3584
fccb8288
EZ
35852001-01-29 Jason Rumney <jasonr@gnu.org>
3586
4eefd9d2 3587 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
3588 returning without releasing it.
3589
76581eab
KH
35902001-01-29 Kenichi Handa <handa@etl.go.jp>
3591
3592 * w32fns.c (w32_font_match): Allocate three more bytes to regex
3593 for '^', '$', and '\0'.
3594
83a96b4d
AC
35952001-01-28 Andrew Choi <akochoi@i-cable.com>
3596
5604ec34
AC
3597 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
3598 regex for '^', '$', and '\0'.
3599
83a96b4d
AC
3600 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
3601 only if current_sblock has been initialized.
3602
3603 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
3604 terminal frame even if it is the only visible frame.
3605
c09a6440
KH
36062001-01-28 Kenichi Handa <handa@etl.go.jp>
3607
3608 * fontset.c (font_family_registry): Even if FONTNAME conform to
3609 XLFD, if it specifies other fields than family and registry,
52283633 3610 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 3611 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
3612 a signle byte character. Don't set FAMILY part to nil here.
3613 It is handled by the caller choose_face_font.
c09a6440
KH
3614 (Fnew_fontset): Call font_family_registry with FORCE 0.
3615 (Fset_fontset_font): Likewise.
3616
4dcd74e6
GM
36172001-01-27 Gerd Moellmann <gerd@gnu.org>
3618
3619 * xdisp.c (display_line): Don't treat a newline as fitting
3620 on the line.
3621
d2906bf8
GM
36222001-01-26 Gerd Moellmann <gerd@gnu.org>
3623
0130fe1a
GM
3624 * window.c (size_window): Set the window's orig_top to nil when
3625 changing heights, so that a future shrink_mini_window won't
3626 restore a bogus height.
3627
550f0e6a
GM
3628 * frame.c (do_switch_frame): If selected frame has a mini-window,
3629 resize that to exact size.
3630
b7b20fbd
GM
3631 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
3632
a47b7816
GM
3633 * xdisp.c (display_line): Simplify check for glyphs fitting
3634 entirely in the line.
3635
d2906bf8
GM
3636 * xfns.c (xic_style): New variable.
3637 (create_frame_xic): Move static variable to global scope for
550f0e6a 3638 the case that `static' gets defined away.
d2906bf8 3639
73df2b1e
KH
36402001-01-26 Kenichi Handa <handa@etl.go.jp>
3641
3642 * coding.c (decode_coding): Set a flag for inhibiting
3643 inconsistent eol.
3644 (code_convert_region): Always set saved_coding_symbol.
3645 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 3646 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 3647
6613cfc4
GM
36482001-01-25 Gerd Moellmann <gerd@gnu.org>
3649
c5e6e06b
GM
3650 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
3651 XClearArea.
3652
3653 * xterm.c (x_after_update_window_line): Don't clear if frame's
3654 internal border width is zero.
3655 (x_clear_area): New function.
3656 (x_after_update_window_line, x_clear_end_of_line)
3657 (x_scroll_bar_create, x_scroll_bar_set_handle)
3658 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
3659 instead of XClearArea.
3660
3661 * xterm.h (x_clear_area): Add prototype.
3662
6613cfc4
GM
3663 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
3664 which doesn't seem necessary anymore with Lesstif 0.92.
3665
650cc6cc
DL
36662001-01-25 Dave Love <fx@gnu.org>
3667
34ac3367
DL
3668 * puresize.h (BASE_PURESIZE): Up to 720000.
3669
650cc6cc
DL
3670 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
3671
5e37dc22
GM
36722001-01-25 Gerd Moellmann <gerd@gnu.org>
3673
e1e441f9
GM
3674 * xdisp.c (echo_area_display): Don't call redisplay_internal
3675 when Emacs is shutting down. We can't run hooks etc. that
3676 would be necessary to do a redisplay.
3677
5e37dc22
GM
3678 * lread.c (read_integer): Use type EMACS_INT instead of int.
3679
0fb94c7f
EZ
36802001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
3681
3682 * ccl.c (ccl_driver): Fix last change.
3683
e3778624
KH
36842001-01-25 Kenichi Handa <handa@etl.go.jp>
3685
3686 * ccl.h (sturct ccl_program): New member suppress_error.
3687
bb264518 3688 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
3689 insert error message to the output.
3690 (setup_ccl_program): Initialize ccl->suppress_error to 0.
3691
3692 * coding.h (struct coding_system): New member suppress_error.
3693
3694 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
3695 (Fset_terminal_coding_system_internal): Set the member
3696 suppress_error to 1.
3697 (Fset_safe_terminal_coding_system_internal): Likewise.
3698
245ed2b1
SM
36992001-01-24 Stefan Monnier <monnier@cs.yale.edu>
3700
3701 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
3702 as if it was a `charset'.
3703
f9aaedb6
GM
37042001-01-24 Gerd Moellmann <gerd@gnu.org>
3705
3706 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
3707 value in where_is_cache; the next lookup in the cache returns
3708 something bogus if we do.
3709
c3902c3e
EZ
37102001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
3711
3712 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
3713 if HAVE_WINDOW_SYSTEM isn't defined.
3714
3497f73e
GM
37152001-01-24 Gerd Moellmann <gerd@gnu.org>
3716
e7e41584
GM
3717 * fns.c (sweep_weak_table): Fix code taking items out of
3718 the hash collision chain. Some cleanup.
3719
3497f73e
GM
3720 * xterm.c (x_new_font): Don't change a tooltip's size.
3721
3722 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
3723 background color by specifying a color for the default font
3724 in .Xdefaults.
3725
3d48e687
KH
37262001-01-24 Kenichi Handa <handa@etl.go.jp>
3727
96531b20
KH
3728 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
3729 a workaround for SunOS 4's cc.
3730 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
3731 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
3732 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
3733 statement.
3d48e687 3734
a30629d2
GM
37352001-01-23 Gerd Moellmann <gerd@gnu.org>
3736
3737 * xterm.c (x_set_window_size_1): New function extracted from
3738 x_set_window_size.
3739 (x_set_window_size): Use it.
3740 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
3741 doesn't have a widget, like tooltips.
3742
5a43decf
EZ
37432001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
3744
52283633 3745 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 3746
b0e98867
KH
37472001-01-23 Kenichi Handa <handa@etl.go.jp>
3748
3749 * fns.c (Fset_char_table_default): Fix to make sub char-table
3750 correctly.
3751
50606b4c
GM
37522001-01-22 Gerd Moellmann <gerd@gnu.org>
3753
cb2ddc53 3754 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
3755 a desired tool bar string, even if there are no tool bar items.
3756
57c28064
GM
3757 * xdisp.c (Ftool_bar_lines_needed): New function.
3758 (syms_of_xdisp): Defsubr it.
3759
50606b4c
GM
3760 * editfns.c (Fformat): Don't extend text properties from arguments
3761 to padding chars in the result.
3762
2f169c38
EZ
37632001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
3764
3765 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
3766
0f32f023
AI
37672001-01-20 Andrew Innes <andrewi@gnu.org>
3768
52283633 3769 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
3770 (w32_initialize): Don't set term hooks that aren't actually needed
3771 in windowed mode.
3772
3773 * xfaces.c (realize_default_face):
3774 (realize_face):
3775 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
3776
3777 * xdisp.c (handle_single_display_prop): Remove references to
3778 FRAME_W32_CONSOLE_P.
3779
52283633 3780 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
3781
3782 * frame.h (output_method): Remove output_w32_console method.
3783 (FRAME_W32_CONSOLE_P): Remove macro.
3784
3785 * frame.c (Qw32_console): Remove variable.
3786 (Fframep): Remove references to it.
3787 (syms_of_frame): Ditto.
3788 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
3789
3790 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
3791 redefinition.
3792
7173eada
KH
37932001-01-20 Kenichi Handa <handa@etl.go.jp>
3794
3795 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
3796
755b45ce
AI
37972001-01-19 Andrew Innes <andrewi@gnu.org>
3798
3799 * w32.c (init_environment): Add a version-independent site-lisp
3800 directory to EMACSLOADPATH, after the version dependent one.
3801
0a949811
GM
38022001-01-19 Gerd Moellmann <gerd@gnu.org>
3803
8501998a
GM
3804 * editfns.c (Fbuffer_substring): Doc fix.
3805
52283633
SM
3806 * xdisp.c (message_dolog, message2, message2_nolog):
3807 Rename parameter LEN to NBYTES.
0a949811 3808
e6ebcbbe
KH
38092001-01-19 Kenichi Handa <handa@etl.go.jp>
3810
200ecca2
KH
3811 * charset.c (strwidth): Use c_string_width.
3812 (c_string_width): New function.
3813 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
3814 Caller changed.
3815
3816 * charset.h (c_string_width, lisp_string_width): Extern them.
3817
52283633 3818 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 3819
e6ebcbbe
KH
3820 * indent.c (check_composition): Check validity of composition.
3821
200ecca2
KH
3822 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
3823 characters by calling c_string_width.
3824 (x_consider_frame_title): Get byte length of frame tile string
3825 correctly.
3826 (display_mode_element): Pay attention to width of non-ASCII
3827 characters by calling strwidth.
3828
8692ca92
GM
38292001-01-18 Gerd Moellmann <gerd@gnu.org>
3830
8962e303
GM
3831 * xfns.c (Qcancel_timer): New variable.
3832 (syms_of_xfns): Initialize and staticpro it.
3833 (Fx_hide_tip, Fx_show_tip): Use it.
3834 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
3835 the timer.
3836 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
3837
91523be9
GM
3838 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
3839
3840 * window.h (WINDOW_LIVE_P): New macro.
3841
b0b7ed0e
GM
3842 * window.c (window_size_fixed): New variable.
3843 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
3844 the doc string.
3845
06bccf8e
GM
3846 * eval.c (specbind): If binding a per-buffer variable which
3847 doesn't have a buffer-local value in the current buffer, change
3848 the global value by changing the value of the symbol bound in all
3849 buffers not having their own value, to make it consistent with
3850 what happens with other buffer-local variables.
3851
8692ca92
GM
3852 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
3853
3854 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
3855 when searching for a newline.
3856
bb3a3b50
KH
38572001-01-18 Kenichi Handa <handa@etl.go.jp>
3858
3859 * xdisp.c (display_string): Fix previous change.
3860
c2cc16fa
JR
38612001-01-18 Jason Rumney <jasonr@gnu.org>
3862
3863 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
3864 GLYPH_DEBUG is defined.
3865 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
3866 true for images with `:ascent 100'.
3867 (x_set_mouse_face_gc): If the last used mouse face has gone in the
3868 meantime, use face MOUSE_FACE_ID.
3869 If first glyph isn't a character glyph, use the ASCII NUL
3870 character to determine the face.
3871 (expose_area): Do not treat left margin specially.
3872 (note_mode_line_highlight): If no local_map, check global keymap.
3873 (note_mouse_highlight): Initialize overlay.
52283633 3874 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
3875 (show_scroll_bars): Remove unused function.
3876 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
3877 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
3878 Clip to row.
52283633 3879 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
3880 (x_free_frame_resources): Unload relief colors.
3881
9c11f79e
GM
38822001-01-17 Gerd Moellmann <gerd@gnu.org>
3883
3aec8722 3884 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
3885 get_next_display_element when the newline is already found.
3886 This may change the iterator's position, when its current position is
3aec8722
GM
3887 equal to the iterator's stop_charpos.
3888
f3ffc2c3
GM
3889 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
3890 zero, use this method only at the end of a line.
3891
52283633 3892 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
3893 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
3894 if SCALABLE_FONTS_P is set.
52283633 3895
d26d6fd9
GM
3896 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
3897 so that scalable fonts are included.
3898
9c11f79e
GM
3899 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
3900 In the cache, use a key containing the information if scalable
3901 fonts are included.
3902 (x_load_font): Adapt to change of keys in the font cache.
3903
39042001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 3905
d26d6fd9
GM
3906 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
3907 XListFonts to take advantage of font caching.
3908
9c11f79e
GM
3909 * xterm.c (x_list_fonts): Ensure caching font information when
3910 called for a null frame, which is the case frequently when Emacs
3911 starts.
3912
51446987
GM
39132001-01-17 Gerd Moellmann <gerd@gnu.org>
3914
f864120f
GM
3915 * xfns.c (QCconversion): Replaces QCalgorithm.
3916
3917 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
3918
3919 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
3920 of :algorithm.
52283633 3921
e37d1417
GM
3922 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
3923 not everything could be displayed.
3924
51446987
GM
3925 * line.h, x-list-font.c: Files removed because unused.
3926
9ad4f3e5
AI
39272001-01-17 Andrew Innes <andrewi@gnu.org>
3928
3929 * dired.c (directory_files_internal): Convert result from readdir
3930 to a unibyte string initially, to avoid possible misinterpretation
3931 of some bytes as the internal form of Emacs characters.
3932
2eda09b5
KH
39332001-01-17 Kenichi Handa <handa@etl.go.jp>
3934
3935 * fns.c (concat): Be sure to avoid putting the same `composition'
3936 property on the adjacent regions.
3937
826f3788
GM
39382001-01-16 Gerd Moellmann <gerd@gnu.org>
3939
52283633 3940 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
3941 (Fscroll_right, Fscroll_left): Set it here instead, if called
3942 interactively.
3943
d57b83b3
GM
3944 * buffer.c (Fset_buffer_modified_p): Set buffer's
3945 prevent_redisplay_optimizations_p flag.
3946
826f3788 3947 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
3948 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
3949 with additional arg.
3950
3951 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
3952 Change prototype.
826f3788 3953
826f3788
GM
3954 * xdisp.c (redisplay_preserve_echo_area): Add parameter
3955 FROM_WHERE, for debugging.
3956
261d788b
KH
39572001-01-16 Kenichi Handa <handa@etl.go.jp>
3958
3959 * ccl.c (Fregister_ccl_program): Handle the return value of
3960 resolve_symbol_ccl_program correctly.
52283633 3961 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 3962
bccee4f2
GM
39632001-01-15 Gerd Moellmann <gerd@gnu.org>
3964
e4ded23c
GM
3965 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
3966 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
3967
3968 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
3969 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
3970 the display; we didn't open it.
3971
bccee4f2
GM
3972 * dispnew.c (save_or_restore_current_matrices): Function removed.
3973 (save_current_matrix, restore_current_matrix): New functions.
3974 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
3975 restore the frame's current matrix. Due to the glyph pointer
3976 setup done in adjust_glyph_matrix, there is no easy way to make
3977 saving the current matrix in the desired matrix generally correct,
3978 so don't try it.
3979
ebeccffa
KH
39802001-01-15 Kenichi Handa <handa@etl.go.jp>
3981
3982 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
3983 truncation glyphs.
3984 (display_line): Optimize for wide characters.
e4ded23c 3985 (display_string): Don't try to display a multi-column character
ebeccffa
KH
3986 partially. On ttys, produce more than one truncation glyph for
3987 multi-column characters that don't fit on the line.
3988
64388126
KH
39892001-01-13 Kenichi Handa <handa@etl.go.jp>
3990
52283633
SM
3991 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
3992 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 3993
8edb0a6f
JR
39942001-01-13 Jason Rumney <jasonr@gnu.org>
3995
3996 * w32fns.c (Fimage_size, image_ascent, lookup_image)
3997 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
3998 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
3999 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 4000
52283633
SM
4001 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
4002 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
4003 (x_draw_image_glyph_string): Adapt to change of image margins.
4004
4005 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
4006 variables.
4007
4008 * w32bdf.c (search_file_line, get_cached_font_char)
4009 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
4010
4011 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
4012
4013 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
4014 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
4015 (Fw32_send_sys_command): Remove unused variables.
4016 (w32_msg_pump): Add parentheses.
4017
4018 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
4019 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
4020 Add parentheses.
4021
4956d1ef
GM
40222001-01-12 Gerd Moellmann <gerd@gnu.org>
4023
b30623be
GM
4024 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
4025 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
4026 being a pair of margins.
4027 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
4028 to DEFVAR_LISP. Extend doc.
4029
4030 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
4031 margins.
4032 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
4033 pair of integers `(X . Y)', use X for the horizontal and Y for the
4034 vertical margin.
4035 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
4036 (parse_image_spec): Check it.
52283633
SM
4037 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4038 (tiff_format, gif_format, gs_format):
4039 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 4040
52283633
SM
4041 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
4042 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
4043 (x_draw_image_glyph_string): Adapt to the change of image margins.
4044
4045 * dispextern.h (struct image): Replace member `margin' with
4046 `hmargin' and `vmargin'.
4047
4554cc79
GM
4048 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
4049 and GLYPHS.
4050
4051 * dispnew.c (update_text_area): Put code which decrements the
4052 stop position when the row's face extends to the end of the
3bffc665 4053 line in #if 0.
4554cc79 4054
3cccce8d
GM
4055 * xfns.c (x_set_mouse_color): Fix color allocation.
4056
4956d1ef
GM
4057 * keyboard.c: Call get_local_map with new argument list.
4058
4059 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
4060
4061 * intervals.h (enum map_property): Removed.
4062 (get_local_map): Change prototype.
4063
4064 * keymap.c: Call get_local_map with new argument list.
4065 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
4066
2c2ff7f2
GM
40672001-01-11 Gerd Moellmann <gerd@gnu.org>
4068
a23887b9
GM
4069 * xdisp.c (build_desired_tool_bar_string): Correct the computation
4070 of the size needed for the tool bar string. For the last image,
4071 use a `display' property that reaches to the end of the string.
4072
a7ee2d2e
GM
4073 * xselect.c (selection_request_dpyinfo): New variable.
4074 (x_handle_selection_request): Set it.
4075 (x_selection_request_lisp_error): Don't call
4076 x_decline_selection_request if selection request's display has
4077 been closed.
4078
52283633
SM
4079 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
4080 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 4081
457b792c
GM
40822001-01-10 Dave Love <fx@gnu.org>
4083
4084 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
4085 ${SOME_MACHINE_LISP}, not ${lisp}.
4086
c1efd260
GM
40872001-01-10 Gerd Moellmann <gerd@gnu.org>
4088
52283633
SM
4089 * xdisp.c (display_line): On ttys, produce more than one truncation
4090 glyph for multi-column characters that don't fit on the line.
a98b5ed9 4091
ac95a621
GM
4092 * xselect.c (x_reply_selection_request): Add a comment.
4093
c1efd260
GM
4094 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
4095 XkbGetNames instead of XkbGetKeyboard.
4096
1bfb1345
DL
40972001-01-10 Dave Love <fx@gnu.org>
4098
4099 * sysdep.c (random): Revert the declaration.
4100
38119822
GM
41012001-01-09 Gerd Moellmann <gerd@gnu.org>
4102
52283633
SM
4103 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
4104 Call function string_bytes.
35f464a7
GM
4105 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
4106
4107 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
4108 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
4109 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
4110 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
4111 the current sblock.
4112 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
4113 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
4114 after sweeping strings, and at the end.
4115 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
4116
38119822
GM
4117 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
4118 ensure that pop_message is called.
4119
4120 * keyboard.c (Fexecute_extended_command): Use a
4121 record_unwind_protect to ensure that pop_message is called.
4122
4123 * lisp.h (push_message_unwind): Add prototype.
4124
4125 * xdisp.c (push_message_unwind): New function.
4126
4127 * fileio.c (do_auto_save_unwind): Do the pop_message here
4128 instead of in Fdo_auto_save.
4129 (Fdo_auto_save): Don't call pop_message.
4130
f47a9ec4
KR
41312001-01-08 Ken Raeburn <raeburn@gnu.org>
4132
4133 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
4134 in inner block.
4135
a758f97d
GM
41362001-01-08 Gerd Moellmann <gerd@gnu.org>
4137
6d0afc03
GM
4138 * window.c (window_scroll_pixel_based): Adjust glyph matrices
4139 when increasing window's vscroll.
4140
a758f97d
GM
4141 * macros.c (Qkbd_macro_termination_hook): New variable.
4142 (syms_of_macros): Initialize and staticpro it.
4143 (pop_kbd_macro): Run kbd-macro-termination-hook.
4144
4145 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
4146
1bfb1345 41472001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
4148
4149 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
4150 arglist, for documentation's sake.
4151
0dac6924
AI
41522001-01-06 Andrew Innes <andrewi@gnu.org>
4153
4154 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
4155 of *.pdb.
4156
8182406a
AI
41572001-01-05 Andrew Innes <andrewi@gnu.org>
4158
4159 * term.c (update_end): Don't check updating_frame; for some reason
4160 this can be 0 sometimes, such as after dismissing a popup menu,
4161 and isn't necessary given the explicit frame argument.
4162
3828218c
GM
41632001-01-05 Gerd Moellmann <gerd@gnu.org>
4164
4165 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
4166 on some systems, and an unsigned long on others, like FreeBSD 4.1.
4167
2f5ded21
GM
41682001-01-04 Gerd Moellmann <gerd@gnu.org>
4169
52283633 4170 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
4171
4172 * xfns.c (x_create_tip_frame): Preserve the value of
4173 face_change_count around the creation of the tip frame.
52283633 4174
2f5ded21
GM
4175 * xfns.c (last_show_tip_args): New variable.
4176 (compute_tip_xy): New function.
4177 (Fx_show_tip): Reuse an existing tip frame, if possible.
4178 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
4179
dfad65fa
DL
41802001-01-04 Dave Love <fx@gnu.org>
4181
64d4ec0f
DL
4182 * editfns.c (Fformat): Doc fix.
4183
dfad65fa
DL
4184 * systime.h (set_file_times): Prototype.
4185
4186 * widget.h (EmacsFrameSetCharSize_): Prototype.
4187
4188 * sysdep.c (random, srandom): Declare explicitly.
4189
4190 * dispextern.h (move_it_vertically_backward): Declare.
4191
85fe3b5e
GM
41922001-01-04 Gerd Moellmann <gerd@gnu.org>
4193
0f2ac578
GM
4194 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
4195 like in Fx_create_frame.
4196
482cca61
GM
4197 * xfaces.c (set_font_frame_param): Don't do anything for
4198 non-graphical frames.
4199
85fe3b5e
GM
4200 * window.c (Fdelete_other_windows): Set window's window_end_valid
4201 to nil when changing the window's start. Don't change the
4202 window's start when its top position hasn't changed. If we do,
4203 this will set the window's optional_new_start, which act's like a
4204 force_start during redisplay with C-x 1 M-> under particular
4205 circumstances (see report from Per Starback to emacs-pretest-bug
4206 from 2000-12-13.).
4207
3e99d3b4
GM
42082001-01-03 Gerd Moellmann <gerd@gnu.org>
4209
a77dc1ec
GM
4210 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
4211 short cut at the start of the function. Add an assertion.
4212 (reseat_at_next_visible_line_start): Add an assertion.
4213
2f3cad6c
GM
4214 * window.c (Frecenter): When changing the window start, set the
4215 window's window_end_valid to nil.
4216 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
4217
4218 * dispextern.h (move_it_past_eol): Add prototype.
4219
4220 * xdisp.c (move_it_past_eol): New function.
4221
3e99d3b4
GM
4222 * window.c (Fwindow_end): Doc fix.
4223
42242001-01-03 Dave Love <fx@gnu.org>
4225
52283633 4226 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 4227
bafb434c
GM
42282001-01-03 Gerd Moellmann <gerd@gnu.org>
4229
4230 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
4231 the enabled_p flag of the glyph row at window_end_vpos to 0.
4232 (handle_single_display_prop): Fix last change.
4233
5297fb00
RS
42342001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
4235
4236 * window.c (Frecenter): Doc fix.
4237
13d6a61c
AI
42382001-01-02 Andrew Innes <andrewi@gnu.org>
4239
4240 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
4241
4242 * frame.h (output_method): Add output_w32_console method.
4243 (FRAME_W32_CONSOLE_P): New macro.
4244
4245 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
4246 use output_w32_console method.
4247 (Qw32_console): New Lisp_Object.
4248 (Fframep): Return it.
4249 (syms_of_frame): Init it.
52283633 4250 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
4251
4252 * xfaces.c (realize_default_face): Set face foreground and
4253 background to unspecified for w32_console frames.
4254 (realize_face): Realize face cache for w32_console frames.
4255 (realize_tty_face): Accept w32_console frames.
4256
52283633 4257 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
4258 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
4259 necessary, even if running interactively.
4260
4261 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
4262 w32_console frames.
4263
52283633
SM
4264 * w32term.c (x_update_begin):
4265 (x_update_end):
4266 (x_clear_frame):
4267 (x_ins_del_lines):
4268 (x_change_line_highlight):
4269 (x_delete_glyphs):
4270 (w32_ring_bell):
4271 (x_update_begin):
4272 (x_update_end):
4273 (w32_reassert_line_highlight):
4274 (w32_frame_rehighlight):
13d6a61c
AI
4275 (w32_frame_raise_lower): Do nothing if not w32 frame.
4276
4277 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
4278
4279 * w32fns.c (Fx_display_color_cells): Determine correct value, when
4280 system doesn't tell us directly.
4281 (Fx_display_visual_class): Implement properly.
4282
d6bb0c0d
GM
42832001-01-02 Gerd Moellmann <gerd@gnu.org>
4284
4285 * window.c (Frecenter): Handle centering in graphical frames
4286 specially. Centering on the basis of line counts doesn't work
4287 reliably with variable-height lines.
52283633 4288
315f5865
EZ
42892001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
4290
4291 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
4292 and al[].
4293
52283633 4294 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
4295 (update_compositions): Remove unused variable `hook'.
4296
4297 * intervals.c (get_local_map): Remove unused variable `tem'.
4298
4299 * doprnt.c (doprnt1): Remove unused variable `size'.
4300
4301 * fns.c (Flength): Remove unused variable `tail'.
4302 (Fdelete): Remove unused variable `size'.
4303
4304 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
4305 and `gcpro2'.
4306
52283633 4307 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
4308
4309 * data.c (find_symbol_value): Remove extra 3rd argument in the
4310 call to swap_in_symval_forwarding.
4311
52283633 4312 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
4313
4314 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
4315 (trivial_regexp_p): Remove unused variable `c'.
4316 (boyer_moore): Remove unused variable `k'.
4317
4318 * indent.c (current_column): Remove unused variable `stopchar'.
4319 (Fcompute_motion): Remove unused variable `contin'.
4320
4321 * casefiddle.c (casify_object): Remove unused variable `tolen'.
4322
4323 * dired.c (directory_files_internal): Fix a typo in a comment.
4324 Remove an unused variable `handler'.
52283633 4325 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
4326 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
4327 on BSD4_2.
4328
52283633 4329 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
4330
4331 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
4332 and `buf'.
4333 (Fmarker_insertion_type): Remove unused variable `buf'.
4334
4335 * insdel.c (make_gap): Remove unused variable `result'.
4336
52283633 4337 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
4338 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
4339 (menu_bar_items): Remove unused function-scope variable `tem'.
4340
4341 * fontset.c (fontset_ref): Remove unused variable `i'.
4342 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 4343 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
4344 (make_fontset_for_ascii_face): Remove unused variable `name'.
4345 (fs_load_font): Remove unused variable `font_idx'.
52283633 4346 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
4347 (list_fontsets): Remove unused variable `tail'.
4348 (Fnew_fontset): Remove unused variables `family' and `registry'.
4349 (accumulate_font_info): Remove unused variable `tmp'.
4350 (Ffontset_font): Remove unused variable `id'.
4351 (syms_of_fontset): Remove unused variable `i'.
4352
4353 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
4354 to x_term_init.
4355 (lookup_image): Remove unused variable `file'.
4356 (xbm_load): Remove unused variables `bitmap_data', `height', and
4357 `width'. Remove function-local variable `i', leave the
4358 block-local one.
4359 (gif_load): Remove unused variable `inc'.
4360
52283633 4361 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
4362 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
4363 leave only the one in the inner block.
4364
4365 * xfaces.c (face_fontset, realize_default_face): Remove unused
4366 variable `fontset'.
4367 (face_at_buffer_position): Remove unused variable `multibyte_p'.
4368
4369 * term.c (encode_terminal_code): Remove unused variable `c'.
4370
4371 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
4372 char *' instead of `char *'.
4373
4374 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 4375 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
4376 (Fchar_category_set): Remove unused variables `val', `charset',
4377 `c1' and `c2'.
4378
52283633
SM
4379 * coding.c (detect_coding_iso2022, setup_coding_system):
4380 Remove unused variable `i'.
315f5865
EZ
4381 (detect_coding_mask): Remove unused variable `idx'.
4382 (detect_coding): Remove unused variable `i'.
4383 (ccl_coding_driver): Remove unused variable `result'.
4384 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 4385 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
4386 (encode_coding_string): Remove unused variables `gcpro1' and
4387 `saved_coding_symbol'.
4388 (Ffind_coding_systems_region_internal): Remove function-local
4389 variable args[], leave only the block-local one.
4390 (code_convert_region1): Remove unused variable `len'.
4391
4392 * charset.c (char_printable_p): Remove unused variable `chars'.
4393 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
4394 (str_to_multibyte): Remove unused variable `c'.
4395
4396 * window.c (size_window): Remove block-local variable `min_size'.
4397
4398 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
4399 `header_line_height'.
4400 (append_space, extend_face_to_end_of_line): Declare `saved_what'
4401 enum display_element_type.
4402
1a8a9daf
GM
44032001-01-02 Gerd Moellmann <gerd@gnu.org>
4404
6dde6abc 4405 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
4406 statements that call X. Save away the error message in a local copy.
4407
1883b2c6
GM
4408 * xterm.c (x_connection_closed): Set handling_signal to 0 at
4409 the start.
4410
a13be207
GM
4411 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
4412 in or at the start of invisible text.
4413
1a8a9daf
GM
4414 * dispnew.c (update_window): Don't check_current_matrix_flags.
4415
3608c0f9
JR
44162001-01-01 Jason Rumney <jasonr@gnu.org>
4417
4418 * w32fns.c (x_figure_window_size): Do not allow new_height and
4419 new_width of frame to override specified values.
4420
abb1acc4
KH
44212000-12-30 Kenichi Handa <handa@etl.go.jp>
4422
52283633 4423 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 4424
762a68ec
GM
44252000-12-29 Gerd Moellmann <gerd@gnu.org>
4426
52283633 4427 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
4428 (update_window) [GLYPH_DEBUG]: Call it.
4429 (scrolling_window): Prevent including current rows which are below
4430 what's displayed in the window.
4431
4432 * xdisp.c (try_window_reusing_current_matrix)
4433 <new start <= old start>: Disable rows in the current matrix
4434 which are below the window after scrolling.
52283633 4435
762a68ec
GM
4436 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
4437 is zero. It's not worth the complexity.
4438 (invisible_text_between_p): Put in #if 0 because unused.
4439
2d5912c1
GM
44402000-12-28 Gerd Moellmann <gerd@gnu.org>
4441
46f6a258
GM
4442 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
4443 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
4444
89f93679
GM
4445 * keyboard.c (echo_char): If C is an integer, always call
4446 push_key_description. Former code could signal an invalid
4447 character error.
4448
4449 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
4450 If set, print multibyte text.
4451 (Fsingle_key_description): Call push_key_description with
4452 FORCE_MULTIBYTE set.
4453 (describe_buffer_bindings): Likewise.
4454
4455 * lisp.h (push_key_description): Add prototype.
4456
c06017fb
GM
4457 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
4458 around the call to redisplay_internal.
4459
f1d2ce7f
GM
4460 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
4461
2d5912c1
GM
4462 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
4463
9371f831
KH
44642000-12-28 Kenichi Handa <handa@etl.go.jp>
4465
4466 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
4467 (ccl_driver): New local variable `extra_bytes'.
4468
4469 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
4470
52283633
SM
4471 * coding.c (setup_coding_system):
4472 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
4473 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
4474
0c80628a
KH
44752000-12-28 Kenichi Handa <handa@etl.go.jp>
4476
4477 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
4478 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
4479 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
4480 (decode_composition_emacs_mule): New function.
4481 (decode_coding_emacs_mule): Decode composition sequence by calling
4482 decode_composition_emacs_mule.
4483 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
4484 (encode_coding_emacs_mule): Changed from macro to function.
4485 If a text contains compositions, encode them correctly.
0c80628a
KH
4486 (setup_coding_system): Set coding->commong_flags for emacs-mule so
4487 that decoding and encoding are required.
4488
3e32cc27
GM
44892000-12-27 Gerd Moellmann <gerd@gnu.org>
4490
5e25feee
GM
4491 * xfaces.c (PT_PER_INCH): New macro.
4492 (xlfd_point_size): Compute real point size from font's pixel size.
4493 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
4494 instead of 72.
4495
892d8fcd
GM
4496 * .gdbinit: Comment out the line pointing to the Lesstif source
4497 directory.
4498
12c8b416
GM
4499 * window.c (Frecenter): Use displayed_window_lines instead
4500 of window_internal_height.
4501
6061fbf0
GM
4502 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
4503 instead of x-toolkit-scroll-bars-p.
4504 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
4505
4506 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
4507 instead of x-toolkit-scroll-bars-p.
4508 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 4509
3e32cc27
GM
4510 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
4511 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
4512 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
4513 New variables.
4514 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
4515 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
4516 (build_frame_matrix_from_leaf_window): Remove unused code.
4517 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
4518 redisplay history.
4519 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
4520 (update_window) [GLYPH_DEBUG]: Likewise.
4521 (syms_of_display): Defsubr dump-redisplay-history.
4522
31798cfe
GM
45232000-12-23 Gerd Moellmann <gerd@gnu.org>
4524
f717c2ba
GM
4525 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
4526 the end of the prompt. Set echo_after_prompt to the offset
4527 of echoptr in echobuf.
4528
aeb2b8fc
GM
4529 * xdisp.c (init_from_display_pos): Pop until the iterator's
4530 stack is empty; there may be frames for stretch or images
4531 on the stack.
4532
31798cfe
GM
4533 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
4534 (save_or_restore_current_matrix): New function for the same
4535 purpose, but more efficient.
4536 (adjust_frame_glyphs_for_frame_redisplay): Use it.
4537
f8156156
EZ
45382000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
4539
4540 * xdisp.c (syms_of_xdisp): Fix last change.
4541
bdd6d4e8
GM
45422000-12-23 Gerd Moellmann <gerd@gnu.org>
4543
4544 * xdisp.c (syms_of_xdisp): Doc fix.
4545
4546 * xdisp.c (redisplay_window): Remove label restore_buffers;
4547 use finish_scroll_bars instead to make sure that scroll bars
4548 are redeemed. If we don't do this, flickering can result from
4549 scroll bars being destroyed and recreated.
4550
9436cdf9
JR
45512000-12-22 Jason Rumney <jasonr@gnu.org>
4552
4553 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
4554 in the wrong colors when the foreground is not black.
4555 (expose_window): Don't redraw the window that's currently being
4556 updated.
4557
951f9df5
GM
45582000-12-22 Gerd Moellmann <gerd@gnu.org>
4559
856ff7a7
GM
4560 * window.c (size_window): When setting the window's too_small_ok
4561 flag, compare old size with minimum size depending on WIDTH_P,
4562 don't compare with window_min_width.
52283633 4563
951f9df5
GM
4564 * window.c (delete_window): Simplify somewhat.
4565 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
4566 freeing window matrices. The flag windows_or_buffers_changed is
4567 set, so the next redisplay will consider all windows; this should
4568 suffice.
4569
886bc933
KH
45702000-12-22 Kenichi Handa <handa@etl.go.jp>
4571
4572 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
4573
4574 * ccl.h (struct ccl_program): New member cr_consumed.
4575
4576 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
4577 (CCL_READ_CHAR): Handle EOL conversion here.
4578 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
4579
177f4e88
GM
45802000-12-21 Gerd Moellmann <gerd@gnu.org>
4581
52283633 4582 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
4583
4584 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
4585 otherwise tabs of different size compare equal.
4586
4587 * callint.c (Fcall_interactively): Prevent a compiler warning.
4588
4589 * print.c (print_unwind): Return nil.
4590 (PRINTDECLARE): Initialize all local variables.
4591 (print_preprocess): Add a default case.
4592
8e15274f
GM
4593 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
4594
4595 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
4596
52283633 4597 * window.c (delete_window, Fsplit_window)
177f4e88
GM
4598 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
4599
4600 * dispextern.h (ensure_frame_matrix): Function declaration removed.
4601
4602 * dispnew.c (ensure_frame_matrix): Removed.
4603 (save_frame_matrix, restore_frame_matrix): New functions.
4604 (adjust_frame_glyphs_for_frame_redisplay): Use them.
4605
4606 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
4607 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
4608
99012074
AI
46092000-12-21 Andrew Innes <andrewi@gnu.org>
4610
4611 * w32term.c (x_update_begin): Regenerate the palette here, rather
4612 than for each window.
4613
4614 * w32xfns.c (select_palette): Avoid calling SelectPalette if
4615 palette is NULL, since this corrupts memory! Also get
4616 display_info reference from frame.
4617
29ef7d2d
JR
46182000-12-21 Jason Rumney <jasonr@gnu.org>
4619
4620 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
4621
4622 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
4623 to avoid returning without releasing it.
3e27fa1f 4624
3f9d67a6
KH
46252000-12-21 Kenichi Handa <handa@etl.go.jp>
4626
587fc3f9
KH
4627 * keymap.c (push_key_description): Don't convert eight-bit-control
4628 and eight-bit-graphic to multibyte character.
4629
3f9d67a6
KH
4630 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
4631 generic character and CODE1 is nil, return the smallest character
4632 in CHARSET.
4633
774ba8c9
DL
46342000-12-20 Dave Love <fx@gnu.org>
4635
4636 * s/osf5-0.h (NSIG): Don't redefine.
4637
88416888
SM
46382000-12-20 Stefan Monnier <monnier@cs.yale.edu>
4639
4640 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
4641 excluding menu-bar and tool-bar.
4642 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
4643 (menu_item_p): Remove.
4644 (where_is_internal_1): Don't ignore menu-items.
4645
a6426c6f
GM
46462000-12-20 Gerd Moellmann <gerd@gnu.org>
4647
03ff8aab
GM
4648 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
4649 into account.
4650
4651 * window.c (make_window): Initialize window's min_hscroll.
4652 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
4653 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
4654 to zero.
4655 (struct saved_window): New member min_hscroll.
4656 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
4657 (Fset_window_configuration): Set window's min_hscroll.
4658 (save_window_save): Save window's min_hscroll.
4659 (compare_window_configurations): Compare min_hscroll values.
4660
4661 * window.h (struct window): New member min_hscroll.
4662
4663 * keyboard.c (echo_prompt): Prevent a compiler warning.
4664
8de4aaf8
GM
4665 * xdisp.c (try_cursor_movement): Fix last change. The real
4666 condition is that PT is at the end of the row, and should
4667 be displayed at the start of the next row.
52283633 4668
3f7e3031
GM
4669 * xdisp.c (try_cursor_movement): If we end on a partially
4670 visible line, end we already decided to scroll, return -1.
4671
a6426c6f
GM
4672 * dispextern.h (ensure_frame_matrix): Add prototype.
4673
4674 * window.c (delete_window, Fsplit_window)
4675 (Fset_window_configuration): Call ensure_frame_matrix.
4676
52283633
SM
4677 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
4678 New functions.
a6426c6f
GM
4679 (adjust_frame_glyphs_for_frame_redisplay): If display has been
4680 completed, call fake_current_matrices instead of marking frame
4681 garbaged.
4682
57fa2774
JR
46832000-12-20 Jason Rumney <jasonr@gnu.org>
4684
4685 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
4686
d925df90
EZ
46872000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
4688
4689 * fns.c (Frequire): Doc fix.
4690
7b93a85b
GM
46912000-12-19 Gerd Moellmann <gerd@gnu.org>
4692
52283633 4693 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 4694
c74e645b
GM
4695 * dispnew.c (direct_output_for_insert): Fix check for mini-window
4696 currently displaying a message.
4697
7b93a85b
GM
4698 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
4699 xterm.h.
4700 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
4701
90d97e64
AI
47022000-12-18 Andrew Innes <andrewi@gnu.org>
4703
4704 * w32.c (w32_strerror): New function.
4705
4706 * w32.h (w32_strerror): New extern.
4707
4708 * w32fns.c (Fw32_shell_execute): Use it.
4709
91c9e6ce
GM
47102000-12-18 Gerd Moellmann <gerd@gnu.org>
4711
4712 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
4713
6f4745e2
EZ
47142000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
4715
4716 * msdos.c (IT_set_face): Obey inverse_video.
4717
c9e088ce
KH
47182000-12-18 Kenichi Handa <handa@etl.go.jp>
4719
4720 * dired.c (directory_files_internal): Always return decoded filenames.
4721
c3695f5f
GM
47222000-12-18 Gerd Moellmann <gerd@gnu.org>
4723
52d8e4ff
GM
4724 * xterm.c (x_connection_closed): Prevent being called recursively
4725 because of an error condition in XtCloseDisplay.
52283633 4726
62be9979
GM
4727 * xdisp.c (init_iterator): If noninteractive, and the frame's
4728 face cache is null, make one.
4729
52283633 4730 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 4731
c3695f5f
GM
4732 * process.c (wait_reading_process_input): Check for pending
4733 input when running timers.
4734
78555fbe
EZ
47352000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
4736
52283633 4737 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 4738
b2b36264
KH
47392000-12-18 Kenichi Handa <handa@etl.go.jp>
4740
4741 * process.c (read_process_output): Don't run a filter if the code
4742 decoder produces nothing but carryover.
4743
9c543fbf
AI
47442000-12-17 Andrew Innes <andrewi@gnu.org>
4745
4746 * w32.c (sys_rename): Only check errno against EEXIST, and not
4747 EACCES, when determining whether rename failed because the target
4748 exists. This was resulting in indefinite looping on Windows 9x if
4749 the source file was locked by another process.
4750
4751 * w32fns.c (Ffile_system_info): New function.
4752 (syms_of_w32fns): Defsubr it.
4753
10c2b5a8
GM
47542000-12-17 Gerd Moellmann <gerd@gnu.org>
4755
b0228ace
GM
4756 * window.c (coordinates_in_window): Fix computation for
4757 position on vertical line between mode lines.
4758
10c2b5a8
GM
4759 * xfns.c (unwind_create_frame): Return t if frame was deleted.
4760 Don't alter tip_frame or tip_window.
4761 (unwind_create_tip_frame): Set tip_frame to nil only if frame
4762 was deleted.
4763
c844a81a
GM
4764 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
4765 Don't alter tip_frame or tip_window.
4766 (unwind_create_tip_frame): Set tip_frame to nil only if frame
4767 was deleted.
4768
6c825f8e
EZ
47692000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
4770
4771 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
4772 be consistent with the doc string. Reported by NAKAJIMA Mikio
4773 <minakaji@osaka.email.ne.jp>.
4774
af4bb4c8
KH
47752000-12-16 Kenichi Handa <handa@etl.go.jp>
4776
4777 * xfaces.c (Vface_ignored_fonts): New variable.
4778 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
4779 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
4780
8062e53a
GM
47812000-12-15 Gerd Moellmann <gerd@gnu.org>
4782
e87b8809
GM
4783 * dispnew.c (update_window): Detect pending input every nth line
4784 updated, i.e. do it depending on real work done, and not on the
4785 vpos of the line.
4786
4787 * xterm.c (expose_window): Don't redraw the window that's
4788 currently being updated.
4789
a6768cc5
GM
4790 * window.c (Fset_window_point): Remove test for
4791 cursor_in_non_selected_windows.
4792
4ea7fdca
GM
4793 * lread.c (read1): Recognize end of file after `\\'.
4794
8062e53a
GM
4795 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
4796 not unwind_create_frame.
4797
bb7959c1
GM
47982000-12-15 Dave Love <fx@gnu.org>
4799
4800 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
4801 bcopy & al.
4802
4803 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
4804
ced04c42
KH
48052000-12-15 Kenichi Handa <handa@etl.go.jp>
4806
c5443913
KH
4807 * coding.c (setup_coding_system): Clear all members of the struct
4808 coding_system at first.
bc137305
KH
4809 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
4810 argument.
4811 (code_convert_region): Don't override coding->src_multibyte and
4812 coding->dst_multibyte.
c5443913 4813
ced04c42
KH
4814 * fns.c (Fmd5): Docstring improved.
4815
c2d7f289
MB
48162000-12-15 Miles Bader <miles@gnu.org>
4817
4818 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
4819 are actually marked as mode-lines; otherwise use
4820 estimate_mode_line_height.
4821
9d7d9263
GM
48222000-12-14 Gerd Moellmann <gerd@gnu.org>
4823
4824 * editfns.c (Fformat): Prevent a buffer overrun when the format
4825 specifies a precision.
4826
7cf0153a
EZ
48272000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
4828
4829 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
4830 argument is outside the range [2..3].
4831
1de0f662
AI
48322000-12-14 Andrew Innes <andrewi@gnu.org>
4833
4834 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
4835 nothing to do. Bind inhibit-quit.
4836 (tip_frame): Make it a Lisp_Object.
4837 (x_create_tip_frame): Set tip_frame after it has been added to
4838 Vframe_list.
4839 (Fx_show_tip): Don't set tip_frame here.
52283633 4840 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
4841 (unwind_create_frame, unwind_create_tip_frame): New functions.
4842 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
4843 while a frame is only partially constructed.
4844
4845 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
4846 (x_free_frame_resources): New function.
4847 (x_destroy_window): Use it.
4848
02387dcc
GM
48492000-12-14 Gerd Moellmann <gerd@gnu.org>
4850
4851 * xfns.c (Fx_backspace_delete_keys_p): New function.
4852 (syms_of_xfns): Defsubr it.
4853
4854 * config.in (HAVE_XKBGETKEYBOARD): Add.
4855
0544ef49
KH
48562000-12-14 Kenichi Handa <handa@etl.go.jp>
4857
98d62747
KH
4858 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
4859 Always store string in multibyte representation in echobuf.
4860 (echo_char): Always store string in multibyte representation in
4861 echobuf.
4862 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
4863 (read_key_sequence): Adjusted for the change of echo_prompt.
4864
a20193cd
KH
4865 * fns.c (Fmd5): Docstring improved.
4866
191b83b6
KH
4867 * lisp.h (detect_coding_system): Prototype adjusted.
4868
0544ef49
KH
4869 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
4870 (detect_coding_emacs_mule, detect_coding_iso2022,)
4871 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
4872 (detect_coding_utf_16, detect_coding_ccl): Make them static.
4873 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
4874 (detect_coding_mask, detect_coding_system): New argument
4875 MULTIBYTEP. Callers changed.
1da1bb05
KH
4876 (decode_coding_string): Set coding->src_multibyte and
4877 coding->dst_multibyte before calling detect_coding and detect_eol.
4878 Update them after some coding system is detected.
52283633 4879
d5b3eb1b
SM
48802000-12-13 Stefan Monnier <monnier@cs.yale.edu>
4881
4882 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
4883
4884 * keyboard.c (menu_bar_items, tool_bar_items):
4885 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
4886
f7f8bb69
GM
48872000-12-13 Gerd Moellmann <gerd@gnu.org>
4888
52283633 4889 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
4890 New variables.
4891 (unwind_create_frame, unwind_create_tip_frame): New functions.
4892 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
4893 while a frame is only partially constructed.
4894
4895 * xterm.h (x_free_frame_resources): Declare.
4896
4897 * xterm.c (x_free_frame_resources): New function.
4898 (x_destroy_window): Use it.
4899
e10da507
GM
4900 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
4901 don't interrupt the update for pending input initially, i.e.
4902 update at least some lines.
4903
4904 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 4905
d5b3eb1b 4906 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
4907
4908 * xfns.c (gray_bitmap_bits): Declare `char *'.
4909
90aa2856
GM
49102000-12-12 Gerd Moellmann <gerd@gnu.org>
4911
4912 * xdisp.c (display_tool_bar_line): Make sure that tool bar
4913 lines start with a relief line.
4914
a308c9cd
DL
49152000-12-12 Dave Love <fx@gnu.org>
4916
4917 * window.c (Fdisplay_buffer): Doc fix.
4918 (Fwindow_list): Remove unused var.
4919
4920 * buffer.h (mmap_set_vars): Declare.
4921
4922 * window.h (Fset_window_point): Declare.
4923
d575011f
EZ
49242000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
4925
bf6282d2 4926 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
4927 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
4928 variable `area'. When looking for a row under (X,Y), give up if some
4929 of the previous rows is not enabled.
d575011f 4930
ecf4d726
GM
49312000-12-12 Gerd Moellmann <gerd@gnu.org>
4932
2ebf6139
GM
4933 * window.c (Fset_window_point): If displaying cursors in windows
4934 other than the selected window, make sure redisplay updates
4935 other windows to show the new value of point in the window.
4936
4937 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
4938
bfdb75ee
GM
4939 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
4940 the buffer is the sole visible buffer when in the mini-buffer.
4941
52283633 4942 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
4943 Bind `inhibit-read-only' to t.
4944 (unwind_with_echo_area_buffer): Use AREF.
4945
c0006262
GM
4946 * xfns.c (Fx_hide_tip): Simplified.
4947
52283633
SM
4948 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
4949 instead of `1'.
e9a59cad 4950
ecf4d726
GM
4951 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
4952
e5959a9a
GM
49532000-12-11 Gerd Moellmann <gerd@gnu.org>
4954
a3642e49 4955 * xfns.c (Fx_hide_tip): Fix last change.
52283633 4956
44b5a125
GM
4957 * xfns.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.
4963
4964 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
4965
4966 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
4967 Lisp_Object.
4968
4969 * dispextern.h: Change external declaration of tip_frame.
4970
d990421f
GM
4971 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
4972 return an empty string.
4973
4db87380
GM
4974 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
4975 of the window's update_mode_line flag, since the former is set by
4976 force-mode-line-update, not the latter. This makes
4977 column-number-mode slightly faster.
52283633 4978
e5959a9a
GM
4979 * xdisp.c (try_window_id) <all changes above window start>:
4980 Set the cursor.
4981
169fe44e
GM
49822000-12-11 Paul Eggert <eggert@twinsun.com>
4983
4984 * config.in (HAVE_FTELLO): Remove.
4985 (HAVE_FSEEKO): Add.
4986 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
4987 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
4988 HAVE_FTELLO.
4989 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
4990 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 4991
59ec59ae
MB
49922000-12-11 Miles Bader <miles@gnu.org>
4993
4994 * window.c (displayed_window_lines): Don't round up when
4995 converting empty space at bottom to lines.
ff904dd6
MB
4996 Handle non-newline-terminated final lines properly.
4997 (Fwindow_text_height): New function (used to be in lisp).
4998 (syms_of_window): Initialize it.
59ec59ae 4999
42ebfa31
SM
50002000-12-09 Stefan Monnier <monnier@cs.yale.edu>
5001
5002 * syntax.c (scan_lists): Check that the right quote char has the
5003 right Sstring syntax when jumping over strings.
5004 (init_syntax_once): Use Smax rather than 13.
5005
5cdb3cf3
MB
50062000-12-09 Miles Bader <miles@gnu.org>
5007
5008 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
5009 with PARTIALLY, inverting the sense.
5010 (window_scroll_pixel_based): Scroll partially visible lines into
5011 place if we hit the beginning or end of the buffer.
a12167c5
MB
5012 (displayed_window_lines): Don't include partially visible lines.
5013 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 5014
842b2a94
GM
50152000-12-08 Gerd Moellmann <gerd@gnu.org>
5016
5017 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
5018
5019 * tparam.c (tparam1): Change the way buffers are reallocated to be
5020 portable and less obfuscated.
5021
5022 * termcap.c (tgetent): Change the way buffers are reallocated to
5023 be portable and less obfuscated.
5024
5025 * macros.c (store_kbd_macro_char): Change the way buffers are
5026 reallocated to be portable and less obfuscated.
5027
5028 * lread.c (read1): Change the way buffers are reallocated to be
5029 portable and less obfuscated.
5030
5031 * doc.c (Fsubstitute_command_keys): Change the way buffers
5032 are reallocated so that it is portable.
5033
137cad7c
EZ
50342000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
5035
5036 * dosfns.c (Ffile_system_info): New function.
5037 (syms_of_dosfns): Defsubr it.
5038
5c7f629c
SM
50392000-12-07 Stefan Monnier <monnier@cs.yale.edu>
5040
5041 * alloc.c (gc_sweep): Add comment.
5042
959e647d
GM
50432000-12-07 Gerd Moellmann <gerd@gnu.org>
5044
52283633
SM
5045 * sound.c (vox_configure): Change order of ioctls.
5046 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
5047 Ignore errors when changing volume.
5048 (vox_close): Don't reset the device.
5049
926b7e5e
GM
5050 * process.c (read_process_output): Make sure the process marker's
5051 position is valid when the process buffer is changed in
5052 after-change functions. W3 does that.
52283633 5053
959e647d
GM
5054 * xfns.c (x_free_gcs): New function.
5055
5056 * xterm.h (x_free_gcs): Add prototype.
5057
5058 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
5059 freeing GCs here.
5060
5061 * xterm.c (x_destroy_window): Call x_free_gcs so that
5062 resources of non-toolkit X windows will be freed.
5063
478ea067
AI
50642000-12-07 Andrew Innes <andrewi@gnu.org>
5065
5066 * w32fns.c (xlfd_charset_of_font): Fix last change.
5067
fbee3231
DL
50682000-12-06 Dave Love <fx@gnu.org>
5069
67292061
DL
5070 * md5.h (__P): Don't define -- it comes from config.h.
5071
fbee3231
DL
5072 * strftime.c: Change some #if foo to #ifdef foo.
5073
4ee87dbb
AI
50742000-12-06 Andrew Innes <andrewi@gnu.org>
5075
5076 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
5077
52283633 5078 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 5079 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 5080 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 5081
9765b4a4
GM
50822000-12-06 Gerd Moellmann <gerd@gnu.org>
5083
d285b373
GM
5084 * alloc.c (gc_sweep): Prevent symbols read during loadup
5085 from being freed.
5086
384333ee
GM
5087 * xdisp.c (underlying_face_id): New function.
5088 (handle_face_prop, face_before_or_after_it_pos): Use it
5089 to determine the face ``under'' a string. Let strings inherit
5090 the face of the buffer under them.
5091
5092 * xfaces.c (face_at_string_position): Update function comment.
52283633 5093
d4b72d58
GM
5094 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
5095 matrix if the window's left position has changed; we need to
5096 redraw it in this case.
5097
5098 * dispextern.h (struct glyph_matrix): Add member window_left_x.
5099
e1d05387
GM
5100 * window.c (coordinates_in_window): Check mouse on mode-line or
5101 header-line first.
5102
eb1b0c74
GM
5103 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
5104 advertized by the function documentation.
5105
d94d636f
GM
5106 * window.c (syms_of_window): Doc fix.
5107
3887b449
GM
5108 * sound.c (vox_configure): Set volume for left and right channel.
5109 (sound_cleanup): Return nil.
5110
efc8f57a
GM
5111 * xdisp.c (move_it_by_lines): Fix paren typo.
5112
9765b4a4
GM
5113 * xterm.c (x_load_font): Don't use the font's max_bounds for
5114 computing the height of the font. If max_bounds' ascent or
5115 descent are greater than the font's ascent or descent, this means
5116 glyphs overlap, which should be handled now by redisplay.
5117
6529ed87
GM
5118 * window.c (Veven_window_heights): New variable.
5119 (syms_of_window): DEFVAR_LISP it.
5120 (Fdisplay_buffer): Check Veven_window_heights before evening the
5121 window heights.
52283633 5122
0eb2ecde
MB
51232000-12-06 Miles Bader <miles@gnu.org>
5124
5125 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
5126 update `default-frame-alist' instead of setting no frame parameters.
5127
03d7a167
KH
51282000-12-06 Kenichi Handa <handa@etl.go.jp>
5129
5130 * composite.c (update_compositions): Fix typo (use the correct
5131 variable).
5132
5f8803c2
JR
51332000-12-05 Jason Rumney <jasonr@gnu.org>
5134
5135 * md5.h: Remove underscores from function declarations.
5136 (__attribute__, __alignof__) [!__GNUC__]: Define.
5137
5138 * md5.c: Delay include of md5.h until after namespace cleaning.
5139
c28a075b
JR
5140 * makefile.w32-in (fns.o): Depend on md5.h
5141 (md5.o): New target.
5142 (sunfns.o): Remove.
5143
5144 * makefile.nt: Likewise.
5145
ff3c7056
JR
51462000-12-05 Jason Rumney <jasonr@altavista.net>
5147
5148 * w32term.c (expose_area): Complete last change.
5149
0c21eeeb
KR
51502000-12-05 Ken Raeburn <raeburn@gnu.org>
5151
5152 * minibuf.c: Include intervals.h.
5153
f201d732
JR
51542000-12-05 Jason Rumney <jasonr@gnu.org>
5155
5156 * w32term.c (x_produce_glyphs): If a font for a component of
5157 a composition is not found, use 1 pixel dot ascent and 0 dot
5158 descent value to avoid displaying terribly tall empty boxes.
5159 (expose_area): Pass x-coordinate relative to the exposed
5160 area to x_draw_glyphs instead of a window-relative coordinate.
5161
21999ab9
GM
51622000-12-05 Gerd Moellmann <gerd@gnu.org>
5163
4d2036e4
GM
5164 * xdisp.c (next_element_from_ellipsis): Save face before selective
5165 display in saved_face_id, and set face_before_selective_p.
5166 (reseat_1): Reset face_before_selective_p.
5167 (append_space, extend_face_to_end_of_line): If iterator's
5168 face_before_selective_p is set, use the face from saved_face_id.
5169 (extend_face_to_end_of_line): For tty frames, make sure to
5170 use the right face id when producing spaces at the end of
5171 the line.
5172
5173 * dispextern.h (struct it): Add face_before_selective_p.
5174
52be17cc
GM
5175 * keyboard.c (record_char): Don't record identical help-echo
5176 events in recent_keys.
5177
8a4f36cc
GM
5178 * xterm.c [USE_X_TOOLKIT]: Close the display.
5179 (xim_close_dpy): Handle case that the display has been closed.
5180
57d6e381
GM
5181 * xterm.c (x_destroy_window): Reset the frame's X window after
5182 destroying it.
5183
21999ab9
GM
5184 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
5185 variable window_width.
5186 (line_draw_cost): Fix code skipping over spaces at the end of the
5187 line when must_write_spaces is not set.
5188 (scrolling_window): Fix code inserting runs in list of all runs.
5189
91372bb7
KH
51902000-12-05 Kenichi Handa <handa@etl.go.jp>
5191
5192 * coding.c (setup_coding_system): Be sure to initialize
5193 coding->category_idx.
5194
6c083b4c
GM
51952000-12-04 Gerd Moellmann <gerd@gnu.org>
5196
0c68ce6f 5197 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 5198
6452929e
GM
5199 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
5200 area to x_draw_glyphs instead of a window-relative coordinate.
5201
d7f31e22
GM
5202 * fileio.c (auto_save_error): Add parameter ERROR. Show the
5203 error in the message.
5204
ae18aa3b
GM
5205 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
5206 timer after having read a key. It's not good for code reading
5207 several keys in a loop, like an input method.
5208
caa15ef7
GM
5209 * fileio.c (Finsert_file_contents): When VISIT is t, don't
5210 record undo information for format-decode.
5211
5212 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
5213 current buffer is read-only, not if it isn't.
5214
6c083b4c
GM
5215 * keyboard.c (record_char): Record `help-echo' input events
5216 in recent_keys only if they display some help. Don't record
5217 `help-echo' events as macro char.
5218
caa15ef7
GM
52192000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5220
5221 * editfns.c (save_excursion_restore): Don't move point
5222 in another window if it is showing the wrong buffer.
5223 Avoid the call to Fwindow_live_p, for speed.
5224
5a13529b
KH
52252000-12-04 Kenichi Handa <handa@etl.go.jp>
5226
e225faa7
KH
5227 * xfaces.c (struct font_name): New member registry_priority.
5228 (split_font_name): Initialize the above member to zero.
5229 (concat_font_list): New function.
5230 (font_list): Include fonts of all alternative registries.
5231 (FONT_POINT_SIZE_QUANTUM): New macro.
5232 (better_font_p): Ignore point size difference less than
5233 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
5234
e89648b4
KH
5235 * xterm.c (x_produce_glyphs): If a font for a component of
5236 a composition is not found, use 1 pixel dot ascent and 0 dot
5237 descent value to avoid displaying terribly tall empty boxes.
5238
5a13529b
KH
5239 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
5240
d7935eb6
KR
52412000-12-03 Ken Raeburn <raeburn@gnu.org>
5242
5243 * coding.h (code_convert_string1): Declare.
5244
5245 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
5246
52283633 5247 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 5248
0dd5e255
JR
52492000-12-02 Jason Rumney <jasonr@gnu.org>
5250
5251 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
5252 correctly for single byte character case.
5253 (w32_per_char_metric): Do not try to make any assumptions about
5254 the metrics of BDF fonts.
250cfece 5255 (x_estimate_mode_line_height): If `mode-line' face
52283633 5256 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
5257 (note_mouse_highlight): Change the cursor shape on the vertical
5258 border between windows [not enabled].
5259
5260 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
5261
5262 * w32fns.c (Fx_create_frame): Reintroduce the call to
5263 face-set-after-frame-defaults.
5264 (Vx_window_horizontal_drag_shape): New variable.
5265 (syms_of_xfns): DEFVAR_LISP it.
5266 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
5267 enabled].
0dd5e255 5268
b5d8d2ca
GM
52692000-12-02 Simon Josefsson <simon@josefsson.org>
5270
5271 * fns.c (Fmd5): Use a different logic to decide the coding system
5272 to use.
5273
5274 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
5275
fbb87147
EZ
52762000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
5277
52283633 5278 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 5279
447e9da0
GM
52802000-12-01 Gerd Moellmann <gerd@gnu.org>
5281
7708ced0
GM
5282 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
5283 height for YNegative.
5284 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
5285 height; also see comment there.
5286
447e9da0
GM
5287 * window.c (coordinates_in_window): Handle computations for
5288 positions on the vertical bar and fringes differently for
5289 window-system frames. Consider some pixels near the vertical bar
5290 as on the bar if the frame doesn't have vertical scroll bars.
5291 Associate positions between mode or header lines with the
5292 right window, the left one.
5293
86d1db20
JR
52942000-12-01 Jason Rumney <jasonr@gnu.org>
5295
5296 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
5297
5298 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
5299 invalid frame.
5300
a1d58e5b
GM
53012000-12-01 Gerd Moellmann <gerd@gnu.org>
5302
52283633 5303 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
5304 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
5305 (save_window_save, Fset_window_configuration): Save/restore
5306 window's orig_top and orig_height.
5307
89c609af
JR
53082000-12-01 Jason Rumney <jasonr@gnu.org>
5309
4d177746 5310 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 5311
89c609af
JR
5312 * w32fns.c (x_set_cursor_color): Fix last change.
5313
eccc05db
GM
53142000-11-30 Gerd Moellmann <gerd@gnu.org>
5315
31b6671b
GM
5316 * xdisp.c (echo_area_display): If cursor is in the echo area, make
5317 sure that the next redisplay displays the minibuffer, so that
5318 the cursor will be replaced with what the minibuffer wants.
5319
eccc05db
GM
5320 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
5321 #ifndef instead of using #if.
5322 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
5323 USE_TOOLKIT_SCROLL_BARS is defined.
5324
162de750
JR
53252000-11-30 Jason Rumney <jasonr@gnu.org>
5326
5327 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
5328 x_display_cursor.
5329
693c4692
GM
53302000-11-30 Gerd Moellmann <gerd@gnu.org>
5331
5332 * fns.c (Fmd5): Doc fix.
5333
b5d8d2ca 53342000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
5335
5336 * fns.c (Fmd5): New function.
5337 (syms_of_fns): Defsubr md5.
5338
5339 * Makefile.in (obj): Add md5.o
5340
b02cd40b
GM
53412000-11-30 Gerd Moellmann <gerd@gnu.org>
5342
edfb795e
GM
5343 * md5.h, md5.c: New files, taken from glibc.
5344
df3aedcf
GM
5345 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
5346
b02cd40b 5347 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 5348 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 5349
8b5176cd
SM
53502000-11-29 Stefan Monnier <monnier@cs.yale.edu>
5351
5352 * eval.c (Frun_hooks): Allow 0 arguments.
5353
346598f1
GM
53542000-11-29 Gerd Moellmann <gerd@gnu.org>
5355
f9396e03
GM
5356 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
5357 is over the menu bar widget, say it's not on the frame.
5358
4a967a9b
GM
5359 * xfns.c (Fx_create_frame): Reintroduce the call to
5360 face-set-after-frame-defaults.
5361
346598f1
GM
5362 * eval.c (Fsignal): Reset handling_signal.
5363
222456a1
JR
53642000-11-28 Jason Rumney <jasonr@gnu.org>
5365
5366 * w32menu.c (add_menu_item): Reset menu item text when changing
5367 type to radio button.
5368
8049ddc0
GM
53692000-11-28 Gerd Moellmann <gerd@gnu.org>
5370
346598f1 5371 * xselect.c: Update copyright.
f4f4ee4d 5372
bebe4a2c
GM
5373 * window.c (coordinates_in_window): If on a mode or header line,
5374 but sufficiently close to its start, return ``on vertical
5375 border''. This gives us a way to drag windows horizontally when
5376 using toolkit scroll bars.
5377
5378 * xterm.c (note_mouse_highlight): Change the cursor shape
5379 on the vertical border between windows.
5380
5381 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
5382
5383 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
5384 (syms_of_xfns): DEFVAR_LISP it.
5385 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
5386
8d2c2642
GM
5387 * textprop.c (text_read_only): New function.
5388 (verify_interval_modification): Use it instead of signaling
5389 `text-read-only'. This makes it easier to catch this error
52283633 5390 with a breakpoint.:
8d2c2642 5391
52283633 5392 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
5393 not end of line, which includes CR.
5394
5a2bae6c
KH
53952000-11-28 Kenichi Handa <handa@etl.go.jp>
5396
5397 * coding.c (Ffind_coding_systems_region_internal): Be sure to
5398 include no-conversion.
5399
ae31f84d
JR
54002000-11-27 Jason Rumney <jasonr@gnu.org>
5401
5402 * w32fns.c (w32_load_system_font): Always mark font as double byte
5403 if codepage is unicode.
5404
67f1cf4c
GM
54052000-11-27 Gerd Moellmann <gerd@gnu.org>
5406
4a74d071 5407 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 5408 just consume it to avoid unintended skipping over invisible text below.
4a74d071 5409
902ae620
GM
5410 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
5411 `vertical-line', `mode-line' and `header-line' events.
5412
5413 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
5414 of a character, a TAB for instance. This is easier than to set
5415 up the iterator exactly, and it's not a frequent case, so the
5416 additional effort wouldn't really pay off.
5417
c1e279c2
AC
54182000-11-26 Andrew Choi <akochoi@i-cable.com>
5419
67f1cf4c 5420 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
5421 init_window_once.
5422
a609568a
JR
54232000-11-25 Jason Rumney <jasonr@gnu.org>
5424
52283633
SM
5425 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
5426 Args to window_from_coordinates should be pixel coordinates.
48b21762 5427
a609568a
JR
5428 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
5429 redisplay handles them properly.
5430
a658d039
MB
54312000-11-25 Miles Bader <miles@gnu.org>
5432
5433 * indent.c (compute_motion): Keep pos_byte in sync with pos.
5434
d3416cca
JR
54352000-11-24 Jason Rumney <jasonr@gnu.org>
5436
5437 * w32.c (init_environment): Set LANG environment variable based on
5438 locale settings, if not set.
5439
5440 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
5441 making tool bar smaller. When clearing the frame, also
5442 clear current matrices. Clear frame when tool bar disappears.
5443 Don't use more lines for the tool-bar than is available.
5444 (x_change_window_heights): New function.
5445
ba193890
GM
54462000-11-24 Gerd Moellmann <gerd@gnu.org>
5447
2be8f184
GM
5448 * xdisp.c (init_from_display_pos): If POS says we're already after
5449 an overlay string ending at POS, make sure to pop the iterator
5450 because it will be in front of that overlay string. When POS is
5451 ZV, we've thereby also ``processed'' overlay strings at ZV.
5452
ba193890
GM
5453 * xfaces.c (lface_from_face_name): Function comment fix.
5454
1862a24e
MB
54552000-11-24 Miles Bader <miles@gnu.org>
5456
5457 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
5458 apply `mode-line-inverse-video' -- zero means force display using
5459 the default face, non-zero means display using the specialized face.
5460 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
5461
f07fa1b8
KH
54622000-11-23 Kenichi Handa <handa@etl.go.jp>
5463
5464 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
5465 hard coded `4'.
5466
2bcdf662
EZ
54672000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
5468
5469 * coding.c (decode_coding_emacs_mule): Fix the case of
5470 CODING_EOL_LF, which used uninitialized value of c.
5471
ba8299ff
SM
54722000-11-23 Stefan Monnier <monnier@cs.yale.edu>
5473
5474 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
5475
f4117c4d
GM
54762000-11-22 Gerd Moellmann <gerd@gnu.org>
5477
03e757c1
GM
5478 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
5479 buffer object.
5480
f4117c4d
GM
5481 * frame.h (struct frame): Replace desired_tool_bar_items,
5482 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 5483 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
5484
5485 * frame.c (make_frame): Change initialization of tool bar
5486 items accordingly.
5487
5488 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 5489 Change references to members deleted from struct frame to use the
f4117c4d
GM
5490 new ones.
5491
5492 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 5493 references to members deleted from struct frame to use the new ones.
f4117c4d 5494
52283633 5495 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
5496
5497 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
5498
5499 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 5500 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
5501 from struct frame to use the new ones.
5502
f8e2f3f2
MB
55032000-11-23 Miles Bader <miles@gnu.org>
5504
5505 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
5506 the face's inverse-video attribute, rather than overriding it.
5507
60e8e0a5
GM
55082000-11-22 Gerd Moellmann <gerd@gnu.org>
5509
5510 * xfns.c (x_set_tool_bar_lines): Clear internal border when
5511 making tool bar smaller.
5512
92dd1b29
DL
55132000-11-22 Dave Love <fx@gnu.org>
5514
5515 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
5516
e672fdce
MB
55172000-11-22 Miles Bader <miles@gnu.org>
5518
3a17d6cc
MB
5519 * keyboard.c (Vminibuffer_message_timeout): New variable.
5520 (command_loop_1): Use it to determine message timeout.
5521 (syms_of_keyboard): Initialize it.
5522
60e8e0a5 5523 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 5524
e9655d81
KH
55252000-11-22 Kenichi Handa <handa@etl.go.jp>
5526
5527 * sysdep.c: Move the code for declaring h_errno after #include
5528 <netdb.h>.
5529
77270fac
GM
55302000-11-21 Gerd Moellmann <gerd@gnu.org>
5531
cd913aae
GM
5532 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
5533 the menu bar when the tooltip is unmapped.
5534
77270fac
GM
5535 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
5536 sole visible buffer when we're currently in the mini-buffer, and
5537 give up if so.
52283633 5538
556635d6
JR
55392000-11-21 Jason Rumney <jasonr@gnu.org>
5540
5541 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
5542 put on the clipboard.
5543 (Fw32_get_clipboard_data): Compare data on clipboard with saved
5544 copy of what Emacs last put there. If they are the same, do not
52283633 5545 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 5546
5b7bde64
MB
55472000-11-22 Miles Bader <miles@gnu.org>
5548
5549 * minibuf.c (Vminibuffer_prompt_properties): New variable.
5550 (syms_of_minibuf): Initialize it.
5551 (read_minibuf): Add properties from Vminibuffer_prompt_properties
5552 to prompt, don't make read-only.
5553
ff23e1dd
GM
55542000-11-21 Gerd Moellmann <gerd@gnu.org>
5555
52283633
SM
5556 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
5557 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 5558
7aaf4388
GM
5559 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
5560
f5f47add 5561 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 5562
ff23e1dd
GM
5563 * term.c, cm.c: Don't try to include termcap.h; see comment there.
5564
37c35586
KH
55652000-11-21 Kenichi Handa <handa@etl.go.jp>
5566
5567 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
5568 ... #endif scope.
5569
ff9ab414
GM
55702000-11-20 Gerd Moellmann <gerd@gnu.org>
5571
52283633 5572 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
5573 screen supports it.
5574
29a01b72
GM
5575 * s/gnu-linux.h: Don't use `#cpu'.
5576
09dfdf85
GM
5577 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
5578 not defined in mman.h.
5579
52283633 5580 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
5581 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
5582 and store an index in the XClientMessageEvent. Storing a
5583 Lisp_Object or pointer can fail on a 64 bit system, since X only
5584 transfers 32 bits.
52283633
SM
5585 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
5586
81459ac9
DL
55872000-11-20 Dave Love <fx@gnu.org>
5588
5589 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
5590
56c13ae6
GM
55912000-11-20 Gerd Moellmann <gerd@gnu.org>
5592
5593 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
5594
495a6df3
KH
55952000-11-20 Kenichi Handa <handa@etl.go.jp>
5596
2bcf3714
KH
5597 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
5598 by WIDTH.
5599
495a6df3
KH
5600 * alloc.c (make_string): Fix previous change. Be sure to make
5601 unibyte string correctly.
5602
6d950f4c
GM
56032000-11-19 Gerd Moellmann <gerd@gnu.org>
5604
39b39373
GM
5605 * window.c (Fwindow_list): Change parameter list to be XEmacs
5606 compatible.
5607 (window_list_1): New function.
5608 (window_loop): Use it instead of Fwindow_list.
5609
b95b34e5
GM
5610 * sysdep.c (emacs_ospeed): New variable.
5611 (toplevel): Don't declare ospeed extern.
5612 (init_baud_rate): Use emacs_ospeed instead of ospeed.
5613
5614 * termcap.c (ospeed): Remove.
5615 (tputs) [!emacs]: Remove unused code.
5616 (tgetent): Avoid a compiler warning.
5617
e83dc917
GM
5618 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
5619 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 5620 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
5621
5622 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
5623 removed.
5624 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
5625 Take the X display as additional argument.
5626 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
5627 `Widget' is a pointer type that's not easily stored in Lisp_Object
5628 form in a portable way.
52283633 5629
6d950f4c
GM
5630 * dispnew.c (update_text_area): Fix last change.
5631
e47306e6
GM
56322000-11-18 Gerd Moellmann <gerd@gnu.org>
5633
fb3cd89b
GM
5634 * xdisp.c: Use BINDING_STACK_SIZE throughout.
5635
5636 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
5637 clear current matrices.
5638
edaa9aed
GM
5639 * buffer.c (mmap_enlarge): Don't print a message on stderr
5640 if mapping new memory at the end of the existing region fails.
5641
e47306e6
GM
5642 * dispnew.c (update_text_area): Don't skip over equal glyphs
5643 when the last current glyph overlaps the glyph to its right.
5644
509633e3
MB
56452000-11-18 Miles Bader <miles@gnu.org>
5646
5647 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
5648 lines that *end* with "..." too (that's the most common case!).
5649
d392e9c5
GM
56502000-11-18 Gerd Moellmann <gerd@gnu.org>
5651
67988445
GM
5652 * xdisp.c (resize_mini_window): Temporarily change to the
5653 mini-window's buffer if necessary.
1bfdbe43 5654
d392e9c5
GM
5655 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
5656 the tooltip obscures less text under it.
5657
56582000-11-17 Gerd Moellmann <gerd@gnu.org>
5659
5660 * puresize.h (BASE_PURESIZE): Increase to 700000.
5661
92bb977f
JR
56622000-11-18 Jason Rumney <jasonr@gnu.org>
5663
5664 * w32term.c (w32_draw_bitmap): Use face to set colors.
5665
26fbf20b
DL
56662000-11-17 Dave Love <fx@gnu.org>
5667
5668 * lread.c (Fload): Fix #ifdef for pcc.
5669
100b593b
GM
56702000-11-17 Gerd Moellmann <gerd@gnu.org>
5671
5672 * xdisp.c (pos_visible_p): Compute the default character height
5673 differently.
5674
a288d0d1
GM
56752000-11-16 Gerd Moellmann <gerd@gnu.org>
5676
cac94de6 5677 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 5678 knowing the line's height; use the default font's height in that case.
cac94de6 5679
a288d0d1
GM
5680 * xfaces.c (weight_table): Add `demi' with the same meaning as
5681 `demibold'.
5682
981fb6f6
KH
56832000-11-16 Kenichi Handa <handa@etl.go.jp>
5684
2cca872d 5685 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
5686 (clear_glyph_row): Delete local static variable null_row.
5687
e5fa381b
JR
56882000-11-15 Jason Rumney <jasonr@gnu.org>
5689
5690 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
5691 (w32_alloc_lighter_color): Use new brightness calculations from
5692 xterm.c. Scale delta to be in the range expected by W32.
5693 (w32_draw_relief_rect): Use frame relief colors.
5694
8e42f043
GM
56952000-11-15 Gerd Moellmann <gerd@gnu.org>
5696
6d133d1f
GM
5697 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
5698 (Qinhibit_default_face_x_resources): New variable.
5699 (syms_of_frame): Initialize it.
5700 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
5701
5702 * xdisp.c (pos_visible_p): Improve function comment.
5703
5704 * lisp.h (BINDING_STACK_SIZE): New macro.
5705
8e42f043
GM
5706 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
5707 reading the directory if readdir returns null and errno is EAGAIN
5708 or EINTR.
5709
e8c87124
SM
57102000-11-14 Stefan Monnier <monnier@cs.yale.edu>
5711
5712 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
5713 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
5714 Set amount_to_scroll to max of dx and scroll_step so that
5715 scroll-conservatively doesn't defeat scroll-step>1.
5716 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
5717 scroll-conservatively for line-at-a-time scrolling.
5718
5f0c971d
GM
57192000-11-14 Gerd Moellmann <gerd@gnu.org>
5720
5721 * window.c (Fpos_visible_in_window_p): Call pos_visible with
5722 extra argument.
5723
5724 * xdisp.c (current_mode_line_height, current_header_line_height):
5725 New variables.
5726 (init_xdisp): Initialize them.
5727 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
5728 and use exact mode line heights if it is set.
5729
5730 * lisp.h (pos_visible_p): Change prototype.
5731
5732 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
5733 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
5734 and current_header_line_height first.
52283633
SM
5735 (current_mode_line_height, current_header_line_height):
5736 Declare extern.
5f0c971d 5737
d7361edf
MB
57382000-11-14 Miles Bader <miles@lsi.nec.co.jp>
5739
5740 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
5741 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
5742 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
5743
ee5e440a
MB
57442000-11-14 Miles Bader <miles@gnu.org>
5745
5746 * xterm.c (x_alloc_lighter_color): Include an additive component
5747 too for dark colors, because FACTOR isn't enough.
5748 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
5749 New macros.
5750
5ca020fc
GM
57512000-11-13 Gerd Moellmann <gerd@gnu.org>
5752
5753 * keyboard.c (show_help_echo): Call message3_nolog with number of
5754 bytes in the help string as 2nd parameter, instead of the number
5755 of characters.
5756
9d348294
MB
57572000-11-13 Miles Bader <miles@gnu.org>
5758
5759 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
5760 (Fload): Use new openp return protocol.
5761 Don't try to use Vload_source_file_function to load .elc files.
5762 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
5763 openp return protocol.
5764 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
5765
1729bb9a
KH
57662000-11-11 Kenichi Handa <handa@etl.go.jp>
5767
4e677396
KH
5768 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
5769
5770 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
5771 Defined these macros.
5772 (NLIST_STRUCT): Avoid re-defining it.
5773
1729bb9a
KH
5774 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
5775 -I/usr/contrib/X11R6/include.
5776 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
5777
a82fe213
JR
57782000-11-10 Jason Rumney <jasonr@gnu.org>
5779
5780 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
5781
5782 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
5783 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
5784
5785 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
5786 (Qw32_charset_vietnamese): New symbol.
5787 (xlfd_charset_of_font): New function.
5788 (w32_load_system_font): Use it.
5789 (x_to_w32_charset): Use Fassoc to find charset info. Special case
5790 when Vw32_charset_info_alist is nil to ensure default face always
5791 has font. Use Fcar and Fcdr for safety.
5792 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
5793 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
5794 pseudo-codepages for special cases.
5795 (w32_to_x_font): New parameter to allow charset portion to be
5796 specified where there is many to one mapping. Callers changed.
5797 (w32_list_fonts): Avoid listing fonts that won't display.
5798
52d89894
GM
57992000-11-10 Gerd Moellmann <gerd@gnu.org>
5800
5801 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
5802 (font_list_1): Renamed from font_list.
5803 (font_list): New function, trying alternative registries from
5804 Vface_alternative_font_registry_alist.
5805 (Finternal_set_alternative_font_registry_alist): New function.
5806 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
5807 Vface_alternative_font_registry_alist.
5808 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 5809
651cd3da
KR
58102000-11-09 Ken Raeburn <raeburn@gnu.org>
5811
5812 * lisp.h (Flooking_at): Declare.
5813
388ac098
GM
58142000-11-09 Gerd Moellmann <gerd@gnu.org>
5815
778fbc46 5816 * dired.c (directory_files_internal): Fix a braino.
52283633 5817
388ac098
GM
5818 * dired.c (directory_files_internal): Add missing GCPRO's.
5819 Some cleanup.
5820
ecaedde1
GM
58212000-11-08 Gerd Moellmann <gerd@gnu.org>
5822
f7eb32aa
GM
5823 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
5824 (resize_mini_window): Return quickly if Vresize_mini_window is
5825 nil. Don't return if Vmax_mini_window_height is nil.
5826
5827 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
5828 (syms_of_xdisp): Initialize them.
5829 (resize_mini_window): Act according to the setting of
5830 Vresize_mini_window.
5831 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
5832
ecaedde1
GM
5833 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
5834 scroll bar widget after configuring it, so that it will appear at
5835 the right position from the start.
5836 (XTredeem_scroll_bar): Cleaned up.
5837
3747ef2c
KH
58382000-11-08 Kenichi Handa <handa@etl.go.jp>
5839
5840 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 5841 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
5842 division by two.
5843
5844 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
5845
03391420
DL
58462000-11-07 Dave Love <fx@gnu.org>
5847
7758f1c1 5848 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
5849
5850 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
5851
b5de343d
GM
58522000-11-07 Gerd Moellmann <gerd@gnu.org>
5853
acad3c0b
GM
5854 * window.c (Fset_window_configuration): Don't try to preserve
5855 point in the current buffer, if that buffer is displayed in more
5856 than one window.
5857
b5de343d
GM
5858 * xfaces.c (lookup_named_face): If default face isn't realized,
5859 try to realize it. Return -1 if not successful.
5860 (Fx_list_fonts): Handle case that face cannot be determined.
5861 (Fface_font): Likewise.
5862
cdb1fe49
GM
58632000-11-06 Gerd Moellmann <gerd@gnu.org>
5864
5865 * window.c (displayed_window_lines): Detect partially
5866 visible lines at the bottom correctly.
5867
d3a67486
SM
58682000-11-06 Stefan Monnier <monnier@cs.yale.edu>
5869
5870 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
5871 when ensuring we don't do visit in indirect buffer.
5872
ff8dd5d5
KH
58732000-11-06 Kenichi Handa <handa@etl.go.jp>
5874
5875 * composite.h (compose_chars_in_text): Add prototype.
5876
5877 * composite.c (Vcomposition_function_table): New variable.
5878 (Qcomposition_function_table): New variable.
5879 (run_composition_function): Call
5880 Vcompose_chars_after_function with three arguments.
5881 (compose_chars_in_text): New function.
5882 (syms_of_composite): Modified the doc-string of
5883 Vcompose_chars_after_function. Declare composition-function-table
5884 as a lisp variable, and initialize it.
5885
5886 * xfns.c (x_encode_text): Suppress producing escape sequences for
5887 composition.
5888
5889 * xselect.c: Include composite.h.
5890 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
5891
d1145f85
AI
58922000-11-05 Andrew Innes <andrewi@gnu.org>
5893
5894 * w32term.c (x_produce_glyphs): Fix typo in enum name.
5895
5896 * sysdep.c (read_input_waiting): Remove extraneous argument to
5897 read_socket_hook.
5898
5899 * w32fns.c (Fx_server_version): Include w32_build_number in the
5900 return list.
5901
5902 * w32heap.c (w32_build_number): New variable.
5903 (cache_system_info): Set it.
5904
5905 * w32heap.h (w32_build_number): Add extern.
5906
5907 * emacs.c (syms_of_emacs): Update docstring for
5908 system-configuration, to reflect the actual usage on MS-Windows.
5909
e85ee976
GM
59102000-10-31 Gerd Moellmann <gerd@gnu.org>
5911
26dcb81b
GM
5912 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
5913 process idle timers while waiting for another event.
5914
52283633 5915 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
5916 the default face are colored.
5917
e85ee976
GM
5918 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
5919 window height hasn't changed.
5920
01b220b6
JR
59212000-10-31 Jason Rumney <jasonr@gnu.org>
5922
5923 * w32term.c (x_produce_glyphs): Handle composite characters.
5924 (x_draw_glyph_string_foreground)
5925 (x_draw_composite_glyph_string_foreground): Restore old font.
5926
4e6b7204
MB
59272000-10-31 Miles Bader <miles@lsi.nec.co.jp>
5928
5929 * minibuf.c (read_minibuf): Reset the undo history just before
5930 starting the recursive-edit.
5931
d4358b37
GM
59322000-10-30 Gerd Moellmann <gerd@gnu.org>
5933
563f68f1
GM
5934 * xfaces.c (menu_face_change_count): New variable.
5935 (Finternal_set_lisp_face_attribute): Increment it for changes
5936 of the `menu' face.
5937 (realize_basic_faces): Reflect changes in the `menu' faces
5938 in menu bars.
5939
82e274d1
GM
5940 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
5941 dy obtained from the iterator's y-position after moving from
5942 scroll_margin_pos to PT; see comment there.
52283633 5943
0dbf9fd2
GM
5944 * xdisp.c (safe_eval_handler): Call add_to_log.
5945
906b3b14
GM
5946 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
5947 is not a symbol or string.
5948
d4358b37
GM
5949 * xdisp.c (echo_area_display): Don't perform a display update from
5950 inside redisplay. The update will happen anyway at the end of
5951 redisplay, and it can confuse redisplay (GC messages while
5952 redisplaying, for instance.)
5953
70c825df
SM
59542000-10-30 Stefan Monnier <monnier@cs.yale.edu>
5955
cf9b4b0b
SM
5956 * xrdb.c (x_load_resources): Use the class name in the defaults.
5957
70c825df
SM
5958 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
5959 (regex_compile): Catch bogus \(\1\).
5960
a1d34b1e
GM
59612000-10-30 Gerd Moellmann <gerd@gnu.org>
5962
cae71efe
GM
5963 * xterm.c (x_alloc_nearest_color): Fix last change to compare
5964 RGB values.
52283633 5965
35efe0a1
GM
5966 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
5967 we have a color cache, check that the cached color equals the
5968 allocated color. If not, clear the color cache.
5969
1d3baf74
GM
5970 * window.c (displayed_window_lines): Change buffers if necessary.
5971 Fix computation of displayed lines.
5972
a1d34b1e
GM
5973 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
5974 update_menu_bindings to DEFVAR_BOOL.
5975
70737ea9
KH
59762000-10-30 Kenichi Handa <handa@etl.go.jp>
5977
70c825df 5978 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 5979
fa0cb51d
KH
5980 * puresize.h (BASE_PURESIZE): Increase to 680000.
5981
70737ea9
KH
5982 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
5983
0e4c08e8
JR
59842000-10-29 Jason Rumney <jasonr@gnu.org>
5985
5986 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
5987
5988 * w32term.c (w32_bdf_per_char_metric): Negate descent.
5989 (w32_cache_char_metrics): Handle possibility that 'x' does not
5990 exist in a BDF font.
5991 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
5992
5993 * w32bdf.h (bdffont): Add nchars.
5994
5995 * w32bdf.c (set_bdf_font_info): Set it.
5996 (w32_BDF_TextOut): Swap byte order of double byte characters.
5997 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
5998
45b84006
EZ
59992000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
6000
6001 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
6002 don't override the colors in frame's param_alist, unless they are
6003 unspecified.
6004
6005 * term.c (reassert_line_highlight): If inverse_video is non-zero,
6006 reverse the effect of the highlight flag.
6007
caf9deee
KR
60082000-10-27 Ken Raeburn <raeburn@gnu.org>
6009
6010 * window.h (Fwindow_live_p): Declare.
6011
ae0b9b46
KR
6012 * undo.c (record_delete): Check that last_undo_buffer is really a
6013 buffer before applying XBUFFER to it.
6014
6015 * keymap.c (where_is_internal): Pass lisp object, not integer, to
6016 Faref.
6017
02067692
SM
60182000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6019
6020 * lisp.h (KEYMAPP): New macro.
6021 (get_keymap): Remove.
6022 (get_keymap_1): Rename get_keymap.
6023
6024 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
6025
6026 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
6027
6028 * xmenu.c (single_submenu): Use KEYMAPP.
6029 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6030 Use KEYMAPP rather than Fkeymapp.
6031
6032 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
6033
6034 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
6035 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6036 Use KEYMAPP rather than Fkeymapp.
6037 (single_submenu): Use KEYMAPP.
6038 (w32_menu_show, w32_dialog_show): Use TRUE.
6039
6040 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
6041
6042 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
6043 (Fkeymapp): Use KEYMAPP.
6044 (get_keymap): Rename from get_keymap_1. Remove old def.
6045 Return t when autoload=0 and error=0 and the keymap needs autoloading.
6046 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
6047 (Fminor_mode_key_binding): Don't raise an error if the binding
6048 is not a keymap.
6049 (Fuse_global_map, Fuse_local_map): Allow autoloading.
6050 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
6051
6052 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
6053 Allow Vspecial_event_map to be autoloaded.
6054 (menu_bar_items): Fetch the keymap rather than using keymapp.
6055 (menu_bar_one_keymap): No need to follow func-indirect any more.
6056 (parse_menu_item): get_keymap_1 -> get_keymap.
6057 (tool_bar_items): Fetch the keymap rather than using keymapp.
6058 (read_key_sequence): Use KEYMAPP.
6059
6060 * intervals.c (get_local_map): Use get_keymap rather than following
6061 function-indirections explicitly.
6062
6063 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
6064
f9d80af3
JR
60652000-10-27 Jason Rumney <jasonr@gnu.org>
6066
6067 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
6068 point, as Windows has oversized fonts.
6069
6070 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
6071
a3ba27da
GM
60722000-10-27 Gerd Moellmann <gerd@gnu.org>
6073
6074 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
6075 (freehook, reallochook): Handle null pointer arguments.
6076 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
6077
aa3b80cc
SM
60782000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6079
6080 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
6081 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
6082 Giving in to popular pressure to shut up the compiler with casts.
6083
e24e84cc
GM
60842000-10-27 Gerd Moellmann <gerd@gnu.org>
6085
6086 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
6087 signed value, and use a default value computed from the font's
6088 maximum descent.
6089
05ea7ef2
MB
60902000-10-27 Miles Bader <miles@lsi.nec.co.jp>
6091
6092 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
6093 that specify a negative underline position can still use underlines.
6094
6095 * window.c (Fpos_visible_in_window_p): Make POS default to
6096 WINDOW's point, not the current buffer's point.
6097
0b95284b
DL
60982000-10-26 Dave Love <fx@gnu.org>
6099
6100 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
6101 when it's necessary.
6102
6c5b90af
GM
61032000-10-26 Gerd Moellmann <gerd@gnu.org>
6104
8b6d9dc9
GM
6105 * window.c (size_window): Compute size difference from sum of old
6106 child window sizes instead of from parent's size.
6107
6bc92b2e
GM
6108 * xdisp.c (pos_visible_p): Change current buffer if necessary.
6109 Handle obscured lines at the top of the window.
6110
6111 * frame.c (Fdelete_frame): Doc fix. Move running the hook
6112 down after the last error condition check.
6113
6c5b90af
GM
6114 * frame.c (Fdelete_frame): Run delete-frame-hook.
6115
42f92d4d
KH
61162000-10-26 Kenichi Handa <handa@etl.go.jp>
6117
6118 * coding.c (decode_coding): Fix previous change (check also
6119 CODING_MODE_LAST_BLOCK).
6120
d97151cb
SM
61212000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6122
e7efc503
SM
6123 * regex.c: More `unsigned char' -> `re_char' changes.
6124 Also change several `int' into `re_wchar_t'.
6125 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
6126 (PUSH_FAILURE_POINTER): Don't cast any more.
6127 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
6128 We want GCC to complain, since this piece of code makes
6129 re_match non-reentrant, which *should* be fixed.
6130 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
6131 (EXTEND_BUFFER): Use RETALLOC.
6132 (SET_LIST_BIT): Don't cast.
6133 (re_wchar_t): New type.
6134 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
6135 that those two functions will always properly return.
6136 (IMMEDIATE_QUIT_CHECK): Cast to void.
6137 (analyse_first): Use recursion rather than an explicit stack.
6138 (re_compile_fastmap): Can't fail anymore.
6139 (re_search_2): Don't check re_compile_fastmap for failure.
6140 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
6141 Now also sets the new value (passed in a new argument).
6142 (re_match_2_internal): Use it.
6143 Also, use a new var `reg' of type size_t when looping through regs
6144 rather than reuse the inappropriate `mcnt'.
6145
d97151cb
SM
6146 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
6147 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
6148 (where_is_internal): Renamed from Fwhere_is_internal.
6149 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
6150 (Fwhere_is_internal): New function wrapping where_is_internal.
6151 (where_is_internal_1): Handle the case where we're filling the cache.
6152 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
6153
d5789b65
MB
61542000-10-25 Miles Bader <miles@gnu.org>
6155
6156 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
6157
4ecda532
GM
61582000-10-25 Gerd Moellmann <gerd@gnu.org>
6159
6160 * window.c (pos_fully_visible_p): Removed.
6161 (Fpos_visible_in_window_p): Use pos_visible_p to determine
6162 if position is visible and/or fully visible.
6163
6164 * lisp.h (pos_visible_p): Add prototype.
6165
6166 * xdisp.c (pos_visible_p): New function.
6167
68c3a137
KH
61682000-10-25 Kenichi Handa <handa@etl.go.jp>
6169
6170 * process.c (send_process): If OBJECT is t, it means that the data
6171 is from C string, but we should encode it. Before calling
6172 setup_raw_text_coding_system, be sure to flush out data by the
6173 previous coding system.
6174
7ae1c032
MB
61752000-10-25 Miles Bader <miles@lsi.nec.co.jp>
6176
ff4dcd4b
MB
6177 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
6178 assignment of startpos to prev when startpos == pos.
6179
7ae1c032
MB
6180 * editfns.c (find_field): Set the field stickiness correctly from
6181 overlay fields. Use renamed `text_property_stickiness'.
6182 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 6183 Only check text properties, not overlays.
7ae1c032
MB
6184 * textprop.c (get_char_property_and_overlay): New function.
6185 (Fget_char_property): Use it.
6186 * intervals.h (get_char_property_and_overlay): Add declaration.
6187
49801145
SM
61882000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6189
6190 * keymap.c: Use AREF, ASET and ASIZE macros.
6191 (Fmake_sparse_keymap): Docstring fix.
6192 (synkey): Remove.
6193 (shadow_lookup): Move up.
6194 Handle the case where lookup-key returns an integer.
6195 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
6196 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
6197 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
6198 Simplify/rewrite the keymap-finding code.
6199 Add check for command shadowing, using shadow_lookup.
6200
39e776cd
SM
62012000-10-24 Stefan Monnier <monnier@cs.yale.edu>
6202
6203 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
6204 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
6205 a symbol.
6206
2488aba5
AI
62072000-10-24 Andrew Innes <andrewi@gnu.org>
6208
6209 * dired.c (directory_files_internal_unwind): New function.
6210 (directory_files_internal): Use it to ensure closedir is called
6211 even if expand-file-name or file-attributes throw, eg. because of
6212 a user interrupt. Also enable immediate_quit while calling
6213 re_search, so that matching can be interrupted as well.
6214
b94fdf61
AI
62152000-10-24 Andrew Innes <andrewi@gnu.org>
6216
6217 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
6218 NT-Emacs only.
6219 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
6220 so that re_search functions only quit when callers expect them to.
6221
62222000-10-24 Kenichi Handa <handa@etl.go.jp>
6223
6224 * regex.c (regex_compile): Change the way of handling a range from
6225 a char less than 256 to a char not less than 256.
6226
1946f901
GM
62272000-10-24 Gerd Moellmann <gerd@gnu.org>
6228
7ae2f10f
GM
6229 * window.c (size_window): Prevent setting window's width or
6230 height to a negative value (esp. with XSETFASTINT).
6231
5dcab13e
GM
6232 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
6233 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
6234 (protect_malloc_state) [GC_MALLOC_CHECK &&
6235 GC_PROTECT_MALLOC_STATE]: New function.
6236 (PROTECT_MALLOC_STATE): New macro.
6237 (__malloc_initialize, morecore, _malloc_internal)
6238 (_free_internal) _realloc_internal): Use it to make _heapinfo
6239 read-only outside of gmalloc.
6240
63e1b552
GM
6241 * keymap.c: Update copyright.
6242
1946f901
GM
6243 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
6244 a symbol.
6245
4fa09beb
GM
62462000-10-24 Colin Walters <walters@cis.ohio-state.edu>
6247
6248 * filelock.c (unlock_all_files): Use unlock_file to expand each
6249 buffer's file_truename before trying remove its lock file.
6250
23afac01
EZ
62512000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
6252
6253 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
6254 or CRLF, decode EOLs.
6255
04448b95
KH
62562000-10-24 Kenichi Handa <handa@etl.go.jp>
6257
6258 * window.c (Fdisplay_buffer): Fix doc.
6259
3090a5a5
JR
62602000-10-23 Jason Rumney <jasonr@gnu.org>
6261
6262 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
6263 ASCII font of default fontset on Windows.
6264
6265 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
6266 xterm.c comment below).
6267
6268 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
6269
a83fee2c
GM
62702000-10-23 Gerd Moellmann <gerd@gnu.org>
6271
6272 * xterm.c (x_connection_closed): Reset handling_signal.
6273
52283633 6274 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 6275
6ffdb539
MB
62762000-10-23 Miles Bader <miles@gnu.org>
6277
6278 * window.c (window_scroll_pixel_based, window_scroll_line_based):
6279 Pass nil for FULLY argument to Fpos_visible_in_window_p to
6280 maintain old behavior.
6281 * minibuf.c (Fminibuffer_complete): Likewise.
6282
7f1c969b
MB
62832000-10-23 Miles Bader <miles@lsi.nec.co.jp>
6284
6285 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
6286 that when a font can't be exactly centered, it errs up rather than
6287 down.
6288
23afac01 62892000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 6290
52283633 6291 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 6292
1a578e9b
AC
62932000-10-23 Andrew Choi <akochoi@i-cable.com>
6294
6295 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
6296
6297 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 6298 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
6299
6300 * emacs.c (main) [macintosh]: Call syms_of_textprop,
6301 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
6302 syms_of_search, x_term_init, and init_keyboard before calling
6303 init_window_once. Also, call syms_of_xmenu.
6304
6305 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
6306 default fontset to Monaco.
6307
6308 * frame.c [macintosh]: Include macterm.h. Remove declarations of
6309 NewMacWindow and DisposeMacWindow.
6310 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
6311 instead of calling NewMacWindow and setting fields of
6312 f->output_data.mac directly. Call init_frame_faces.
6313 (Fdelete_frame) [macintosh]: Remove unused code.
6314 (Fmodify_frame_parameters) [macintosh]: Call
6315 x_set_frame_parameters instead of mac_set_frame_parameters.
6316
6317 * frame.h [macintosh]: Define menu_bar_lines field in struct
6318 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
6319
6320 * keyboard.c [macintosh]: Include macterm.h.
6321 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
6322 and menu_bar_activate_event type events as for X and NT.
6323 (make_lispy_event) [macintosh]: Construct lisp events of type
6324 MENU_BAR_EVENT as for X and NT.
6325
6326 * sysdep.c [macintosh]: Remove declaration for sys_signal.
6327 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
6328 (sys_subshell) [macintosh]: Remove definition entirely.
6329 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
6330 Vwindow_system_version here. Remove initialization of
6331 Vx_bitmap_file_path.
6332 (read_input_waiting): Correct the number of parameters passed to
6333 read_socket_hook.
6334 Move all Macintosh functions to mac/mac.c.
6335
6336 * term.c [macintosh]: Include macterm.h.
6337
6338 * window.c [macintosh]: Include macterm.h.
6339
6340 * xdisp.c [macintosh]: Include macterm.h. Declare
6341 set_frame_menubar and pending_menu_activation.
6342 (echo_area_display) [macintosh]: Do not return if terminal frame
6343 is the selected frame.
6344 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
6345 Allow only the selected frame to set menu bar.
6346 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
6347 calling FRAME_EXTERNAL_MENU_BAR (f).
6348 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
6349
6350 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
6351 and check_x. Declare XCreateGC. Define x_create_gc and
6352 x_free_gc. Initialize font_sort_order.
6353 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
6354 but call x_list_fonts instead of w32_list_fonts.
6355 (Finternal_face_x_get_resource) [macintosh]: Do not call
6356 display_x_get_resource.
6357 (prepare_face_for_display) [macintosh]: Set xgcv.font.
6358 (realize_x_face) [macintosh]: Load the font if it is specified in
6359 ATTRS.
52283633 6360 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 6361
1ffbabe3
SM
63622000-10-22 Stefan Monnier <monnier@cs.yale.edu>
6363
6364 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
6365 is nil: since we go to the end of submap anyway, we'd end up
6366 setting nil to nil.
6367 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
6368 doesn't obey autoload.
6369
bed43f1d
EZ
63702000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
6371
1ffbabe3 6372 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 6373
ea4233a7
JR
63742000-10-21 Jason Rumney <jasonr@gnu.org>
6375
6376 * w32term.c (w32_cache_char_metrics): Double check that font is
6377 really fixed pitch before trusting tmPitchAndFamily.
6378
f3d3c491
AI
63792000-10-21 Andrew Innes <andrewi@gnu.org>
6380
6381 * w32gui.h (w32_char_font_type): Move enum from w32term.c
6382
6383 * w32term.h: Extern decl for w32_cache_char_metrics.
6384
6385 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
6386
6387 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
6388 (w32_unload_font): Free per_char array if present.
6389
6390 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
6391 cached information in emulated XFontStruct to handle common cases
6392 quickly. Do not allocate XCharStruct for return.
6393 (w32_native_per_char_metric): New function.
6394 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
6395 allocating one.
6396 (x_produce_glyphs): Don't get an HDC. Change calls to
6397 w32_per_char_metric to match arg change above. Remove calls to
6398 free results.
6399 (w32_get_glyph_overhangs): Ditto.
6400 (w32_cache_char_metrics): New function.
6401
6402 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
6403 ($(BLD)/casefiddle.$(O)): Remove compile command.
6404 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
6405 ($(BLD)/dispnew.obj):
6406 ($(BLD)/keyboard.obj):
6407 ($(BLD)/w32inevt.obj):
6408 ($(BLD)/w32bdf.obj):
6409 ($(BLD)/alloc.obj):
6410 ($(BLD)/buffer.obj):
6411 ($(BLD)/editfns.obj):
6412 ($(BLD)/emacs.obj):
6413 ($(BLD)/fileio.obj):
6414 ($(BLD)/fns.obj):
6415 ($(BLD)/indent.obj):
6416 ($(BLD)/insdel.obj):
6417 ($(BLD)/intervals.obj):
6418 ($(BLD)/minibuf.obj):
6419 ($(BLD)/print.obj):
6420 ($(BLD)/scroll.obj):
6421 ($(BLD)/sysdep.obj):
6422 ($(BLD)/textprop.obj):
6423 ($(BLD)/widget.obj):
f3d3c491
AI
6424 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
6425 ($(BLD)/term.obj): Add dependency on dispextern.h.
6426
52283633
SM
6427 * makefile.nt ($(BLD)\dispnew.obj):
6428 ($(BLD)\keyboard.obj):
6429 ($(BLD)\w32inevt.obj):
6430 ($(BLD)\w32bdf.obj):
6431 ($(BLD)\alloc.obj):
6432 ($(BLD)\buffer.obj):
6433 ($(BLD)\editfns.obj):
6434 ($(BLD)\emacs.obj):
6435 ($(BLD)\fileio.obj):
6436 ($(BLD)\fns.obj):
6437 ($(BLD)\indent.obj):
6438 ($(BLD)\insdel.obj):
6439 ($(BLD)\intervals.obj):
6440 ($(BLD)\minibuf.obj):
6441 ($(BLD)\print.obj):
6442 ($(BLD)\scroll.obj):
6443 ($(BLD)\sysdep.obj):
6444 ($(BLD)\textprop.obj):
6445 ($(BLD)\widget.obj):
f3d3c491
AI
6446 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
6447 ($(BLD)\term.obj): Add dependency on dispextern.h
6448
18ad4821
EZ
64492000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
6450
6451 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
6452 with an additional argument of Qt.
6453
de54681a
MB
64542000-10-21 Miles Bader <miles@gnu.org>
6455
6456 * window.c (pos_fully_visible_in_window_p): New function.
6457 (Fpos_visible_in_window_p): Add FULLY argument.
6458 Use pos_fully_visible_in_window_p.
6459 (window_scroll_pixel_based, window_scroll_line_based): Update
6460 calls to Fpos_visible_in_window_p.
6461 * lisp.h (Fpos_visible_in_window_p): Update prototype
6462
13c844fb
GM
64632000-10-20 Gerd Moellmann <gerd@gnu.org>
6464
6465 * alloc.c (toplevel): Conditionalize compilation of mem_*
6466 functions differently.
52283633 6467
d9506268
JR
64682000-10-20 Jason Rumney <jasonr@gnu.org>
6469
6470 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
6471 mem_init where it used to be. mem_z etc not defined otherwise.
6472
8094989b
GM
64732000-10-20 Gerd Moellmann <gerd@gnu.org>
6474
6475 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
6476 GC_MALLOC_CHECK.
6477 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
6478 structure definition and related variabled to the top of the file.
6479 Include this code when GC_MALLOC_CHECK is defined.
6480 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
6481 register/unregister allocated region.
6482 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
6483 which isn't allocated.
6484 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
6485 something which is already in use.
6486 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
6487 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
6488 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
6489 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
6490
6491 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
6492 _malloc_internal instead of malloc.
6493 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
6494 of free.
6495
ea456eb4
AI
64962000-10-20 Andrew Innes <andrewi@gnu.org>
6497
6498 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
6499 Windows.
6500 (my_strftime) <macro>: Don't use macro arg list when redefining as
6501 _strftime_copytm.
6502 (my_strftime) <function>: Supply 0 as ut argument.
6503
e64c3a75
JR
65042000-10-19 Jason Rumney <jasonr@altavista.net>
6505
6506 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
6507 including dispextern.h, as it stops faces from working.
6508
6509 * w32fns.c (Fx_create_frame): Don't bother calling
6510 face-set-after-frame-default since the caller does it for us
6511 anyway. Clean up calls to x_get_arg to be consistent with X.
6512
6513 * w32term.c (x_produce_glyphs): Handle
6514 unibyte_display_via_language_environment correctly.
6515 (w32_draw_box_rect): Fix the calculation of width and height.
6516
6517 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
6518 as it has stopped working.
6519 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
6520 menu-bar.
6521
17401c97
GM
65222000-10-19 Gerd Moellmann <gerd@gnu.org>
6523
6524 * eval.c (skip_debugger): Prevent a compiler warning.
6525 (Fcondition_case): Likewise.
6526 (Fbacktrace_frame): Use a null interactive spec.
6527
773272d8
KH
65282000-10-19 Kenichi Handa <handa@etl.go.jp>
6529
6530 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
6531
a42943e9
GM
65322000-10-18 Gerd Moellmann <gerd@gnu.org>
6533
e50517d9
GM
6534 * strftime.c: Sync with glibc, file version 1.78.
6535 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
6536 should no longer be used according to ISO 8601.
6537
9035a35a
GM
6538 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
6539 no map for meta_prefix_char, don't try to use it as a keymap.
6540 Instead, if T_OK is non-zero, look up a default binding, if any,
6541 otherwise, if T_OK is zero, return nil.
6542
a42943e9
GM
6543 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
6544 (x_to_xcolors, png_load): Use x_query_color.
6545
52283633
SM
6546 * xterm.c (x_color_cells, x_query_colors, x_query_color):
6547 New functions.
a42943e9
GM
6548 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
6549 which can be slow.
6550 (x_copy_color, x_alloc_lighter_color): Likewise.
6551
6552 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
6553 (x_query_color, x_query_colors): Add prototype.
6554
6555 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
6556 check_string_bytes only if not noninteractive, increase count to 50.
6557
00de2987
MB
65582000-10-18 Miles Bader <miles@lsi.nec.co.jp>
6559
6560 * insdel.c (adjust_markers_for_delete): Handle before-insertion
6561 markers correctly.
6562
54918e2b
GM
65632000-10-17 Gerd Moellmann <gerd@gnu.org>
6564
1f0b3fd2
GM
6565 * alloc.c (pure_bytes_used): Renamed from pureptr.
6566 (ALIGN): New macro.
6567 (pure_alloc): New function.
6568 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
6569 Use it.
6570 (Fpurecopy): Use PURE_POINTER_P.
6571
68c5d1db
GM
6572 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
6573 PT has moved backward.
52283633 6574
9a038881
GM
6575 * xdisp.c (cursor_row_p): Take continued lines into account.
6576
361b097f
GM
6577 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
6578 string's size_byte.
6579 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
6580 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
6581 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
6582 string allocated.
6583
54918e2b
GM
6584 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
6585 of selective display off while searching for the next line start.
6586
03ed0806
KH
65872000-10-17 Kenichi Handa <handa@etl.go.jp>
6588
6589 * Makefile.in (term.o): Depend on dispextern.h.
6590
7e05cdaf
SM
65912000-10-16 Stefan Monnier <monnier@cs.yale.edu>
6592
6593 * keymap.c (keymap_memberp): Ensure that nil is not a member.
6594
a6801fd1
GM
65952000-10-16 Gerd Moellmann <gerd@gnu.org>
6596
483de32b
GM
6597 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
6598 the iterator at the beginning, so that they can be set later on,
6599 for instance in reseat_at_next_visible_line_start, without being
6600 overwritten.
6601
a6801fd1
GM
6602 * xfns.c (pbm_format): Add :foreground and :background keywords.
6603 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 6604 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 6605
dbf1fcc1
EZ
66062000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
6607
6608 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
6609
52283633 6610 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
6611
6612 * msdos.c (IT_set_face): Compare highlighted face with the default
6613 face, and invert colors if these faces' colors are identical.
6614 (Fmsdos_remember_default_colors): Don't swap foreground and
6615 background colors in initial_colors[].
6616 (IT_set_frame_parameters): Don't swap frame's foreground and
6617 background pixels. If ALIST includes "(reverse . t)", swap
6618 foreground-color and background-color properties in frame's
6619 param_alist. If the original frame's param_alist doesn't specify
6620 the colors, store unspecified-fg and unspecified-bg, reversed if
6621 required.
6622
6623 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
6624 the colors are unspecified and reversed, reverse fore- and back-
6625 ground in the returned value.
6626 (Fframe_parameter): Ditto.
6627
b41fe2c3 66282000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 6629
3a6b59d9
GM
6630 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
6631 get_last_unchanged_at_beg_row.
6632 (find_first_unchanged_at_end_row): Renamed from
6633 get_first_unchanged_at_end_row.
6634 (find_first_unchanged_at_end_row): Convert assertions to
6635 unconditional tests which abort. When looking for a row in
6636 unchanged text, don't go further back than first_text_row.
6637
b41fe2c3
GM
6638 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
6639 Don't add in the last line's height when deciding if the new
6640 position is below the scroll margin.
9d1af64f 6641
b41fe2c3 66422000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
6643
6644 * editfns.c (Fconstrain_to_field): Check carefully for field
6645 boundaries if either OLD_POS or NEW_POS has a non-nil field
6646 property, even if they're the same.
6647
c412cb7b
KH
66482000-10-16 Kenichi Handa <handa@etl.go.jp>
6649
6650 * xterm.c (x_draw_box_rect): Fix the calculation of width and
6651 height for XFillRectangle.
6652
5586f3eb
SM
66532000-10-15 Stefan Monnier <monnier@cs.yale.edu>
6654
6655 * syntax.c (Fstring_to_syntax): New function extracted from
6656 Fmodify_syntax_entry.
6657 (Fmodify_syntax_entry): Use it and document the ! and | fences.
6658 (skip_chars, Fforward_comment): Remove unused variables.
6659 (syms_of_syntax): Add defsubr for string-to-syntax.
6660 (describe_syntax): Add code for comment and string fences.
6661
db785038
SM
66622000-10-14 Stefan Monnier <monnier@cs.yale.edu>
6663
6664 * keymap.c (access_keymap): Add AUTOLOAD parameter.
6665 Do the meta->esc mapping. Call get_keyelt before returning.
6666 Start scanning from the second element (the first is always `keymap')
6667 to make it easier to detect when we reach a parent map.
6668 Handle the case of inheriting from a symbol whose function is a map.
6669 (Fkeymap_parent): Also handle the `inherit from symbol' case.
6670 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
6671 (get_keyelt, Flookup_key): Update call to access_keymap.
6672 Remove the meta->esc mappings.
6673 (define_as_prefix): Delete old disabled code.
6674 (menu_item_p): New function.
6675 (where_is_internal_1): Skip over the few remaining menu items.
6676 * lisp.h (access_keymap): Update prototype.
6677 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
6678 Update call to access_keymap.
6679 (follow_key, read_key_sequence): Update calls to access_keymap.
6680 Remove the meta->esc mappings.
6681
cafafe0b
GM
66822000-10-13 Gerd Moellmann <gerd@gnu.org>
6683
a2e2a7f6
GM
6684 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
6685 with additional argument.
6686
cafafe0b
GM
6687 * xdisp.c (cursor_row_p): New function.
6688 (try_cursor_movement, display_line): Use it.
52283633 6689
cafafe0b
GM
6690 * xdisp.c (append_space): Also save/restore iterator's current
6691 character and its length.
6692
6693 * xdisp.c (init_from_display_pos): Add an assertion.
6694 (handle_stop): Don't set iterator's add_overlay_start.
6695 (handle_invisible_prop): Likewise.
6696 (load_overlay_strings): If text under an overlay is invisible,
6697 take both before- and after-strings into account when the iterator
6698 is positioned either at the start or at the end of the overlay.
6699 (forward_to_next_line_start): Rewritten.
6700 (reseat_at_next_visible_line_start): Rewritten.
6701 (set_iterator_to_next): Add parameter RESEAT_P.
6702
6703 * dispextern.h (struct it): Remove member add_overlay_start.
6704 (set_iterator_to_next): Change prototype.
6705
c744452b
KH
67062000-10-13 Kenichi Handa <handa@etl.go.jp>
6707
6708 * coding.c (code_convert_region): Be sure to initialize
6709 coding->category_idx.
e4a3f4e1
KH
6710 (decode_coding_string): Set coding->src_multibyte and
6711 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
6712 (encode_coding_string): Set coding->src_multibyte and
6713 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 6714
321fd26f
SM
67152000-10-12 Stefan Monnier <monnier@cs.yale.edu>
6716
6717 * xfns.c (Fx_create_frame): Don't bother calling
6718 face-set-after-frame-default since the caller does it for us anyway.
6719
76832439
EZ
67202000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
6721
6722 * window.c (coordinates_in_window): Fix detection of vertical line
6723 on character terminals.
6724
2483cf58
GM
67252000-10-12 Gerd Moellmann <gerd@gnu.org>
6726
6727 * editfns.c (save_excursion_save): Additionally record the
6728 selected window.
6729 (save_excursion_restore): If buffer was visible in a window, and a
6730 different window was selected, and the old selected window is
6731 still live, restore point in that window.
6732
eb991b25
KH
67332000-10-12 Kenichi Handa <handa@etl.go.jp>
6734
8a0eba09
KH
6735 * xterm.c (x_produce_glyphs): Handle
6736 unibyte_display_via_language_environment correctly.
6737
20401fcc
KH
6738 * regex.c (regex_compile): Change the way of handling a range from
6739 unibyte char to multibyte char.
6740
6741 * syntax.c (skip_chars): Change the way of handling a range from
6742 unibyte char to multibyte char.
6743
eb991b25
KH
6744 * process.c (read_process_output): Cancel previous change.
6745
365dd325
EZ
67462000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
6747
c1b096cb
EZ
6748 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
6749
365dd325
EZ
6750 * charset.c (Ffind_charset_string): Doc fix.
6751 (Ffind_charset_region): Doc fix.
6752
eb483c2b
KH
67532000-10-11 Kenichi Handa <handa@mule.m17n.org>
6754
6755 * process.c (read_process_output): Fix previous change. Adjust
6756 multibyteness of text to insert in a buffer by
52283633 6757 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 6758
b40bfb99
AS
67592000-10-10 Andreas Schwab <schwab@suse.de>
6760
6761 * alloc.c (mark_object): Remove all workarounds installed on
6762 1993-08-08.
6763
caff31d4
KH
67642000-10-10 Kenichi Handa <handa@etl.go.jp>
6765
52283633 6766 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
6767 (base64_encode_1): Make it work for a text of multibyte form.
6768 (Fbase64_decode_region): Allocate sufficient memory for multibyte
6769 case. Don't call str_to_multibyte because base64_decode_1
6770 produces correct multibyte form for eight-bit codes.
52283633 6771 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
6772 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
6773 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
6774 codes.
6775
6776 * charset.h (CHAR_STRING): Optimized for single byte characters.
6777
cba026ef
AS
67782000-10-09 Andreas Schwab <schwab@suse.de>
6779
6780 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
6781 -1 after socket is closed, to fall through to error processing.
6782
1e21fe48
EZ
67832000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
6784
6785 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 6786 variables. If ALIST includes foreground-color or
1e21fe48
EZ
6787 background-color, change also the colors of the default face for
6788 this frame.
6789
a640322e
EZ
67902000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
6791
6792 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
6793 them extern (they are defined on xfaces.c).
6794 (syms_of_msdos): Don't intern and don't staticpro
6795 Qbackground_color and Qforeground_color.
6796
a115794c
EZ
67972000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
6798
6799 * frame.c (Fframe_parameter): For non-windowed frames, if
6800 f->param_alist says foreground or background color is unspecified,
6801 call tty_color_name to return the color name computed from the
6802 frame's current colors.
6803
f5533b63
DL
68042000-10-06 Dave Love <fx@gnu.org>
6805
6806 * terminfo.c (ospeed): Don't declare.
6807
6808 * sysdep.c: Don't include string.h.
6809 (h_errno): Declare conditional also on TRY_AGAIN.
6810
6811 * charset.c (Ffind_charset_string): Doc fix.
6812
52283633 6813 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
6814 (Fbase64_decode_region, Fbase64_decode_string): More explicit
6815 error messages.
6816
2b06561a
DL
68172000-10-05 Dave Love <fx@gnu.org>
6818
6819 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
6820 position like menu-bar.
6821
ca839c85
GM
68222000-10-05 Gerd Moellmann <gerd@gnu.org>
6823
6824 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
6825
6826 * xdisp.c (handle_single_display_prop): Use safe_call1.
6827 (safe_call): Renamed from call_function.
6828 (safe_call1): New function.
6829 (handle_fontified_prop): Use safe_call1 instead of call1.
6830 (safe_eval): Renamed from eval_form.
6831 (safe_eval_handler): Renamed from eval_handler.
6832 (handle_single_display_prop, display_mode_element): Use safe_eval
6833 instead of eval_form.
6834
6835 * xfaces.c (merge_face_heights): Use safe_call instead of
6836 call_function.
6837
6838 * keyboard.c (show_help_echo): Use safe_call instead of
6839 call_function; use safe_eval instead of eval_form.
6840
6841 * lisp.h (safe_call): Renamed from call_function.
6842 (safe_eval): Renamed from eval_form.
6843 (safe_call1): Add prototype.
6844
a3489ece
MB
68452000-10-05 Miles Bader <miles@lsi.nec.co.jp>
6846
6847 * xfns.c (image_ascent): Rearrange ascent calculation for the
6848 has-a-font case.
6849
35810b6f
SM
68502000-10-04 Stefan Monnier <monnier@cs.yale.edu>
6851
6852 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
6853 (where_is_internal_1): Don't bother ignoring menu-items any more.
6854
3dc78168
GM
68552000-10-04 Gerd Moellmann <gerd@gnu.org>
6856
6857 * keyboard.c (update_menu_bindings): New variable.
6858 (parse_menu_item): Use AREF. If update_menu_bindings
6859 is 0, don't update menu bindings.
6860 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
6861
1efc2bb9
EZ
68622000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
6863
6864 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
6865 to `mark_object'.
6866
3f679f55
SM
68672000-10-02 Stefan Monnier <monnier@cs.yale.edu>
6868
6869 * syntax.c (forw_comment): Match nestedness of ender/starter.
6870 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
6871 (prev_char_comstart_first): Remove.
6872 (back_comment): Check two-char comment markers more carefully
6873 to better handle overlapping cases like *//* or /* */* */ ...
6874 Match nestedness of ender/starter.
6875
2021ab61
DL
68762000-10-02 Dave Love <fx@gnu.org>
6877
6878 * config.in (HAVE_GAI_STRERROR): Add undef.
6879
6880 * process.c (Fopen_network_stream): Use it.
6881
6882 * m/alpha.h (NO_REMAP): Don't define.
6883
64e6cc18
GM
68842000-10-02 Gerd Moellmann <gerd@gnu.org>
6885
6886 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
6887 return with a string converted to an integer or vice versa when
6888 Vmocklisp_arguments is t.
6889 (Fsignal): Likewise. The function can return for `quit'.
6890 (struct gcpro): Declare member `var' to point to a volatile
6891 Lisp_Object.
6892
6893 * eval.c (error): Prevent compiler warning.
6894
b1904cd9
SM
68952000-09-30 Stefan Monnier <monnier@cs.yale.edu>
6896
6897 * keymap.c (keymap_memberp): New function.
6898 (Fset_keymap_parent): Use it.
6899 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
6900 Use keymap_memberp to avoid creating cycles.
6901 (access_keymap): Use KEYMAPP.
6902
71c9ec51
GM
69032000-09-30 Gerd Moellmann <gerd@gnu.org>
6904
6905 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
6906 gai_strerror. Make sure xerrno is set if connect fails. Improve
6907 error recovery.
71c9ec51 6908
c70c6b58
JR
69092000-09-29 Jason Rumney <jasonr@gnu.org>
6910
6911 * w32term.c (w32_char_font_type, w32_encode_char)
6912 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
6913 (w32_bdf_per_char_metric): New function.
6914 (w32_per_char_metric): Use it.
6915 (x_draw_glyph_string_background): Always draw background for BDF
6916 glyphs.
6917
6918 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
6919 GDI object which is a scarce resource.
6920
6921 * w32bdf.c (search_file_line): Fix skipping of whitespace.
6922 (get_quoted_string): Fix limit on memchr search.
6923 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
6924 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
6925 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
6926 (get_cached_font_char, cache_char_offset): Use macro
6927 BDF_CODEPOINT_RANGE_COVER_P.
6928 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
6929 (clear_cached_bitmap_slots): New function.
6930 (GET_HEX_VALUE): G-Z, g-z are not hex.
6931 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
6932 (get_bitmap_with_cache): Use new cache implementation.
6933 (create_offscreen_bitmap): New function.
6934 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
6935
6936 * w32term.c (x_produce_glyphs): If the distance from the current
6937 position to the next tab stop is less than a canonical character
6938 width, use the tab stop after that.
6939 (x_draw_glyphs): Handle case START and END are out of bounds more
6940 carefully.
6941 (x_clear_mouse_face): Block/unblock input.
6942 (x_display_and_set_cursor): Don't show a hollow box cursor for
6943 buffers whose cursor_type is nil.
6944
fe01239f
GM
69452000-09-29 Gerd Moellmann <gerd@gnu.org>
6946
52283633 6947 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
6948
6949 * dispextern.h (updating_frame): Declare extern.
6950
e7c52f1f
AS
69512000-09-29 Andreas Schwab <schwab@suse.de>
6952
6953 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
6954
de6e1f7c
GM
69552000-09-29 Gerd Moellmann <gerd@gnu.org>
6956
25126faa
GM
6957 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
6958 use its function definition.
6959 (tool_bar_items): Likewise.
6960
de6e1f7c 6961 * lisp.h (fatal): Declare NO_RETURN.
52283633 6962
454ee39b
KH
69632000-09-29 Kenichi Handa <handa@etl.go.jp>
6964
6965 * keymap.c: Remove the line "#undef NULL".
6966
96301c5f
GM
69672000-09-28 Gerd Moellmann <gerd@gnu.org>
6968
52283633 6969 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 6970
efffeeb4
DL
69712000-09-28 Dave Love <fx@gnu.org>
6972
ecb8b666
DL
6973 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
6974
dc3cd20f
DL
6975 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
6976
6977 * .gdbinit (xreload): Note its need on GNU/Linux.
6978
efffeeb4
DL
6979 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
6980 r_alloc, r_alloc_free.
6981
8610d903
KH
69822000-09-28 Kenichi Handa <handa@etl.go.jp>
6983
6984 * syntax.c (skip_chars): Handle negation correctly.
6985
8901d1ac
GM
69862000-09-27 Gerd Moellmann <gerd@gnu.org>
6987
6f22f1ad
GM
6988 * xfaces.c (realize_default_face): Call set_lface_from_font_name
6989 with non-zero FORCE_P argument.
6990
52283633 6991 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
6992 Add assertions.
6993
6994 * xdisp.c (window_box_height): Add an assertion.
6995
6996 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
6997 tool-bar than is available.
6998 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
6999
36f1966f
DL
70002000-09-27 Dave Love <fx@gnu.org>
7001
efffeeb4 7002 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 7003
31d929e5
GM
70042000-09-26 Gerd Moellmann <gerd@gnu.org>
7005
c98863bf
GM
7006 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
7007 instead of BITS_PER_INT.
7008 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
7009 EMACS_UINT, respectively.
7010 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
7011
7012 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
7013
7014 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
7015
77072ab1
GM
7016 * window.c (freeze_window_starts): Construct last argument for
7017 foreach_window differently.
7018
7019 * xfns.c (x_decode_color): Don't return a Lisp_Object.
7020
7021 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
7022 EMACS_UINT instead of `int' and `unsigned int'.
7023 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
7024
7025 * frame.h (struct frame): Make the `nothing' member of union
7026 output_data an EMACS_INT.
7027
52283633 7028 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
7029 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
7030 size in the sdata structure.
7031 (SDATA_NBYTES, SDATA_DATA): New macros.
7032 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
7033 differently for the different layout of the sdata structure.
7034 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
7035 in sdata.
7036 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
7037 Check that size recorded in the string size and size recorded in
7038 the sdata structure agree.
7039
3e60b029
DL
70402000-09-25 Dave Love <fx@gnu.org>
7041
7042 * buffer.c: Include stdio.h.
7043
7044 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 7045
3e60b029
DL
7046 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
7047
7048 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 7049 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
7050 (__malloc_extra_blocks): Declare as __malloc_size_t.
7051
8ff16b4e
GM
70522000-09-25 Gerd Moellmann <gerd@gnu.org>
7053
755a2ccd
GM
7054 * alloc.c (mark_image): Use GC_NILP instead of NILP.
7055
d8b4516f
GM
7056 * keyboard.c (show_help_echo): Set help_echo_showing_p.
7057 (read_char): If help-echo is showing, preserve the echo area
7058 when redisplaying.
7059
7060 * xdisp.c (help_echo_showing_p): New variable.
7061 (set_message): Reset it to 0.
7062 (init_xdisp): Initialize help_echo_showing_p.
7063
7064 * dispextern.h (help_echo_showing_p): Declare extern.
7065
7066 * config.in: Fix typo in __GNUC_MINOR__.
7067
7068 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
7069
b11af2dd
GM
7070 * s/freebsd.h (POSIX_SIGNALS): Define.
7071
8ff16b4e
GM
7072 * xterm.c (x_clear_mouse_face): Block/unblock input.
7073
844eb643
DL
70742000-09-24 Dave Love <fx@gnu.org>
7075
7076 * fns.c (base64_encode_1): Fix last change.
7077
b30ab1b3
GM
70782000-09-22 Gerd Moellmann <gerd@gnu.org>
7079
7080 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
7081
7082 * xdisp.c (try_window_reusing_current_matrix): More fixes
7083 for the case window has a header-line.
7084
c6cbe5f0
DL
70852000-09-22 Dave Love <fx@gnu.org>
7086
4c7c1f3f
DL
7087 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
7088 a doc string.
7089
7090 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
7091
c6cbe5f0
DL
7092 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
7093
550a625e
GM
70942000-09-21 Gerd Moellmann <gerd@gnu.org>
7095
4c7c1f3f 7096 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
7097 for GCC >= 2.5.
7098
52283633
SM
7099 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
7100 Declare NO_RETURN.
fca99116 7101
80d26f99
GM
7102 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
7103 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
7104 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
7105 warnings.
52283633 7106
80d26f99
GM
7107 * marker.c (byte_char_debug_check): Return void.
7108
623a0aae
GM
7109 * xfns.c (Fx_create_frame): Set default frame parameter value
7110 for tool-bar-lines to 1.
7111
7112 * dispnew.c (scrolling_window): Compare y-positions of rows
7113 equal at the start. Some simplification.
7114
7115 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
7116 reused rows' y-position in the case window has a header-line, and
7117 new window start is greater than old window start.
7118
42ac0ae5
GM
7119 * process.c (process_sent_to): New variable.
7120 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
7121 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
7122 Declare more parameters volatile.
7123
550a625e
GM
7124 * lread.c (Vrecursive_load_depth_limit): New variable.
7125 (Fload): Check recursive loads whose recursion depth exceeds
7126 Vrecursive_load_depth_limit.
7127 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
7128
8320414c
GM
71292000-09-20 Gerd Moellmann <gerd@gnu.org>
7130
f46c275e
GM
7131 * fileio.c (Fread_file_name): Doc fix.
7132
7133 * editfns.c (Fmessage_or_box): Doc fix.
7134
7135 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
7136
b7e11c5b 7137 * xfns.c (xbm_scan): Allow C-style comments.
52283633 7138
8320414c
GM
7139 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
7140 symbols are specified, add color translations to the cache.
52283633 7141 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
7142 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
7143 xpm_cache_color.
7144 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
7145 structures to xpm_init_color_cache.
7146
da1608d9
GM
71472000-09-19 Gerd Moellmann <gerd@gnu.org>
7148
52283633 7149 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 7150
6badfa25
AI
71512000-09-19 Andrew Innes <andrewi@gnu.org>
7152
7153 * makefile.nt (bootstrap-emacs): Don't change directory.
7154
3a5f42bb
KH
71552000-09-19 Kenichi Handa <handa@etl.go.jp>
7156
1b7649bd
KH
7157 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
7158
3a5f42bb
KH
7159 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
7160 If output buffer is too small, signal an appropriated error.
7161
9f83cf0b
DL
71622000-09-18 Dave Love <fx@gnu.org>
7163
52283633 7164 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
7165 (current_active_maps): Remove redundant get_local_map call.
7166
28c7826c
GM
71672000-09-18 Gerd Moellmann <gerd@gnu.org>
7168
5cefa566
GM
7169 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
7170 cursor for buffers whose cursor_type is nil.
52283633 7171
6fed3546
GM
7172 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
7173 a feature to implement that is already implemented.
7174 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
7175 warnings.
7176
7177 * xfns.c (x_clear_image_1): New function.
7178 (x_clear_image): Use it.
52283633 7179 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 7180
05b1f851
GM
7181 * dispnew.c (update_window): Move test for invisible lines
7182 at the top to update_window_line.
7183 (update_window_line): Handle invisible lines here.
7184
f4779de9
GM
7185 * xfns.c (clear_image_cache): Clear current matrices of all
7186 frames sharing an image cache. Block input while freeing
7187 images. Fix timestamp comparison.
7188 (x_clear_image): Also free the mask.
7189
28c7826c
GM
7190 * xfns.c (lookup_image): Block input while loading the image so
7191 that we won't get interrupted in a state where the image isn't yet
7192 set up completely.
7193 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
7194 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
7195 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 7196 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 7197
b7412313
GM
71982000-09-16 Gerd Moellmann <gerd@gnu.org>
7199
7200 * dispnew.c (update_window): Make sure to make desired rows
7201 current even if they are completely invisible at the top
7202 of a window.
7203
47e351a3
GM
72042000-09-15 Gerd Moellmann <gerd@gnu.org>
7205
7f8f1edc
GM
7206 * xfns.c (lookup_image): Build mask before applying an algorithm.
7207 Recognize algorithm `disabled'.
7208 (cross_disabled_images): New variable.
7209 (COLOR_INTENSITY): New macro.
7210 (x_detect_edges): Use COLOR_INTENSITY.
7211 (x_disable_image): New function.
7212 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
7213
7214 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
7215 disabled state, don't apply an image transformation algorithm if
7216 the user specified an image for the disabled state. Use
28c7826c 7217 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
7218 user hasn't specified an image.
7219
ebb8f116
GM
7220 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
7221 allocation functions with the XPM lib.
7222 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
7223 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
7224 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
7225 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 7226 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
7227 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
7228 functions, if possible, because these handle color allocation
7229 failure more gracefully.
7230 (Fimage_mask_p): New function.
7231
47e351a3
GM
7232 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
7233 (Qedge_detection, Qheuristic): New symbols.
7234 (syms_of_xfns): Initialize new symbols.
7235 (lookup_image): Handle `:mask X', `:algorithm emboss', and
7236 `algorithm (edge-detection ...)'.
7237 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
7238 (tiff_format, gif_format, gs_format): Add `:mask'.
7239 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
7240 (GIF_MASK, GS_MASK): New enumerators.
7241 (x_laplace_read_row, x_laplace_write_row): Functions removed.
7242 (emboss_matrix, laplace_matrix): New variables.
7243 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
7244 (x_edge_detection): New functions.
7245 (x_laplace): Rewritten in terms of x_detect_edges.
7246 (x_build_heuristic_mask): If image has a mask, free it.
7247
fe83b953
AI
72482000-09-14 Andrew Innes <andrewi@gnu.org>
7249
7250 * makefile.w32-in: Revert to Unix line endings.
7251
3021e816
AI
72522000-09-14 Andrew Innes <andrewi@gnu.org>
7253
7254 * makefile.w32-in: Standardize indentation somewhat.
7255 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
7256 cater for differences between shells.
7257
7258 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
7259
2a32b5ea
GM
72602000-09-14 Gerd Moellmann <gerd@gnu.org>
7261
7262 * xterm.c (x_produce_glyphs): If the distance from the current
7263 position to the next tab stop is less than a canonical character
7264 width, use the tab stop after that.
7265
b4331e96
DL
72662000-09-14 Dave Love <fx@gnu.org>
7267
7268 * buffer.c (alloc_buffer_text): Fix xmalloc call.
7269
ef9e4345
GM
72702000-09-14 Gerd Moellmann <gerd@gnu.org>
7271
085536c2
GM
7272 * xdisp.c (handle_fontified_prop): While running fontification
7273 functions, bind `fontification-functions' and
7274 `after-change-functions' to nil.
7275
ef9e4345
GM
7276 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
7277 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
7278
7279 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
7280
7281 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
7282 USE_MMAP_FOR_BUFFERS.
7283
7284 * insdel.c (make_gap): Use enlarge_buffer_text.
7285
7286 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
7287 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
7288 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
7289 from former r_alloc_* functions in ralloc.c.
52283633 7290 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
7291 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
7292 (mmap_init) [REL_ALLOC_MMAP]: New function.
7293 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
7294 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
7295 BUFFER_FREE.
7296
7297 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
7298 (enlarge_buffer_text): Add prototype.
7299
7300 * ralloc.c: Remove everything having to do with the use of mmap.
7301
f8608968
GM
73022000-09-13 Gerd Moellmann <gerd@gnu.org>
7303
2a494b2d
GM
7304 * sound.c (Fplay_sound): Doc fix.
7305
8c907a56
GM
7306 * keyboard.c: Avoid some more compiler warnings.
7307 (parse_tool_bar_item): Ignore cached key bindings.
7308
f8608968
GM
7309 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
7310 and allocation of Lisp data.
7311
6ab70e9a
GM
73122000-09-12 Gerd Moellmann <gerd@gnu.org>
7313
d12d0a9b
GM
7314 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
7315 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
7316 defaults first.
7317
6ab70e9a
GM
7318 * lread.c (Fload): Put code checking for recursive loads in #if 0.
7319
63c36c3c
KH
73202000-09-12 Miyashita Hisashi <himi@meadowy.org>
7321
7322 * ccl.c: Comment fixed.
7323 (MAX_MAP_SET_LEVEL): Increased to 30.
7324 (PUSH_MAPPING_STACK): Enclose with do-while block.
7325 (POP_MAPPING_STACK): Likewise.
7326 (stack_idx_of_map_multiple): New variable.
7327 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
7328 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 7329 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
7330 (ccl_driver) <CCL_MapSingle>: Likewise.
7331 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
7332 with the case where looking up process reaches to the end of
7333 map-set, and call CCL programs as the above change.
7334
7ee3bd7b
GM
73352000-09-11 Gerd Moellmann <gerd@gnu.org>
7336
8ec8a5ec
GM
7337 * xfns.c (png_load, jpeg_load): Declare some variables volatile
7338 that might be clobbered by longjmp.
7339 (check_x_display_info, x_decode_color, create_frame_xic)
7340 (Fx_display_backing_store, Fx_display_visual_class)
52283633 7341 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 7342
f74b0705
GM
7343 * lread.c (init_lread): Set Vloads_in_progress to nil.
7344 (Fload): Show list of recursively loaded files, when signaling an
7345 error.
7346
7ee3bd7b
GM
7347 * lread.c (Vloads_in_progress): New variable.
7348 (record_load_unwind): New function.
7349 (Fload): Check for recursive loads.
7350 (syms_of_lread): Initialize Vloads_in_progress.
7351 (read_integer, read1): Avoid some compiler warnings.
7352
7353 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
7354 compiler warnings.
7355
974e1e5b
MB
73562000-09-11 Miles Bader <miles@gnu.org>
7357
7358 * editfns.c (Fbuffer_string): Doc fix.
7359
9824c4e3
GM
73602000-09-10 Gerd Moellmann <gerd@gnu.org>
7361
7362 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
7363
6a72fdd1
KR
73642000-09-09 Ken Raeburn <raeburn@gnu.org>
7365
7366 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
7367 whether to include other header files.
7368
28e6fb66
GM
73692000-09-09 Gerd Moellmann <gerd@gnu.org>
7370
52283633 7371 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 7372 by Fmemq as a boolean.
28e6fb66 7373
7f8b6551
SM
73742000-09-08 Stefan Monnier <monnier@cs.yale.edu>
7375
7376 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
7377
a8710abf
GM
73782000-09-08 Gerd Moellmann <gerd@gnu.org>
7379
d1a02881
GM
7380 * ralloc.c (mmap_fd): Remove initializer which can make it
7381 read-only in a dumped Emacs.
7382 (mmap_fd_1): New variable.
7383 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
7384 restore it from there.
7385 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
7386 unconditionally so that mmap_fd can be initialized there.
7387 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
7388 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
7389 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
7390
c454aac1
GM
7391 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
7392
7393 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 7394 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 7395
fc653ef2
GM
7396 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
7397
3015eec0
GM
7398 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
7399 inheritance.
7400
bfe0ee88
GM
7401 * xdisp.c (try_window_id): When trying to locate cursor in
7402 unchanged rows at the top, handle the case that we can't find it.
7403
a8710abf
GM
7404 * xterm.c (x_draw_glyphs): Handle case START and END are out
7405 of bounds more carefully.
7406
6b7d4ae4
DL
74072000-09-08 Dave Love <fx@gnu.org>
7408
423193c5
DL
7409 * s/sol2.h (REL_ALLOC_MMAP): Define.
7410 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
7411
7412 * ralloc.c: Don't include string.h (redundant).
7413 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
7414 [!MAP_ANON]: Include fcntl.h.
7415 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
7416 (r_alloc, r_re_alloc, r_alloc_free)
7417 (mmap_enlarge, mmap_set_vars): Use it.
7418 (r_alloc_init_fd): New function.
7419 (__morecore) [SYSTEM_MALLOC]: Don't declare.
7420 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
7421 malloc type.
7422
7423 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
7424 Remove vm-limit.o.
7425
6b7d4ae4
DL
7426 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
7427 change to __NetBSD__.
7428
44d31981
KH
74292000-09-08 Kenichi Handa <handa@etl.go.jp>
7430
7431 * search.c (compile_pattern): Check the multibyteness of cached
7432 string and PATTERN.
7433
aad40737
MB
74342000-09-08 Miles Bader <miles@gnu.org>
7435
7436 * xfaces.c (default_face_vector): Function removed.
7437 (Finternal_merge_in_global_face): Restore old global/local
7438 attribute override order. Use inline loop instead of calling
7439 default_face_vector.
7440
91a211b5
GM
74412000-09-07 Gerd Moellmann <gerd@gnu.org>
7442
7443 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
7444 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
7445 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
7446 where necessary, in case POINTER_TYPE is `void'.
7447
03419440
EZ
74482000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
7449
7450 * frame.c (make_terminal_frame): Initialize frame foreground and
7451 background colors to unspecified, for the initial instance of an
7452 MSDOS frame.
7453
f46f845b
GM
74542000-09-07 Gerd Moellmann <gerd@gnu.org>
7455
24f76fbf
GM
7456 * ralloc.c (mmap_find): Fix overlap computation.
7457 (mmap_enlarge): Compute nbytes before trying to find an
7458 overlapping region.
7459
f46f845b
GM
7460 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
7461 instead of `!='.
7462
7463 * lread.c (syms_of_lread): Change value of regexp
7464 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
7465
7466 * xmenu.c (xdialog_show): When looking up the selection in
7467 menu_items, take `quote' boundaries into account; this corresponds
7468 to a nil ITEM in x-popup-dialog.
7469
3c014385
KH
74702000-09-07 Kenichi Handa <handa@etl.go.jp>
7471
fd6f711b
KH
7472 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
7473 not 0x81.
7474 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
7475
3c014385 7476 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
7477 encoding, not decoding. Fix the handling of latin-jisx0201.
7478 Check for the charset katakana-jisx0201 too.
3c014385 7479 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 7480 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 7481
0da3ecef
GM
74822000-09-07 Gerd Moellmann <gerd@gnu.org>
7483
ab0ee409
GM
7484 * xfaces.c (Vparam_value_alist): New variable.
7485 (syms_of_xfaces): Initialize it.
7486 (Finternal_set_lisp_face_attribute): Avoid more consing.
7487
7488 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
7489 specially.
7490 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
7491 (Qbackground_mode): New variable.
7492 (syms_of_frame_1): Initialize Qbackground_mode.
7493
7494 * lisp.h (Qdisplay): Declare extern.
1091dd67 7495
0da3ecef
GM
7496 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
7497 change face on all frames, and change the default for new frames.
7498
b14654b9
DL
74992000-09-07 Dave Love <fx@gnu.org>
7500
7501 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
7502
d24fd56f
KH
75032000-09-07 Kenichi Handa <handa@etl.go.jp>
7504
794f3670
KH
7505 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
7506
0fddd0dc
KH
7507 * charset.c: Include composite.h
7508 (lisp_string_width): New function.
7509 (Fstring_width): Call lisp_string_width instead of strwidth.
7510
7511 * Makefile.in (charset.o): Depends on composite.h.
7512
d24fd56f
KH
7513 * process.c (read_process_output): Before inserting the decoded
7514 text in the buffer, adjust the multibyteness.
7515
fa0b693c
GM
75162000-09-06 Gerd Moellmann <gerd@gnu.org>
7517
52283633 7518 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
7519 buffer's text buffer is null, map new memory.
7520
0a58f946
GM
7521 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
7522 POINTER_TYPE and size_t.
7523 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
7524 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
7525 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
7526 [REL_ALLOC_MMAP]: New macros.
7527 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
7528 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
7529 [REL_ALLOC_MMAP]: New functions.
7530
7531 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
7532 before and after unexec.
7533
7534 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
7535 text buffers if necessary.
7536
7537 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
7538 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
7539 in prototypes.
7540
fa0b693c
GM
7541 * config.in (HAVE_MMAP): Add #undef.
7542
877055f6
GM
75432000-09-05 Gerd Moellmann <gerd@gnu.org>
7544
08ba3862
GM
7545 * frame.c (Qdisplay_type): New variable.
7546 (syms_of_frame_1): Initialize it.
7547 (Fframe_parameter): New function that avoids consing.
7548 (syms_of_frame): Defsubr it.
7549
66ffe51c
GM
7550 * buffer.c (Fother_buffer): Consider buffers as invisible when
7551 they are displayed in a window on an invisible frame.
7552
877055f6
GM
7553 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
7554 get-largest-window always return nil.
7555
bb970e67
GM
75562000-09-04 Gerd Moellmann <gerd@gnu.org>
7557
7558 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
7559 variable; recognize Emacs 19 elc files.
7560
7a3d0e0e
MB
75612000-09-04 Miles Bader <miles@gnu.org>
7562
7563 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
7564 before initially popping up the menu, so the menu doesn't flash
52283633 7565 when the face settings are significantly different from the defaults.
7a3d0e0e 7566
14473664
SM
75672000-09-04 Stefan Monnier <monnier@cs.yale.edu>
7568
7569 * regex.c (WIDE_CHAR_SUPPORT): New macro.
7570 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
7571 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
7572 (BIT_UNIBYTE): Remove.
7573 (re_match_2_internal): Delete corresponding code and streamline the
7574 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
7575 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
7576 (re_wctype_t): New type.
7577 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
7578 (regex_compile): Use them and fix handling of overly long char classes.
7579
c1174479
AI
75802000-09-03 Andrew Innes <andrewi@gnu.org>
7581
f8803e97
AI
7582 * makefile.w32-in: Change to DOS line endings.
7583
c1174479
AI
7584 * s/ms-w32.h (ORDINARY_LINK): New define.
7585
7586 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
7587 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
7588
7589 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
7590 (distclean): Delete them here instead.
7591
44ef7cf6
AI
7592 * w32proc.c (compare_env): Convert to uppercase for comparison,
7593 not lowercase, to match how the native Windows shell works.
7594
49b3bd82
JR
75952000-09-03 Jason Rumney <jasonr@gnu.org>
7596
7597 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
7598 CVS changes the line-ends when checking in/out on DOS/Windows.
7599
7600 * makefile.nt (emacs): Do not change directory to run temacs, as
7601 the load-path is set relative to current directory.
7602
a3d35a39
MB
76032000-09-03 Miles Bader <miles@gnu.org>
7604
7605 * xterm.c (x_alloc_lighter_color_for_widget): New function.
7606
d276b0cf
GM
76072000-09-02 Gerd Moellmann <gerd@gnu.org>
7608
715e84c9
GM
7609 * xdisp.c (redisplay_mode_lines): New function.
7610 (display_mode_lines): Return number of mode lines displayed.
7611 (echo_area_display): Use redisplay_mode_lines to draw garbaged
7612 mode lines. Don't temporarily bind redisplay-dont-pause to t.
7613
8892f40b
GM
7614 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
7615 string.h and strings.h.
7616 (index) [HAVE_INDEX]: Add prototype.
7617
d276b0cf
GM
7618 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
7619 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
7620
7621 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
7622 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
7623
38404229
GM
76242000-09-01 Gerd Moellmann <gerd@gnu.org>
7625
7626 * lread.c (read1): Accept `?' as symbol constituent, for
7627 compatiblity with XEmacs.
7628
c0f9ea08
SM
76292000-08-31 Stefan Monnier <monnier@cs.yale.edu>
7630
7631 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
7632 (struct re_pattern_buffer): Remove newline_anchor.
7633 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
7634 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
7635 (re_max_failures, fail_stack): Use size_t rather than unsigned.
7636 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
7637 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
7638 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
7639 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
7640 Get rid of references to newline_anchor.
7641 (regcomp): Allocate and precompute a fastmap.
7642
8c0f83fe
GM
76432000-08-31 Gerd Moellmann <gerd@gnu.org>
7644
7645 * lread.c (openp): GCPRO local variable `filename'.
7646
4bb91c68
SM
76472000-08-30 Stefan Monnier <monnier@cs.yale.edu>
7648
7649 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
7650
7651 * regex.c: Merge some changes from GNU libc. Add prototypes.
7652 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
7653 Use memcmp and memcpy instead of bcopy and bcmp.
7654 (init_syntax_once): Use ISALNUM.
7655 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
7656 (REG_UNSET_VALUE): Remove. Use NULL instead.
7657 (REG_UNSET, re_match_2_internal): Use NULL.
7658 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
7659 New macros.
7660 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
7661 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
7662 (regex_compile): In handle_interval, return an error rather than try to
7663 unfetch the interval if we can't find the closing brace.
7664 Obey the RE_NO_GNU_OPS syntax bit.
7665 (TOLOWER): New macro.
7666 (regcomp): Use it.
7667 (regexec): Allocate regs.start and regs.end as one block.
7668
5226a931
GM
76692000-08-30 Gerd Moellmann <gerd@gnu.org>
7670
868dd24b
GM
7671 * xdisp.c (echo_area_display): Check display_completed instead
7672 of calling detect_input_pending.
7673
7674 * dispnew.c (update_frame): Only set display_completed here; move
7675 the update_begin and update_end calls here from update_frame_1.
7676 (update_frame_1): Don't set display_completed here, don't call
7677 update_begin/update_end.
7678
5226a931
GM
7679 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
7680 instead of store_frame_param.
7681
2a8bd25f
GM
76822000-08-29 Gerd Moellmann <gerd@gnu.org>
7683
7684 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
7685 desired window matrix hasn't been displayed, use the current row
7686 instead. Make sure that only those frame rows are updated for
7687 which there exists a corresponding enabled desired row.
52283633 7688
ba3478d9
MB
76892000-08-29 Miles Bader <miles@gnu.org>
7690
7691 * xfaces.c (default_face_vector): New function.
7692 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
7693
87d0f685
GM
76942000-08-29 Gerd Moellmann <gerd@gnu.org>
7695
7696 * lread.c (openp): Prevent temporary string passed to
7697 Ffile_readable_p from being garbage collected.
7698
6fa86045
DL
76992000-08-28 Dave Love <fx@gnu.org>
7700
7701 * keymap.c (store_in_keymap): Add `static' to declaration.
7702
bb17930d
GM
77032000-08-28 Gerd Moellmann <gerd@gnu.org>
7704
7705 * emacs.c, callint.c, doc.c, editfns.c
7706 (toplevel) [HAVE_STRING_H]: Include string.h.
7707 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
7708 (index): Remove prototypes which might conflict with non-standard
7709 definitions of index/strchr.
7710
7711 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
7712 (rindex): Define only if !HAVE_RINDEX.
7713
7714 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
7715
7716 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
7717
87188200
MB
77182000-08-28 Miles Bader <miles@gnu.org>
7719
7720 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
7721 made inconsistent by a font-related attribute in FROM.
7722 (merge_face_inheritance): Add function comment.
7723
41a68aef
KH
77242000-08-28 Kenichi Handa <handa@etl.go.jp>
7725
7726 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
7727 the 4th arg (PREV_EVENT) Qt to suppress input method.
7728
f7c436c1
SM
77292000-08-27 Stefan Monnier <monnier@cs.yale.edu>
7730
0b32bf0e
SM
7731 * regex.c: Indent cpp directives and remove parens after `defined'.
7732 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
7733 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
7734 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
7735 (re_compile_pattern): Use size_t for length.
7736 (init_syntax_once): Move to a better place.
7737 * regex.h: Merge changes from GNU libc. Indent cpp directives.
7738 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
7739
f7c436c1
SM
7740 * syntax.c (back_comment): Detect cases where a comment-starter is
7741 actually inside another comment as in: /* a // b */ c // d \n.
7742 Make it clear that `comstart_pos' is unused for nested comments.
7743
7744 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
7745 (KEYMAPP): New macro.
7746 (Fkeymap_parent, Fset_keymap_parent): Use it.
7747 (fix_submap_inheritance): Mark it static.
7748 (define_as_prefix, describe_buffer_bindings, describe_command)
7749 (describe_translation, describe_map): Complete prototypes.
7750
7751 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
7752
7753 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
7754 to better match the key-lookup behavior.
7755
6288c62f
GM
77562000-08-27 Gerd Moellmann <gerd@gnu.org>
7757
7758 * xfaces.c (lface_fully_specified_p): Handle :inherit.
7759 (Finternal_set_lisp_face_attribute): Fix typo in error message.
7760
e931344e
EZ
77612000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
7762
7763 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
7764 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
7765 (xterm.o): Depend on coding.h
7766
d10dfeef
KH
77672000-08-26 Kenichi Handa <handa@etl.go.jp>
7768
7769 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
7770 the corresponding '#endif'.
7771
2d73e8d3
MB
77722000-08-26 Miles Bader <miles@gnu.org>
7773
7774 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
7775 * xfaces.c (QCinherit): New variable.
7776 (syms_of_xfaces): Initialize it.
7777 (LFACE_INHERIT): New macro.
7778 (Finternal_get_lisp_face_attribute)
52283633 7779 (merge_face_vector_with_property)
2d73e8d3
MB
7780 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
7781 (check_lface_attrs): Allow new types of face height. Check
7782 inherit attribute.
7783 (CYCLE_CHECK): New macro.
7784 (merge_face_inheritance): New function.
7785 (merge_face_vectors): Merge inherited faces too. Add F and
7786 CYCLE_CHECK arguments.
7787 (merge_face_vector_with_property, Finternal_merge_in_global_face)
7788 (lookup_named_face, lookup_derived_face, realize_named_face)
7789 (face_at_string_position, face_at_buffer_position): Supply
7790 new F and CYCLE_CHECK arguments to merge_face_vectors.
7791 (merge_face_heights): New function.
52283633 7792 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
7793 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
7794 handle relative face heights.
7795 (lface_same_font_attributes_p): Compare heights using EQ.
7796
6ce974d4
KH
77972000-08-26 Kenichi Handa <handa@etl.go.jp>
7798
7799 * charset.c (char_to_string): Check the character validity.
52283633 7800 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 7801
dc1e502d
SM
78022000-08-25 Stefan Monnier <monnier@cs.yale.edu>
7803
7804 * regex.c (PUSH_FAILURE_COUNT): New macro.
7805 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
7806 Handle popping of a register's or a counter's data.
7807 (POP_FAILURE_POINT): Use the new name.
7808 (re_match_2_internal): Push counter data on the stack for succeed_n,
7809 jump_n and set_number_at and remove misleading dead code in succeed_n.
7810
bd9d0f3f
GM
78112000-08-25 Gerd Moellmann <gerd@gnu.org>
7812
7813 * xdisp.c (redisplay_internal): If considering all windows on all
7814 frames, update the display for each frame as soon as possible,
7815 instead of first building all desired matrices for all frames, and
7816 then updating them all.
7817 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
7818
aa5b8e15
GM
78192000-08-24 Gerd Moellmann <gerd@gnu.org>
7820
17494071
GM
7821 * bytecode.c (mark_byte_stack): Add a comment.
7822
52283633
SM
7823 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
7824 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
7825 a graphical frame.
7826
c543db81
KH
78272000-08-24 Kenichi Handa <handa@etl.go.jp>
7828
d246d5f5
KH
7829 * minibuf.c (do_completion): Always use compare-string, not
7830 string-equal because the latter doesn't pay attention to
7831 multibyteness of strings.
7832
c543db81
KH
7833 * process.c (create_process): Don't setup raw-text coding here.
7834 (Fopen_network_stream): Don't set coding->src_multibyte and
7835 coding->dst_multibyte here.
7836 (read_process_output): For process filter, return unibyte string
7837 if default-enable-multibyte-characters is nil.
7838 (send_process): If OBJECT is multibyte text, be sure to encoded it
7839 by the specified coding system for the process. Otherwise, setup
7840 raw-text coding.
52283633 7841 (init_process): Don't initialize default-process-coding-system here.
c543db81 7842
9b47cfe0
EZ
78432000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
7844
7845 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
7846 <scroll-down-aggressively>: Likewise.
7847
f5a36960
KH
78482000-08-23 Kenichi Handa <handa@etl.go.jp>
7849
7850 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
7851 zero. Set coding->produced_char correctly.
7852
69a7ffa7
AI
78532000-08-22 Andrew Innes <andrewi@gnu.org>
7854
7855 * makefile.w32-in: New file.
7856
7857 * unexw32.c (unexec): Ignore old_name, and use the actual location
7858 of the current executable instead. Base new_name on this.
7859
7860 * w32proc.c (create_child): Remove reference to security
7861 descriptor, which isn't needed and doesn't compile with mingw32.
7862
7863 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7864 up dllimport attributes.
7865 (x_update_window_end): Update prototype.
7866
7867 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
7868 extern, which screws up dllimport attributes.
7869
7870 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7871 up dllimport attributes.
7872
7873 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
7874 screws up dllimport attributes.
7875
7876 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7877 up dllimport attributes.
7878 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
7879 screws up dllimport attributes.
7880
7881 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7882 up dllimport attributes.
7883
7884 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
7885 screws up dllimport attributes.
7886
7887 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
7888 screws up dllimport attributes.
7889
7890 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7891 up dllimport attributes.
7892
7893 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
7894 unnecessary extern, which screws up dllimport attributes.
7895 (main): Ditto.
7896
7897 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7898 up dllimport attributes.
7899
7900 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
7901 unnecessary extern, which screws up dllimport attributes.
7902
7903 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
7904 screws up dllimport attributes.
7905
7906 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7907 up dllimport attributes.
7908
7909 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
7910
52283633
SM
7911 * w32bdf.c (search_file_line):
7912 (set_bdf_font_info):
7913 (seek_char):
7914 (w32_get_bdf_glyph):
69a7ffa7
AI
7915 (w32_BDF_to_x_font): Fix compile warnings.
7916
52283633 7917 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
7918
7919 * w32select.c: Include keyboard.h before frame.h.
7920
7921 * w32fns.c (max): Define macro.
7922 (JOHAB_CHARSET): Define if not known.
7923 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
7924 (Fx_show_tip): Synch with X version.
7925
7926 * w32xfns.c: Include keyboard.h before frame.h.
7927
7928 * w32fns.c: Include keyboard.h before frame.h.
7929
7930 * w32term.c: Include keyboard.h before frame.h.
7931
7932 * fontset.c: Include keyboard.h before frame.h.
7933
7934 * w32inevt.c: Include keyboard.h before frame.h.
7935 (MOUSE_MOVED): Define if not known.
7936
7937 * minibuf.c: Include keyboard.h before frame.h.
7938
7939 * keyboard.c: Include keyboard.h before frame.h.
7940
7941 * indent.c: Include keyboard.h before frame.h.
7942
7943 * dispnew.c: Include keyboard.h before frame.h.
7944
7945 * buffer.c: Include keyboard.h before frame.h.
7946
7947 * alloc.c: Include keyboard.h before frame.h.
7948
7949 * print.c: Include keyboard.h before frame.h.
7950
7951 * process.c: Include keyboard.h before frame.h.
7952
7953 * scroll.c: Include keyboard.h before frame.h.
7954
7955 * sysdep.c: Include keyboard.h before frame.h.
7956
7957 * term.c: Include keyboard.h before frame.h.
7958
7959 * window.c: Include keyboard.h before frame.h.
7960
7961 * xdisp.c: Include keyboard.h before frame.h.
7962 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
7963
7964 * frame.c: Include keyboard.h before frame.h.
7965
7966 * w32heap.h: Undefine min, max.
7967
7968 * w32gui.h: Undefine min, max.
7969
7970 * unexw32.c: Change PUCHAR to PCHAR.
7971 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
7972 (relocate_offset):
7973 (get_section_info):
69a7ffa7
AI
7974 (copy_executable_and_dump_data): Remove unnecessary static defs.
7975 (copy_executable_and_dump_data): Fix compile warnings.
7976
7977 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
7978
7979 * w32console.c (min): Define macro.
7980 (clear_frame, write_glyphs): Fix compile warning.
7981
52283633 7982 * w32proc.c (compare_env):
69a7ffa7
AI
7983 (find_child_console): Fix compile warning.
7984
7985 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
7986 sys_errlist instead of _sys_errlist.
7987 (get_emacs_configuration_options): New function.
7988
7989 * s/ms-w32.h (sys_nerr): Provide default definition.
7990 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
7991 name with _ prepended.
7992 (NSIG): Define if not known.
7993 (get_emacs_configuration): Provide extern declaration.
7994 (get_emacs_configuration_options): Provide extern declaration.
7995 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
7996
7997 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 7998 (map_w32_filename):
69a7ffa7
AI
7999 (read_unc_volume): Fix compile warning.
8000
8001 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
8002 definitions from being used.
8003
8004 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
8005
52283633 8006 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
8007 (open_unc_volume): Make arg const.
8008
8009 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
8010 (read_input_waiting): Remove excess parameter.
8011
8012 * w32.c (init_environment): Call _access.
8013 (check_windows_init_file): Call _close.
8014 (init_user_info): Call _putenv.
8015 (init_environment): Call _putenv and _strdup.
8016 (init_ntproc): Reset volume info cache on startup.
8017
8018 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
8019 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
8020 cannot override the CRT malloc.
8021
8022 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
8023 (LINK_FLAGS): Append to original value of LINK_FLAGS.
8024
8025 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
8026 unless we are linking with a static CRT.
8027 (RVA_TO_PTR): Cast result to unsigned char*.
8028
8029 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
8030 (add_volume_info): Use xstrdup.
8031
25060080
SM
80322000-08-22 Stefan Monnier <monnier@cs.yale.edu>
8033
8034 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
8035 (do_completion, Fminibuffer_complete_word): Use it.
8036 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
8037 var so it can take non-boolean values.
8038
6917e6bb
GM
80392000-08-21 Gerd Moellmann <gerd@gnu.org>
8040
acb7cc89 8041 * editfns.c (find_field): Formatting changes.
52283633 8042 (toplevel): Some old-style function forward declarations
acb7cc89
GM
8043 changed to prototypes, some new protypes added, some functions
8044 made static.
8045
8046 * lisp.h (set_time_zone_rule): Add prototype.
8047 (use_dialog_box): External declaration.
8048
0bbfdc25
GM
8049 * keyboard.c (gen_help_event): Add parameter SIZE.
8050 (kbd_buffer_events_waiting): Slightly rewritten.
8051 (clear_event): New function.
8052 (kbd_buffer_get_event): Use it, and clear the input_events of
8053 HELP_EVENTs.
8054 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
8055 don't fill the newly created array with nils.
8056 (toplevel): Convert some old-style function forward declarations
8057 to prototypes.
8058
8059 * keyboard.h (gen_help_event): Change prototype.
8060
8061 * xterm.c (XTread_socket): Change calls to gen_help_event.
8062
8063 * w32term.c (w32_read_socket): Change calls to gen_help_event.
8064
6917e6bb
GM
8065 * eval.c (Fmacroexpand): Doc fix.
8066
e5cd3d11
JR
80672000-08-20 Jason Rumney <jasonr@gnu.org>
8068
8069 * w32term.h (x_display_info_for_display): Remove as this function
8070 does not exist on W32.
8071
8072 * w32term.c (help_echo_window): New variable.
8073 (syms_of_w32term): staticpro it.
8074 (note_mode_line_highlight): Set it.
8075 (XTextExtents16): Removed as there is no equivalent on W32.
8076 (x_compute_glyph_string_overhangs): Incomplete body removed, as
8077 the X way of doing this will not work for W32.
8078 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
8079 (x_draw_image_foreground): Avoid drawing outside of the clip area
8080 when image doesn't have a mask.
8081 (note_mouse_highlight): Process overlays in the right order of
8082 priority. Set help_echo_window.
8083 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
8084 because that's more visible for large images.
8085
8086 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
8087 name to single_keymap_panes.
8088 (w32_menu_show): Set wv->title when dealing with titles.
8089 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
8090
6e69ab8c
MB
80912000-08-21 Miles Bader <miles@gnu.org>
8092
8093 * minibuf.c (do_completion): Try again if we rewrite the input
8094 string, but no completion was done, so that any completion message
8095 will be correct.
8096
511bd4eb
GM
80972000-08-20 Gerd Moellmann <gerd@gnu.org>
8098
8099 * xfaces.c (lface_equal_p): Compare strings differently.
8100 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
8101 (realize_tty_face): Use them.
8102 (syms_of_xfaces): Initialize new variables.
8103 (map_tty_color): New function, extracted from realize_tty_face.
8104 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
8105 foreground or background color, store the new color name in the
8106 realized face; previous code trying to do this had no effect.
8107 (realize_tty_face): Use map_tty_color.
8108 (Fclear_face_cache): Set face_change_count and ensure thorough
8109 redisplay.
8110
1433385f
GM
81112000-08-19 Gerd Moellmann <gerd@gnu.org>
8112
511bd4eb
GM
8113 * undo.c (record_first_change, record_marker_adjustment): Don't
8114 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 8115
419ac0a2
KH
81162000-08-18 Kenichi Handa <handa@etl.go.jp>
8117
8118 * coding.c (decode_coding_string): Set members consumed,
8119 consumed_char, produced, produced_char of *coding correctly. If
8120 decode_coding doesn't consume any byte, don't try anymore.
8121 (encode_coding_string): Likewise.
8122
7eb9e30d
GM
81232000-08-18 Gerd Moellmann <gerd@gnu.org>
8124
511bd4eb
GM
8125 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
8126 conditional have void type, for Standard C compilers.
7eb9e30d
GM
8127
8128 * xdisp.c (redisplay_internal): Compare windows for equality with
8129 EQ, instead of applying XWINDOW to something that might not
8130 be a window.
52283633 8131
dd34a735
KH
81322000-08-18 Kenichi Handa <handa@etl.go.jp>
8133
8134 * fontset.c (Finternal_char_font): Search only the selected frame
8135 for a window of the current buffer.
8136
385ff9e3
GM
81372000-08-18 Gerd Moellmann <gerd@gnu.org>
8138
511bd4eb 8139 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
8140 Lisp_Objects.
8141
385ff9e3
GM
8142 * keyboard.c (kbd_buffer_get_event): Handle the case that the
8143 second half of a HELP_EVENT is found at the start of kbd_buffer.
8144
d6abb4c7
MB
81452000-08-18 Miles Bader <miles@gnu.org>
8146
4618074a
MB
8147 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
8148
d6abb4c7
MB
8149 * editfns.c (save_restriction_save): Rewrite to use markers.
8150 (save_restriction_restore): Rewrite to understand new form of data
8151 saved by save_restriction_save.
8152 (Fsave_restriction): Remove cautionary note in doc-string.
8153
a7b28523
GM
81542000-08-17 Gerd Moellmann <gerd@gnu.org>
8155
8156 * fileio.c (build_annotations): Add a comment explaining the
8157 return value of format-annotate-function. Replace a spurious call
8158 to Flength with a CONSP test. Call format-annotate-function with
8159 a fifth arg specifying how many times the function is been called
8160 in a row, to let it choose temporary buffers appropriately.
8161
03c9ed77
DL
81622000-08-17 Dave Love <fx@gnu.org>
8163
8164 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
8165 declare make_temp_name twice.
8166
52283633 8167 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
8168 (unreadpure): Give it an arg.
8169
8170 * unexalpha.c: Prototype fatal_unexec, mark_x,
8171 update_dynamic_symbols. Declare unexec as void.
8172
8173 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
8174 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
8175
8176 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 8177 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
8178
8179 * alloca.c: Use #error.
8180 [POINTER_TYPE]: Use it.
8181
8182 * eval.c (Fdefvar): Doc fix.
8183
8184 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
8185 INITIALIZE_INTERVAL.
8186
8187 * buffer.h: Avoid DECLARE_INTERVALS.
8188
8189 * config.in: Add size_t.
8190
aae41d97
EZ
81912000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
8192
8193 * w16select.c (set_clipboard_data): If there's not enough memory
8194 to put text into clipboard, return 1, as Fw16_set_clipboard_data
8195 expects. In case of other failures, return 3.
8196 (system_error_msg): New error message.
8197 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
8198 system_error_msg.
8199
65aa5e85
GM
82002000-08-16 Gerd Moellmann <gerd@gnu.org>
8201
8202 * term.c (write_glyphs): Also turn off inverse video after turning
8203 off other appearances in case TS_exit_attribute_mode is not equal
8204 to TS_end_standout_mode.
8205 (insert_glyphs): Turn inverse video on/off for each run of glyphs
8206 with the same face.
8207 (turn_off_face): Reset standout_mode only if
8208 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
8209 is equal to TS_end_standout_mode.
8210
ece23901
KH
82112000-08-16 Kenichi Handa <handa@etl.go.jp>
8212
9d7bcb2e
KH
8213 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
8214 sequence at the end of the source block.
8215
ece23901
KH
8216 * ccl.c (Fccl_program_p): Docstring modified.
8217 (Fccl_execute): Likewise.
8218 (Fccl_execute_on_string): Likewise.
8219
5e30eaa2
EZ
82202000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
8221
8222 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
8223
290602fd
KH
82242000-08-16 Kenichi Handa <handa@etl.go.jp>
8225
8226 The following changes are mainly to fix bugs of
8227 encode/decode-coding-string failing if encoding/decoding return
8228 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
8229 variable conversion_buffer.
8230
8231 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
8232 decrement dst_end to avoid buffer overflow in the later call of
8233 string_as_multibyte
8234
8235 * coding.h (conversion_buffer_size, conversion_buffer)
8236 (get_conversion_buffer): Extern deleted.
8237
8238 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
8239 (conversion_buffer, conversion_buffer_size): Variables deleted.
8240 (get_conversion_buffer): Function deleted.
8241 (struct conversion_buffer): New structure.
8242 (MAX_ALLOCA): New macro.
8243 (allocate_conversion_buffer): New macro.
8244 (extend_conversion_buffer, free_conversion_buffer): New functions.
8245 (ccl_coding_driver): Set coding->result.
8246 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
8247 this is the last block of source.
8248 (encode_coding): Likewise. Handle the source block as the last
8249 one only when the whole source text is consumed.
8250 (decode_coding_string): Handle the case that the output buffer is
8251 too small to decode the whole source text. Use
8252 allocate_conversion_buffer, extend_conversion_buffer and
8253 free_conversion_buffer, not get_conversion_buffer.
8254 (encode_coding_string): Likewise.
8255 (init_coding): Function deleted.
52283633 8256 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
8257
8258 * emacs.c (main): Don't call init_coding.
8259
52283633 8260 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
8261
8262 * term.c (write_glyphs): Use a locally declared conversion_buffer.
8263 (insert_glyphs): Likewise.
8264
8265 * w32console.c (write_glyphs): Use a locally declared
8266 conversion_buffer.
8267
b9f80d41
EZ
82682000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
8269
8270 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
8271 member of display_info is NULL.
8272
32dc52f7
GM
82732000-08-15 Gerd Moellmann <gerd@gnu.org>
8274
52283633 8275 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 8276
32dc52f7 8277 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 8278 appearances with capability `me'.
32dc52f7
GM
8279 (write_glyphs): Switch on inverse video before each face change.
8280
4eb22d33
DL
82812000-08-14 Dave Love <fx@gnu.org>
8282
8283 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
8284 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
8285 (lisp_free): Declare and make static.
8286
8287 * window.c: Fix embedded comment.
8288 (syms_of_window): Fix doc string.
8289
90cbf47e
GM
82902000-08-14 Gerd Moellmann <gerd@gnu.org>
8291
52283633 8292 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
8293 make sure to print `C-' before `M-', like in the manual.
8294
440fc135
GM
82952000-08-11 Gerd Moellmann <gerd@gnu.org>
8296
8297 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
8298 since they aren't relocated anymore.
52283633 8299 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
8300
8301 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 8302 partially visible line which is smaller than the window's height.
440fc135 8303
6e264fad
KH
83042000-08-11 Kenichi Handa <handa@etl.go.jp>
8305
8306 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 8307 the multibyte form of eight-bit-control characters.
6e264fad
KH
8308 (Fccl_execute_on_string): Initialize ccl->multibyte.
8309
8310 * ccl.h (struct ccl_program): New member multibyte.
8311
8312 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
8313
c371f69a
KH
83142000-08-11 Kenichi Handa <handa@etl.go.jp>
8315
8316 * regex.c (regex_compile) <normal_char>: Pay attention to
8317 multibyteness.
8318 (analyse_first) <exactn>: Setup fastmap correctly for
8319 eight-bit-control characters.
8320
83212000-08-11 Kenichi Handa <handa@etl.go.jp>
8322
52283633 8323 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
8324
8325 * keyboard.c (make_lispy_event): Handle the new event type
8326 multibyte_char_keystroke.
8327
8328 * xterm.c: Include coding.h.
8329 (XTread_socket): Work around a bug of XmbLookupString. If the
8330 input is from XIM, decode it according to the current locale. In
8331 that case, generate multibyte_char_keystroke events.
8332
b8ddbe71
KH
83332000-08-11 Kenichi Handa <handa@etl.go.jp>
8334
8335 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
8336 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
8337
47589c8c
GM
83382000-08-10 Gerd Moellmann <gerd@gnu.org>
8339
8340 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
8341 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
8342 (move_it_in_display_line_to): Record iterator's ascent and descent
8343 before producing glyphs, and restore them when we know the glyph
8344 doesn't fit on the line.
8345 (move_it_to): Restructured so that it's easier to debug. If
8346 moving to a vpos, and not moving to an x or character position,
8347 stop as soon as the specified vpos is reached; don't move further
8348 into that line because that might change the computed line height.
8349 (try_cursor_movement): New function, extracted from the cursor
8350 movement branch of redisplay_window. If ending on a partially
8351 visible line, don't try to scroll if the cursor line is taller
8352 than the window.
8353 (redisplay_window): Use try_cursor_movement.
8354
8355 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
8356 because that function doesn't cope with variable-height lines.
8357
8358 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
8359 box cursor because that's better visible for large images.
52283633 8360
c51bacd6
MB
83612000-08-10 Miles Bader <miles@gnu.org>
8362
8363 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
8364
bea56df7
GM
83652000-08-10 Gerd Moellmann <gerd@gnu.org>
8366
8367 * xdisp.c (Vmessages_buffer_name): New variable.
8368 (message_dolog): Use it.
8369 (syms_of_xdisp): Initialize it.
8370
99cd7364
EZ
83712000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
8372
52283633 8373 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
8374 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
8375 redundant now that keyboard.h is included.
8376
7d093d56
EZ
83772000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
8378
8379 * keyboard.c (kbd_buffer_events_waiting): New function.
8380
8381 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
8382
8383 * msdos.c: Include keyboard.h.
8384 (XMenuActivate): Empty no_event events from the event buffer. If
8385 no events are left after that, call clear_input_pending.
8386 (mouse_clear_clicks): New function, code moved from mouse_init.
8387 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
8388 mouse driver to ``forget'' any past clicks.
8389
8390 * Makefile.in (msdos.o): Depend on keyboard.h.
8391
41e757a6
GM
83922000-08-09 Gerd Moellmann <gerd@gnu.org>
8393
8e7bd231
GM
8394 * lisp.h (input_pending): External declaration.
8395
8396 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 8397
8e7bd231
GM
8398 * xdisp.c (echo_area_display): Display thoroughly if input is
8399 pending. Bind redisplay-dont-pause to t during the redisplay.
8400 in case input is pending.
8401
8402 * dispnew.c (Qredisplay_dont_pause): New variable.
8403 (syms_of_display): Initialize and staticpro it.
8404 (update_frame_1): Don't interrupt the display for pending input if
8405 redisplay_dont_pause is set.
52283633 8406
43028b7e
GM
8407 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
8408
41e757a6
GM
8409 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
8410
2f2174fa
KH
84112000-08-09 Miles Bader <miles@lsi.nec.co.jp>
8412
8413 * callproc.c (Fcall_process): Terminate the unwind-protect around
8414 the post-read-conversion of coding system.
8415
0a6fd67e
MB
8416 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
8417 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
8418 * buffer.h (overlays_at): Update prototype.
8419 * xdisp.c (next_overlay_change): Update call to overlays_at.
8420 * xfaces.c (face_at_buffer_position): Likewise.
8421 * textprop.c (Fget_char_property): Likewise.
8422 * xterm.c (note_mouse_highlight): Likewise.
8423
0c80756e
MB
8424 * minibuf.c (do_completion): Don't consider a simple change of
8425 case as `completion'.
8426
975f250a
KR
84272000-08-08 Ken Raeburn <raeburn@gnu.org>
8428
52283633 8429 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
8430 * undo.c (record_delete): Make sure last_point_position_buffer is
8431 a buffer before comparing pointers.
8432
8433 * coding.h (decode_coding_string): Declare.
8434
8435 * intervals.h (Fprevious_single_char_property_change): Declare.
8436
8437 * textprop.c (Fprevious_single_char_property_change): Don't do
8438 arithmetic directly on lisp objects.
8439
52283633 8440 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
8441
8442 * keyboard.h (menu_item_eval_property): Declare.
8443
8444 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
8445 reuse as buffer name, instead of recreating (and discarding) every
8446 time a message is logged.
8447 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
8448 (current_message_1, truncate_message_1, set_message_1)
8449 (display_echo_area_1, resize_mini_window_1): Signatures changed.
8450 (current_message, truncate_echo_area, display_echo_area)
8451 (resize_echo_area_axactly): Changed calls.
b347b3fd 8452
975f250a 8453 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 8454 Lisp object.
975f250a 8455 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 8456 must be an integer, not a Lisp object.
975f250a 8457
46dc9912
KH
84582000-08-08 Kenichi Handa <handa@etl.go.jp>
8459
8460 * charset.c (Fchar_width): Doc fix.
8461
9f6d1a6c
GM
84622000-08-08 Gerd Moellmann <gerd@gnu.org>
8463
8464 * charset.c (Fstring_width): Doc fix.
8465
ff3d9573
GM
84662000-08-07 Gerd Moellmann <gerd@gnu.org>
8467
41e757a6 8468 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
8469 line, clear ascent and descent members of the iterator structure;
8470 the height of the continued line does not affect the height of the
8471 continuation line.
8472 (make_cursor_line_fully_visible): Do nothing if cursor is on a
8473 line taller than the window.
8474 (redisplay_window) <forced window start>: Handle case that the
8475 middle of the window is not found in any row.
8476 (dump_glyph_row): Show more information.
8477 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
8478 first text line in a glyph matrix.
8479
8480 * xterm.c (x_draw_image_foreground): Avoid drawing outside
8481 of the clip area when image doesn't have a mask.
8482
70fc58b3
GM
8483 * fns.c (sweep_weak_table): Fix survival conditions for
8484 key-or-value and key-and-value weakness.
8485
8486 * .gdbinit (xhashtable): New command.
8487
ac0e96ee
GM
8488 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
8489 tables out of the list of all weak hash tables.
8490
ff3d9573
GM
8491 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
8492 a new buffer is created, make sure echo_area_buffer[] references
8493 the new buffer.
8494
e0d8827b
EZ
84952000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
8496
8497 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
8498 the doc string.
8499
c6f35378
KH
85002000-08-07 Kenichi Handa <handa@etl.go.jp>
8501
8502 * syntax.c (skip_chars): Fix previous change. Make the handling
8503 of unibyte string consistent with that of regex search.
8504
1fd4c450
GM
85052000-08-05 Gerd Moellmann <gerd@gnu.org>
8506
e49aa397
GM
8507 * xmenu.c (popup_get_selection): Use xfree instead of free.
8508
8509 * fileio.c (Finsert_file_contents): Use xfree instead of free.
8510
8511 * editfns.c (Ftranspose_regions): Use xfree instead of free.
8512
8513 * callproc.c (child_setup): Use xfree instead of free.
8514
8515 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
8516 instead of malloc.
8517 (run_mac_command, closedir): Use `xfree' instead of `free'.
8518
8519 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
8520
8521 * eval.c (error): Use xfree instead of free.
8522
1fd4c450
GM
8523 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
8524
8525 * fns.c: Replace `illegal' with `invalid'.
e49aa397 8526 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 8527
82d497fc
KH
85282000-08-05 Kenichi Handa <handa@etl.go.jp>
8529
8530 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
8531 conversion.
8532
59f953a2
NF
85332000-08-04 Noah Friedman <friedman@splode.com>
8534
8535 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
8536 docstring.
8537
688351f2
GM
85382000-08-04 Gerd Moellmann <gerd@gnu.org>
8539
8540 * syntax.c (skip_chars): Fix typo in error message.
8541
2dad51cc
AS
85422000-08-04 Andreas Schwab <schwab@suse.de>
8543
8544 * m/ia64.h: Moved from s/ia64.h.
8545
99bb2c60
KH
85462000-08-04 Kenichi Handa <handa@etl.go.jp>
8547
082a1df2
KH
8548 * process.c (read_process_output): Big simplification. Handle
8549 composition and post-read-conversion of coding system correctly.
8550 (send_process): Handle composition correctly.
8551
8552 * callproc.c (Fcall_process): Handle post-read-conversion of
8553 coding system if any.
8554
99bb2c60
KH
8555 * coding.c (decode_coding_iso2022): More strict check for handling
8556 single shifting.
082a1df2
KH
8557 (coding_restore_composition): Pay attention to the case that
8558 cmp_data is not set properly (because of invalid code in the
8559 source text).
8560 (run_pre_post_conversion_on_str): Include text properties in the
8561 resulting string.
8562 (decode_coding_string): Set members of coding correctly.
99bb2c60 8563
f4988be7
GM
85642000-08-03 Gerd Moellmann <gerd@gnu.org>
8565
8566 * s/ia64.h: New file.
8567
8568 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
8569 Use NULL instead of 0 at the end of variable argument list of
8570 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
8571 sizeof (int) < sizeof (void *).
8572
8573 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
8574 of variable argument lists of XtVaGetValues and XtVaSetValues.
8575
8576 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
8577 variable argument lists of XtVaGetValues and XtVaSetValues.
8578
ead53494
GM
85792000-08-02 Gerd Moellmann <gerd@gnu.org>
8580
8581 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
8582 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
8583
8584 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
8585 prototype.
8586
8587 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
8588 in call to Fsingle_key_description.
8589
8590 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
8591 Callers changed.
8592
85932000-08-02 Colin Walters <walters@cis.ohio-state.edu>
8594
8595 * window.c (display_buffer_reuse_frames): New variable.
8596 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
8597 frames displaying BUFFER.
52283633 8598 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 8599
10b0f752
MB
86002000-08-01 Miles Bader <miles@gnu.org>
8601
8602 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
8603 when to constrain NEW_POS (they were pretty screwed up before).
8604
16425c4a
EZ
86052000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
8606
8607 * msdos.c (run_msdos_command): Save and restore the master
8608 environment, for the case that child_setup signals an error.
8609 When mirroring slashes in DOS shell commands, don't fail when
8610 argv[2] has embedded blanks.
da288c14
EZ
8611 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
8612 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
8613 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
8614
8615 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
8616 using alloca; free it after run_msdos_command returns.
8617
27f73852
DL
86182000-07-27 Dave Love <fx@gnu.org>
8619
52283633
SM
8620 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
8621 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
8622
8623 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
8624
c0261b5e
EZ
86252000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
8626
8627 * editfns.c (lisp_time_argument): Fix last change.
8628
b548072f
GM
86292000-07-27 Gerd Moellmann <gerd@gnu.org>
8630
3ab82477
GM
8631 * fns.c (Fdelete): Make it work on vectors and strings in addition
8632 to lists.
8633
b548072f
GM
8634 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
8635 (syms_of_fns): Initialize new variables.
52283633 8636 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
8637 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
8638 weakness, with t meaning the same as `key-and-value'.
8639
91ae8751
KH
86402000-07-27 Kenichi Handa <handa@etl.go.jp>
8641
8642 * coding.h (struct coding_system): Member safe_charset deleted.
8643
8644 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
8645 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
8646 New variables.
91ae8751
KH
8647 (coding_safe_chars): New function.
8648 (CODING_SAFE_CHAR_P): New macro.
8649 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 8650 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
8651 (detect_coding_iso2022): New local variable safe_chars.
8652 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
8653 safe_charsets member of the coding system.
8654 (decode_coding_iso2022): New local variable safe_chars.
8655 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
8656 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
8657 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
8658 (ENCODE_UNSAFE_CHARACTER): New macro.
8659 (encode_coding_iso2022): New local variable safe_chars. Check
8660 unsafe chars.
8661 (setup_coding_system): Delete the code to initialize
8662 coding->safe_charses
8663 (intersection, find_safe_codings): New functions.
8664 (Ffind_coding_systems_region_internal): New function.
8665 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
8666 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
8667 variable and initialize it.
8668
8669 * fns.c (char_table_ref_and_index): New function.
8670
8671 * lisp.h (char_table_ref_and_index): Add prototype.
8672
34a7a267
SS
86732000-07-26 Sam Steingold <sds@gnu.org>
8674
8675 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 8676 (Ffloat_time): New built-in Lisp function.
34a7a267 8677
a95cb10a
GM
86782000-07-26 Gerd Moellmann <gerd@gnu.org>
8679
3353ef5a
GM
8680 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
8681 for the character code.
8682
8683 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
8684 GNU/Linux.
8685
a95cb10a
GM
8686 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
8687 if called for a popup menu.
8688 (xmenu_show): Store help string in widget values.
8689
b4a12321
DL
86902000-07-26 Dave Love <fx@gnu.org>
8691
8692 * syswait.h: Move some definitions.
8693 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
8694 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
8695 perspicuous definitions.
8696 (WTERMSIG): Fix bit pattern used.
8697
13f5ad37
KH
86982000-07-26 Kenichi Handa <handa@etl.go.jp>
8699
8700 * print.c (print_object): If vector printing is truncated, print
8701 "..." to indicate it as well as the case of list printing.
8702
070fe99c
GM
87032000-07-25 Gerd Moellmann <gerd@gnu.org>
8704
969065c3
GM
8705 * xdisp.c (next_element_from_display_vector): Improve comments.
8706
8707 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
8708 for the character code, and the rest for the face id as in 20.x.
8709 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
8710
8711 * window.c (window_display_table): Cleaned up.
8712
070fe99c
GM
8713 * syntax.c (Fforward_word): Add last arg nil in call of
8714 Fconstrain_to_field.
8715
bad77ef7
EZ
87162000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
8717
969065c3 8718 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
8719 identical but for the letter-case, don't call
8720 barf_or_query_if_file_exists.
bad77ef7 8721
c28da489
MB
87222000-07-25 Miles Bader <miles@gnu.org>
8723
8724 * editfns.c (find_field): Honor special `boundary' fields.
8725 (Qboundary): New variables.
8726 (syms_of_editfns): Initialize Qboundary.
8727 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
8728 Use scan_buffer instead of find_before_next_newline, because it
8729 allows us to detect the boundary case where there's a newline at
8730 the search limit.
8731 * lisp.h (Fconstrain_to_field): Update external declaration.
8732
e3c31fd5
GM
87332000-07-24 Gerd Moellmann <gerd@gnu.org>
8734
8735 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
8736 if that is nil.
c28da489 8737
c66c29a2
DL
87382000-07-24 Dave Love <fx@gnu.org>
8739
8740 * s/sunos4-0.h, s/sol2.h:
8741 (LIBS_TERMCAP): Move from m/sparc.h.
8742
8743 * m/sparc.h (TERMINFO): Moved to system files (probably only
8744 relevant for sunos4 judging by its vintage).
8745 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
8746 __arch64__.
8747
fbe0a958
EZ
87482000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
8749
8750 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
8751 name to single_keymap_panes.
8752
7d88e5c9
AS
87532000-07-24 Andreas Schwab <schwab@suse.de>
8754
8755 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
8756
e024b101
GM
87572000-07-24 Gerd Moellmann <gerd@gnu.org>
8758
8759 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
8760 parameters instead of using int parameters. Expect FN to accept
8761 EMACS_INT parameters.
8762 (display_echo_area, resize_echo_area_axactly, current_message)
8763 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
8764 with new argument list.
8765 (resize_mini_window_1): New callback function.
8766 (current_message_1, truncate_message_1, set_message_1): Change
52283633 8767 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 8768
25c1a9ce
KH
87692000-07-24 Kenichi Handa <handa@etl.go.jp>
8770
8771 * fontset.c (fontset_ref): Remove INLINE declaration.
8772 (fontset_ref_via_base): Likewise.
8773 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
8774 to downcase.
8775
7f987ac0
EZ
87762000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
8777
8778 * msdos.c (IT_note_mouse_highlight): Process overlays in the
8779 correct order of priority. If help echo was found in an overlay,
8780 use that overlay as the object in which the help echo was found.
8781
e2db3069
MB
87822000-07-22 Miles Bader <miles@gnu.org>
8783
8784 * textprop.c (Fprevious_single_char_property_change): The initial
8785 property value should be from the position preceding POSITION, not
8786 following it.
8787
5e3203e4
EZ
87882000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
8789
8790 * coding.c (syms_of_coding): Doc fix for
8791 inhibit-iso-escape-detection.
8792
62145073
GM
87932000-07-21 Gerd Moellmann <gerd@gnu.org>
8794
c20aeb83
GM
8795 * xterm.c (note_mouse_highlight): Process overlays in the right
8796 order of priority.
34a7a267 8797
743934db
GM
8798 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
8799
8800 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 8801 overlay, use that overlay as the object in which the help was found.
743934db 8802
d1dc7e43 8803 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 8804
62145073
GM
8805 * window.c (foreach_window): Instead of a fake variable argument
8806 list, take one USER_DATA argument.
8807 (foreach_window_1): Likewise, and call callback functions with two
8808 args, the window and USER_DATA.
8809 (struct check_window_data): New struct.
8810 (check_window_containing): Use it.
8811 (window_from_coordinates): Set up a struct check_window_data for
8812 foreach_window.
8813 (add_window_to_list, freeze_window_start): Change parameters
8814 according to new calling convention.
8815
8816 * window.h (foreach_window): Change prototype.
8817
8818 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
8819
88202000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
8821
8822 * xmenu.c (menu_help_callback): Call show_help_echo with
8823 additional arguments OBJECT and POS.
8824
11270583
KH
88252000-07-21 Kenichi Handa <handa@etl.go.jp>
8826
07b14857
KH
8827 * data.c (Faset): Allow storing any multibyte character in a
8828 string. Convert unibyte string to multibyte if necessary.
8829
11270583
KH
8830 * xfns.c (x_encode_text): New function.
8831 (x_set_name): Use x_encode_text.
8832 (x_set_title): Likewise.
8833
8834 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
8835
8836 * xterm.h (x_encode_text): Add prototype.
8837
bc75b4fd
DL
88382000-07-20 Dave Love <fx@gnu.org>
8839
8840 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
8841 xfree, not free.
8842
48c14970
EZ
88432000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
8844
8845 * msdos.c (help_echo_window): New variable.
8846 (syms_of_msdos): Initialize and staticpro it.
8847 (IT_note_mode_line_highlight): Set help_echo_window.
8848 (IT_note_mouse_highlight): Ditto.
8849 (dos_rawgetc): Store help_echo_window in the second event produced
8850 for HELP_EVENTs.
8851
8852 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
8853 Record the object that generated the help echo and the position of
8854 that object in help_echo_object and help_echo_pos. Record that
8855 some glyphs in a row are displayed in mouse-face.
8856 (IT_update_begin): Don't clear mouse highlight unless one of the
8857 enabled glyph rows is marked as being displayed in mouse-face.
8858 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
8859 and position recorded in help_echo_object and help_echo_pos to the
8860 event queue.
8861 (IT_menu_display): Accept a new argument PN: the pane number of
8862 the current menu pane. Record the pane number and the item
8863 number of the item which has associated help string.
8864 (XMenuActivate): Update the prototype for help_callback in
8865 function declaration. Call IT_menu_display with the current menu
8866 pane number as an additional argument. Call help_callback with
8867 two additional arguments: the pane number and the item number of
8868 the menu item associated with the help text.
8869 (help_echo_object, help_echo_pos): New variables.
8870 (syms_of_msdos): Initialize them and staticpro help_echo_object.
8871
8872 * msdos.h (XMenuActivate): Update prototype.
8873
4279296d
GM
88742000-07-19 Gerd Moellmann <gerd@gnu.org>
8875
47db06aa
GM
8876 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
8877 Add some more prototypes.
8878
8879 * xterm.c, xterm.h: Add some more prototypes.
8880
8881 * lisp.h (Fnext_single_char_property_change): Add prototype.
8882
8883 * dispnew.c (direct_output_for_insert): Remove confusing
8884 outer local variable mouse_face_overwritten_p.
8885 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
8886
4279296d
GM
8887 * alloc.c (allocate_string_data): Don't copy old string contents.
8888
670acd62
KH
88892000-07-19 Kenichi Handa <handa@etl.go.jp>
8890
8891 * coding.c (code_convert_region): Delete text properties before
8892 shrinking the conversion region.
8893
7cea38bc
GM
88942000-07-18 Gerd Moellmann <gerd@gnu.org>
8895
dc1cac59
GM
8896 * dispnew.c (update_text_area): Write the whole row if it
8897 has mouse-face in it.
8898
85a8aca9
GM
8899 * xfaces.c (face-alternative-font-family-alist): Remove
8900 DEFVAR_LISP; staticpro instead.
8901
34a7a267 8902 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
8903 new arguments.
8904
8905 * keyboard.c (show_help_echo): Add parameter WINDOW.
8906 (read_char): Call show_help_echo with window extracted from Lisp
8907 help event.
8908 (gen_help_event): Add parameter WINDOW.
8909
8910 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
8911
8912 * xterm.c (help_echo_window): New variable.
52283633 8913 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
8914 (XTread_socket): Pass help_echo_window to gen_help_event.
8915 (syms_of_xterm): Initialize and staticpro help_echo_window.
8916
f8276b77
DL
89172000-07-18 Dave Love <fx@gnu.org>
8918
52283633 8919 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 8920
088831a6
GM
89212000-07-18 Gerd Moellmann <gerd@gnu.org>
8922
3d6cd763
GM
8923 * alloc.c (allocate_string_data): If string had already data
8924 assigned, copy old contents to new string data.
8925
8926 * coding.c (syms_of_coding): Fix typo in spelling of variable
8927 `inhibit-iso-escape-detection'.
8928
088831a6
GM
8929 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
8930
8931 * Makefile.in: Add dependencies on dispextern.h.
8932 (alloca.o): Don't define malloc and define EMACS_FREE instead of
8933 `free'; both can conflict with system header files.
8934
bc8a8d55
KH
89352000-07-18 Kenichi Handa <handa@etl.go.jp>
8936
8937 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
8938 undefined.
8939
069f5950
DL
89402000-07-18 Dave Love <fx@gnu.org>
8941
8942 * window.c (Fwindow_list): Declare arg `window'.
8943
aa96c820
KH
89442000-07-18 Kenichi Handa <handa@etl.go.jp>
8945
8946 * coding.c (setup_coding_system): Don't override the explicitly
8947 specified designations.
8948
06be8d32
MB
89492000-07-15 Miles Bader <miles@gnu.org>
8950
8951 * editfns.c (char_property_eq, char_property_stickiness): Renamed
8952 from `text_property_eq' and `text_property_stickiness', respectively.
8953 (find_field, Fconstrain_to_field, char_property_eq)
8954 (char_property_stickiness): Changed to call char-property functions
8955 instead of text-property-only ones.
8956
8957 * textprop.c (Fnext_single_char_property_change): Made a subr (was
8958 `next_single_char_property_change'). Do more error checking, and
8959 cleanup limit behavior.
8960 (Fprevious_single_char_property_change): New function.
8961 (syms_of_textprop): Initialize new subrs.
8962
8963 * xdisp.c (display_prop_end, invisible_text_between_p):
8964 Call Fnext_single_char_property_change instead of
8965 next_single_char_property_change.
8966
3fddcdc3
JR
89672000-07-15 Jason Rumney <jasonr@gnu.org>
8968
8969 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
8970 after menu is finished with.
8971 (add_menu_item): Only consider wv->title as a menu title.
8972 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
8973
8974 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
8975 null title.
8976 (FONT_REGEXP): Remove unused macro, and its sub-components.
8977 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
8978
8979 * w32term.c (help_echo_object, help_echo_pos): New variables.
8980 (note_mode_line_highlight): Store additional information about the
8981 help-echo in help_echo_object and help_echo_pos. Check both
8982 `local-map' and `keymap' properties for changing the cursor
8983 (note_mouse_highlight): Store additional information about the
8984 help-echo in help_echo_object and help_echo_pos.
8985 (note_tool_bar_highlight): Set help_echo_object to nil and
8986 help_echo_pos to -1.
8987 (w32_read_socket): Use gen_help_event instead of filling
8988 input_events manually.
8989 (syms_of_w32term): Staticpro help_echo_object.
8990 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 8991 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
8992 (x_clear_mouse_face): New function.
8993 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
8994 (x_update_window_begin): No need to turn off the mouse
8995 highlight here.
8996 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 8997 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
8998 (x_fill_stretch_glyph_string): Consume runs of stretch
8999 glyphs instead of a single one.
9000 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9001 with new argument list.
9002 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9003 (x_append_glyph, x_append_composite_glyph)
9004 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9005 changes in struct glyph starting 1999-12-27. See comments for
9006 xterm.c on 2000-07-05.
9007
178c5d9c
SS
90082000-07-14 Sam Steingold <sds@gnu.org>
9009
9010 * xfaces.c (realize_x_face): Fix the last patch:
9011 check `default_face' before dereferencing.
9012
6fe533f6
DL
90132000-07-14 Dave Love <fx@gnu.org>
9014
069f5950 9015 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 9016
dd7b81cf
KH
90172000-07-14 Kenichi Handa <handa@etl.go.jp>
9018
0693904a 9019 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 9020 default_face's fontset, not using the default fontset.
0693904a 9021
dd7b81cf
KH
9022 * coding.c (inhibit_iso_escape_detection): New variable.
9023 (syms_of_coding): Make it a Lisp variable.
9024 (detect_coding_iso2022): If inhibit_iso_escape_detection is
9025 nonzero, ignore ISO2022's escape sequence.
9026
d5aa31d8
GM
90272000-07-14 Gerd Moellmann <gerd@gnu.org>
9028
e5acf0ca
GM
9029 * alloca.c (malloc) [emacs]: Define as xmalloc.
9030
bd23a692
GM
9031 * xfns.c (Fx_show_tip): If frame parameters contain a position,
9032 use that instead of the mouse position. Add parameters DX and DY.
9033
9034 * dispextern.h (Fx_show_tip): Adjust number of parameters
9035 in prototype.
9036
9662da0b
GM
9037 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
9038 if HELP is a function, call it with OBJECT and POS as parameters
9039 to get the help to display.
9040 (gen_help_event, kbd_buffer_store_help_event): New functions.
9041 (kbd_buffer_get_event): Construct the Lisp help-event differently.
9042 (read_char): Call show_help_echo with new parameters.
9043
178c5d9c 9044 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
9045 Add prototypes.
9046
9047 * xterm.c (help_echo_object, help_echo_pos): New variables.
9048 (note_mode_line_highlight): Store additional information about the
9049 help-echo in help_echo_object and help_echo_pos. Check both
9050 `local-map' and `keymap' properties for changing the cursor
9051 (note_mouse_highlight): Store additional information about the
9052 help-echo in help_echo_object and help_echo_pos.
9053 (note_tool_bar_highlight): Set help_echo_object to nil and
9054 help_echo_pos to -1.
9055 (XTread_socket): Use gen_help_event instead of filling
9056 input_events manually.
9057 (syms_of_xterm): Staticpro help_echo_object.
9058
9059 * xmenu.c (menu_highlight_callback): Use
9060 kbd_buffer_store_help_event instead of setting up and input_event
9061 structure manually.
9062
9063 * xdisp.c (eval_form): GCPRO argument sexpr.
9064 (call_function): New function.
9065 (handle_single_display_prop): Use call_function and FUNCTIONP
9066 instead of checking whether if font_height is a symbol and
9067 using eval_form.
9068
9069 * eval.c (internal_condition_case_2): New function.
9070
9071 * lisp.h (FUNCTIONP): New macro.
9072 (internal_condition_case_2, call_function): Add prototypes.
9073
d5aa31d8
GM
9074 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
9075 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
9076 Always set `arg' member of input_events.
9077 (construct_menu_click): Unused function removed.
9078
9079 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
9080
9081 * w32term.c (construct_mouse_click, construct_mouse_wheel)
9082 (construct_drag_n_drop, x_scroll_bar_handle_click)
9083 (w32_read_socket): Always set `arg' member of input_events.
9084
9085 * keyboard.c (show_help_echo): Use eval_form. Add comment.
9086
9087 * lisp.h (eval_form): Add prototype.
9088
9089 * xdisp.c (eval_form): Make it externally visible.
9090
0f1a9b23
GM
90912000-07-13 Gerd Moellmann <gerd@gnu.org>
9092
9093 * xterm.c (x_handle_tool_bar_click): Store the frame in the
9094 frame_or_window slot of TOOL_BAR_EVENT input events instead of
9095 consing. For prefix events, store the frame in the `arg' slot of
9096 the event, otherwise store the key there.
9097 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 9098 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
9099
9100 * xmenu.c (menu_highlight_callback): Store help string in the
9101 `arg' member of the input event; don't cons.
9102 (menubar_selection_callback): Use the `arg' slot of input events
9103 to queue additional information, instead of consing.
9104
9105 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
9106
9107 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
9108 TOOL_BAR_EVENTs.
9109 (w32_read_socket): Adapt to changes in HELP_EVENTs.
9110
9111 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
9112 input events to queue additional information, instead of consing.
9113
9114 * keyboard.c (kbd_buffer_gcpro): Renamed from
9115 kbd_buffer_frame_or_window. Now used for all Lisp objects
9116 referenced from the input queue.
9117 (kbd_buffer_store_event): Always use structure assignment for
9118 copying input events. Record all Lisp objects referenced from
9119 events in kbd_buffer_gcpro.
9120 (kbd_buffer_get_event): Construct Lisp `help-echo' events
9121 differently from input events. Test for prefix menu_bar_events
9122 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
9123 event in kbd_buffer_gcpro to nil.
9124 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
9125 frame_or_window is equal to its arg member as prefix events.
9126 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
9127 used by an input event to nil.
9128 (init_keyboard): Use two times the size of the input queue
9129 for kbd_buffer_gcpro.
9130 (syms_of_keyboard): Likewise.
9131
52283633
SM
9132 * emacs.c (handle_USR2_signal, handle_USR1_signal):
9133 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
9134
9135 * termhooks.h (struct input_event): Add member `arg'.
9136 (MENU_BAR_EVENT): Renamed from menu_bar_event.
9137 (USER_SIGNAL_EVENT): Renamed from user_signal.
9138
9139 * xfaces.c (ASET): Remove definition.
9140
9141 * lisp.h (AREF, ASET, ASIZE): New macros.
9142
9143 * fontset.c (AREF, ASIZE): Remove definitions.
9144
9145 * fns.c (AREF): Remove definition.
178c5d9c 9146
0f1a9b23
GM
9147 * composite.c (AREF): Remove definition.
9148
712eaef2
GM
91492000-07-12 Gerd Moellmann <gerd@gnu.org>
9150
d8ee7803
GM
9151 * dispnew.c (redraw_overlapped_rows): Add missing local.
9152 (scrolling_window): Remove debug code.
9153
712eaef2
GM
9154 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
9155 Before scrolling, turn off a mouse-highlight in the window
9156 being scrolled.
9157
9158 * xterm.c (x_update_window_end): Add parameter
9159 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
9160 redisplay in XTframe_up_to_date.
9161 (x_clear_mouse_face): New function.
9162 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
9163
9164 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
9165 current glyph row.
9166 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
9167 it when any row is written to that contains glyphs highlighted in
9168 mouse-face.
9169 (update_window): Call the window update end hook with new
9170 parameter MOUSE_FACE_OVERWRITTEN_P.
9171 (direct_output_for_insert): Give up if row contains mouse-face.
9172
9173 * dispextern.h (struct redisplay_interface): Add parameter
9174 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
9175 (clear_mouse_face): New function pointer member.
9176
02010917
SM
91772000-07-11 Stefan Monnier <monnier@cs.yale.edu>
9178
9179 * syntax.c (back_comment): Use one switch rather than a few `if's.
9180 Obey open_paren_in_column_0_is_defun_start.
9181 When reverting to the `slow' method, try to nicely handle the case
9182 of nested comments by checking that the comment-starter we found
9183 does indeed match the comment-ender.
9184 (scan_sexps_forward, scan_sexps_forward):
9185 Ignore excessive opening parenthesis rather than throwing an error.
9186
d76c03ea
GM
91872000-07-11 Gerd Moellmann <gerd@gnu.org>
9188
9189 * doc.c (Fsubstitute_command_keys): Handle case that a GC
9190 in Fwhere_is_internal or get_keymap_1 relocates string contents.
9191
9192 * dispnew.c (direct_output_forward_char): Give up if currently
9193 displaying a message instead of the minibuffer contents.
9194
9195 * xterm.c (x_update_window_begin): No need to turn off the mouse
9196 highlight here.
9197 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9198 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
9199
9200 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
9201 compare the mouse_face_p flags of both rows.
9202
9203 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
9204
d55ead18
EZ
92052000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
9206
9207 * keyboard.c (show_help_echo): Accept additional parameter
9208 ok_to_overwrite_keystroke_echo.
9209 (read_char): Call show_help_echo with a zero
9210 ok_to_overwrite_keystroke_echo argument.
52283633 9211 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
9212 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
9213 ok_to_overwrite_keystroke_echo argument.
9214 * w32menu.c (w32_menu_display_help): Call show_help_echo with
9215 non-zero ok_to_overwrite_keystroke_echo argument.
9216
df75b1a3
GM
92172000-07-10 Gerd Moellmann <gerd@gnu.org>
9218
4b92c49a
GM
9219 * xdisp.c (try_window_id): If changes are all below what is
9220 displayed in the window, and point is in the window, we still
9221 might have to find point on the display.
9222
9223 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
9224 glyphs instead of a single one.
9225 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9226 with new argument list.
9227 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9228
df75b1a3
GM
9229 * keymap.c (get_keymap_1): Add comment that this function can GC.
9230 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
9231 comment that functions can GC.
9232 (Fset_keymap_parent): GCPRO arg KEYMAP.
9233
4314cf3e
EZ
92342000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
9235
9236 * msdos.c (XMenuActivate): After exiting the menu, restore the
9237 echo area message and erase it.
9238
ab49ce15
KH
92392000-07-10 Kenichi Handa <handa@etl.go.jp>
9240
9241 * fontset.c (Ffontset_info): Make the return value more compatible
9242 with that of Emacs 20.
9243
090a072f
GM
92442000-07-07 Gerd Moellmann <gerd@gnu.org>
9245
9246 * eval.c (Fsignal): Handle case that backtrace_list is null.
9247
f92de4a6
KH
92482000-07-07 Kenichi Handa <handa@etl.go.jp>
9249
9250 * ccl.c (Fccl_execute): Typo fixed.
9251
dd8888a1
GM
92522000-07-06 Gerd Moellmann <gerd@gnu.org>
9253
e5c81191 9254 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 9255
dd8888a1
GM
9256 * window.c (Fwindow_list): Reverse list at the end.
9257 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
9258 means allow windows on OWINDOW's frame, only.
9259 (window_loop): Simplified; use Fwindow_list.
9260
9261 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
9262
485266d0
GM
92632000-07-05 Gerd Moellmann <gerd@gnu.org>
9264
9265 * xterm.c (XTread_socket): Increment handling_signal at the start,
9266 decrement it at the end.
9267
9268 * eval.c (handling_signal): New variable.
9269 (Fsignal): Abort if handling_signal is non-zero.
9270
9271 * lisp.h (handling_signal): External declaration.
178c5d9c 9272
485266d0
GM
9273 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
9274
80fcd514
KR
92752000-07-05 Ken Raeburn <raeburn@gnu.org>
9276
9277 Sound support for NetBSD through "Linux emulation" support:
9278 * config.in (HAVE_SOUNDCARD_H): Undef.
9279 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
9280 * Makefile.in (LIBSOUND): New variable.
9281 (LIBES): Include it.
52283633
SM
9282 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
9283 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
9284 (vox_open): Use DEFAULT_SOUND_DEVICE.
9285 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
9286
d5c5cddd
GM
92872000-07-05 Gerd Moellmann <gerd@gnu.org>
9288
9289 * print.c (print_error_message): If Vsignaling_function is set,
9290 show it in *Messages*.
9291
9292 * lisp.h (Vsignaling_function): External declaration.
9293
9294 * eval.c (Vsignaling_function): New variable.
9295 (Fsignal): Compute it.
9296 (syms_of_eval): Staticpro it.
9297
65171e3a
DL
92982000-07-05 Dave Love <fx@gnu.org>
9299
9300 * syswait.h: Use the autoconf recommended approach. Old code
9301 #if'd out in case we need to revert.
9302
178c5d9c 9303 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 9304
e2c46326
AI
93052000-07-05 Andrew Innes <andrewi@gnu.org>
9306
9307 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
9308 when non-NULL instead of __morecore, to take account of buffer
9309 memory. This also solves a problem with spurious memory warnings
9310 on Windows.
9311
9312 * ralloc.c: Make real_morecore non-static.
9313
9314 * eval.c (internal_condition_case): Comment out abort if
9315 interrupt_input_blocked is not zero.
9316
9317 * makefile.nt: Add support for `bootstrap' and related targets.
9318 Include minimal debug info in emacs.exe in release build.
9319 Remove all dependencies on lisp.h, and fixup some others.
9320
9321 * w32.c (init_environment): Install code from 20.7 for providing
9322 default values for environment variables, based on the
9323 executable's own location.
52283633 9324 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
9325 (sys_socket): Install socket inheritance bug fix from 20.7.
9326
9327 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
9328 here via blockinput.h).
9329
a027a91b
SM
93302000-07-05 Stefan Monnier <monnier@cs.yale.edu>
9331
e4b31601
SM
9332 * w32menu.c (w32_menu_display_help):
9333 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
9334
9335 * keyboard.h (show_help_echo): Declare.
9336
9337 * keyboard.c (show_help_echo): New function, extracted from read_char.
9338 Feval its `msg' argument if it's a cons cell.
9339 (read_char): Use it.
4cf8d9d5 9340 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 9341
178c5d9c 9342 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 9343 (note_tool_bar_highlight, XTread_socket):
178c5d9c 9344 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
9345 (dos_rawgetc):
9346 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
9347 (note_tool_bar_highlight, w32_read_socket):
9348 Do not gratuitously ignore non-string `help-echo' properties.
9349
88d75730
GM
93502000-07-05 Gerd Moellmann <gerd@gnu.org>
9351
969f7e79
GM
9352 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
9353
71201b00
GM
9354 * window.c (delete_all_subwindows): Reset Vwindow_list.
9355
88d75730
GM
9356 * xterm.c (x_append_glyph, x_append_composite_glyph)
9357 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9358 changes in struct glyph starting 1999-12-27. Some bit-fields of
9359 struct glyph were not set, which made glyphs unequal when compared
9360 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
9361 effects were the result. This also depended on the contents of
9362 memory returned by xmalloc. If flickering happens again, activate
9363 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 9364 gone with that, chances are that it is caused by something similar.
88d75730
GM
9365
9366 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 9367
88d75730
GM
9368 * dispextern.h: Add some comments.
9369
9370 * window.c (add_window_to_list): Add parameter LIST.
9371 (window_list): Order list so that, for each frame, windows are
9372 in canonical order, and so that frames appear in the list in
9373 the order given by Vframe_list.
9374 (next_window): Reverse the handling of NEXT_P.
9375
53654733
GM
93762000-07-04 Gerd Moellmann <gerd@gnu.org>
9377
87efd256
GM
9378 * window.c (Vwindow_list): New variable.
9379 (make_window, delete_window): Set Vwindow_list to nil.
9380 (check_window_containing): New function.
9381 (window_from_coordinates): Rewritten.
9382 (add_window_to_list, window_list, candidate_window_p)
9383 (decode_next_window_args, next_window): New functions.
52283633 9384 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
9385 (Fwindow_list): New function.
9386 (Fother_window): Cleaned up.
9387 (foreach_window): Add a longer "variable argument list". Let
9388 callback function return 0 to indicate that cycling over windows
9389 should stop.
9390 (foreach_window_1): Likewise.
9391 (freeze_window_start): Return int.
9392 (init_window): New function.
9393 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
9394
9395 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
9396 input_event with bzero.
9397 (main): Call init_window.
9398
53654733
GM
9399 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
9400 a menu filter.
9401
4a8c194f
KH
94022000-07-04 Kenichi Handa <handa@etl.go.jp>
9403
9404 * composite.h (make_composition_value_copy): Extern it.
9405
9406 * composite.c (make_composition_value_copy): New function.
9407
9408 * editfns.c (Fformat): While copying text properties, make each
9409 composition property value a copy.
9410
9411 * fns.c (concat): While copying text properties, make each
9412 composition property value a copy.
9413
831a6cb0
GM
94142000-07-03 Gerd Moellmann <gerd@gnu.org>
9415
2f516940
GM
9416 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
9417
178c5d9c 9418 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
9419 marked already.
9420
831a6cb0
GM
9421 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
9422 include those frames as candidates which have their focus
9423 redirected to the minibuffer frame.
9424
d9c4f922
SM
94252000-07-03 Stefan Monnier <monnier@cs.yale.edu>
9426
9427 * fns.c (Fputhash): Return `value' rather than nil.
9428
3780bc22
GM
94292000-06-30 Gerd Moellmann <gerd@gnu.org>
9430
97d176db
GM
9431 * frame.c (next_frame): Don't check focus redirection in case
9432 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
9433 unless their focus is redirected, which contradicts the
9434 specification of next-frame, and leads to infinite loops in
9435 certain situations when cycling through windows with next-window.
9436
dca9961d
KH
94372000-06-30 Kenichi Handa <handa@etl.go.jp>
9438
9439 * coding.c (code_convert_region): Even if the length of text is
9440 zero, try to convert it if coding->type is coding_type_ccl.
9441 (decode_coding_string, encode_coding_string): Likewise.
9442
d5483ab1
GM
94432000-06-28 Gerd Moellmann <gerd@gnu.org>
9444
af5c25e1 9445 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 9446 the display if windows_or_buffers_changed.
af5c25e1
GM
9447
9448 * dispnew.c (struct row_entry): New structure.
9449 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
9450 (row_table_size, old_lines, new_lines, old_lines_size)
9451 (new_lines_size, run_pool, runs_size, runs): New variables.
9452 (add_row_entry): New function.
9453 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 9454 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
9455 holding them in local variables. Use a larger hash table whose
9456 size depends on glyph matrix sizes. Don't use bzero to clear the
9457 hash table; instead, clear used slots only.
9458
9459 * fns.c (next_almost_prime): Make it externally visible.
9460
9461 * lisp.h (next_almost_prime): Add prototype.
9462
d5483ab1
GM
9463 * s/isc4-0.h (sigunblock): Define.
9464
9465 * s/sco5.h (sigunblock): Define.
9466
93e40f40
DL
94672000-06-27 Dave Love <fx@gnu.org>
9468
9469 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
9470 (moved to osf5-0.h).
9471 [!NOT_C_CODE]: Protect string.h stuff.
9472
9473 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
9474 (sys_siglist, NSIG): Definitions moved here from osf1.h.
9475
3c4b7685
GM
94762000-06-27 Gerd Moellmann <gerd@gnu.org>
9477
97d176db 9478 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
9479 below the last line from the needed window height.
9480
32cad0aa
SM
94812000-06-26 Stefan Monnier <monnier@cs.yale.edu>
9482
9483 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
9484 (Fwidget_get): Use it.
9485 (syms_of_fns): Defsubr it.
9486
2c69ced2
GM
94872000-06-26 Gerd Moellmann <gerd@gnu.org>
9488
178c5d9c 9489 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
9490 display info for XIM.
9491 (xim_open_dpy): Likewise.
9492 (xim_close_dpy): Don't free the display info's XIM.
9493
9494 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
9495
9496 * config.in (USE_XIM): New define.
9497
3fc720e4
GM
9498 * keymap.c (get_keyelt): For menu-items containing a `:filter
9499 FILTER', apply FILTER to the menu-item's definition to get the
9500 real definition to use.
9501
9502 * lisp.h (QCfilter): External declaration.
9503
2c69ced2
GM
9504 * xfns.c (Fimage_size): New function.
9505 (syms_of_xfns): Defsubr it.
9506
f978b2a2
AS
95072000-06-26 Andreas Schwab <schwab@suse.de>
9508
9509 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
9510 Fstring_as_unibyte.
9511
94cc7892
DL
95122000-06-25 Dave Love <fx@gnu.org>
9513
52283633 9514 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
9515
9516 * Makefile.in (blockinput.h): Depend on atimer.h.
9517 (atimer.h): Depend on systime.h.
9518
52283633 9519 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 9520
52283633 9521 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
9522
9523 * lisp.h (swap_in_global_binding): Declare.
9524
b8c24556
KR
95252000-06-24 Ken Raeburn <raeburn@gnu.org>
9526
9527 * process.c (Fopen_network_stream): Turn off atimers for duration
9528 of call to connect. (Patch from Gerd.)
9529
8cf8560b
DL
95302000-06-23 Dave Love <fx@gnu.org>
9531
511c7541
DL
9532 * ralloc.c: Maybe include unistd.h
9533
8cf8560b
DL
9534 * emacs.c (setgrp): Undefine before defining.
9535 (malloc_warning, set_time_zone_rule, index): Prototype.
9536
9537 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
9538 HAVE_STRUCT_TIMEZONE.
9539
9540 * s/osf1.h: Move string.h hack here from alpha.h and make it
9541 conditional.
9542 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
9543 _XOPEN_SOURCE.
9544 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
9545 (SOCKLEN_TYPE): Don't define.
9546
9547 * m/alpha.h: Remove string.h hack.
9548
9549 * s/osf5-0.h: New file.
9550
9551 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
9552 include time.h, done by systime.h.
9553 [__FreeBSD__]: Remove redundant includes.
9554
3fc720e4 9555 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
9556 (delete_temp_file): Return Qnil to avoid warning.
9557
9558 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
9559
9560 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
9561 HAVE_X_WINDOWS.
9562
9563 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
9564
9565 * composite.h (compose_text): Declare.
9566
9567 * xterm.c: Don't include sys/types.h unconditionally. Don't
9568 protect its inclusion with !USG (following xmenu.c).
9569
ea055732
GM
95702000-06-23 Gerd Moellmann <gerd@gnu.org>
9571
9572 * xfns.c (x_create_tip_frame): Initialize frame's colors like
9573 in x_create_frame.
9574
74b01b80
EZ
95752000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
9576
9577 * coding.c (decode_eol_post_ccl): Special handling for undecided
9578 and inconsistent EOL types.
9579
64f3a166
GM
95802000-06-22 Gerd Moellmann <gerd@gnu.org>
9581
16cf31f7
GM
9582 * xrdb.c (x_load_resources): Add default resource for scroll bar's
9583 trough color and main window's background color.
9584
52283633 9585 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
9586
9587 * xterm.h (Xt_app_con): External declaration.
9588
9589 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 9590
486a103d
GM
9591 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
9592
64f3a166
GM
9593 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
9594 (handle_invisible_prop): Record the start of invisible text in
9595 it->add_overlay_start.
9596 (struct overlay_entry): Add member `overlay'.
9597 (handle_overlay_change): Simplify.
9598 (next_overlay_string): After having processed overlay strings at the
9599 end of the buffer, record that fact in
9600 it->overlay_strings_at_end_processed_p.
9601 (compare_overlay_entries): If before- and after-strings come
9602 from the same overlay, let before-strings come first.
9603 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
9604 (load_overlay_strings): Take it->add_overlay_start into account
9605 when adding overlay strings.
9606
9607 * dispextern.h (struct it): Add member add_overlay_start.
9608
bb746ea6
DL
96092000-06-22 Dave Love <fx@gnu.org>
9610
9611 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
9612
9613 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
9614
a8f573f3
KH
96152000-06-22 Kenichi Handa <handa@etl.go.jp>
9616
9617 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
9618 is greater than 0.
9619
9f2bbc92
DL
96202000-06-21 Dave Love <fx@gnu.org>
9621
178c5d9c 9622 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 9623
3ee5041c
SM
96242000-06-21 Stefan Monnier <monnier@cs.yale.edu>
9625
9626 * syntax.c (back_comment): Simplify string-parity counting (with
9627 the added benefit of handling multiple string-styles as long as
9628 they are not intertwined).
9629 Jump to the slow code as soon as a comment starter is found in
9630 a "string_lossage" position. Fixes the case: " /* " /* " */.
9631
4c343001
DL
96322000-06-21 Dave Love <fx@gnu.org>
9633
9634 * Makefile.in: Use GETLOADAVG_LIBS.
9635
9636 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
9637 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
9638
e6365855
SM
96392000-06-20 Stefan Monnier <monnier@cs.yale.edu>
9640
9641 * syntax.c (describe_syntax): Recognize the `n'estable bit.
9642 (Fforward_comment, scan_lists):
9643 Check the comstyle of single-char comment-starters.
9644 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
9645 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
9646 Check the comstyle of single-char comment-starters.
9647 Clarify control-flow around the Scomment case.
e6365855 9648
5700d2cc
DL
96492000-06-20 Dave Love <fx@gnu.org>
9650
d355bd8a
SM
9651 * fns.c (make_hash_table, maybe_resize_hash_table):
9652 Cast arg of next_almost_prime.
5700d2cc 9653
178c5d9c 9654 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
9655
9656 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
9657 and unistd.h.
9658
4a27bdfb
GM
96592000-06-20 Gerd Moellmann <gerd@gnu.org>
9660
a61d762c 9661 * keyboard.c (adjust_point_for_property): Check if display
52283633 9662 property should be treated as intangible by looking at its value.
a61d762c 9663
178c5d9c 9664 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
9665 (display_prop_intangible_p): New functions.
9666
9667 * dispextern.h (display_prop_intangible_p): Add prototype.
9668
9669 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 9670
4a27bdfb
GM
9671 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
9672 argument to sigprocmask.
9673
9674 * s/sco5.h (sigblock): Redefined to pass a pointer as second
9675 argument to sigprocmask.
9676
9677 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
9678 sigprocmask_set, and pass a pointer to it to sigprocmask.
9679
9680 * sysdep.c (sigprocmask_set): New variable.
9681
9682 * fileio.c (make_temp_name): Don't use `%s' in string passed to
9683 report_file_error.
9684
427ec082
SS
96852000-06-20 Sam Steingold <sds@gnu.org>
9686
9687 * xrdb.c: Don't declare xmalloc, xrealloc.
9688
8972fe79 96892000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
9690
9691 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
9692 (re_comp): Cast gettext return value to avoid complaints when
9693 !HAVE_LIBINTL.
9694
074b6efe
DL
96952000-06-20 Dave Love <fx@gnu.org>
9696
52283633 9697 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 9698
5700d2cc 9699 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 9700
d355bd8a 9701 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
9702
9703 * m/alpha.h: Don't declare xmalloc, xrealloc.
9704
0af4f205
DL
9705 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
9706
9707 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
9708
9709 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
9710
9711 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
9712 HAVE_GETWD.
9713
074b6efe
DL
9714 * keyboard.h (poll_for_input_1): Declare.
9715
9716 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
9717
9718 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
9719
9720 * doprnt.c: Don't declare xmalloc, xrealloc.
9721
9722 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
9723 (getenv, ctime, getwd): Removed.
9724 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
9725
9726 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
9727 x_set_tool_bar_lines.
9728
9729 * config.in: Add HAVE_GETWD. Move some definitions above
9730 machine/system includes.
9731
68a5e97b
KH
97322000-06-20 Kenichi Handa <handa@etl.go.jp>
9733
95417e1e
KH
9734 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
9735
68a5e97b
KH
9736 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
9737 contain information about ENCODING.
9738
9739 * fontset.c (FONTSET_ASCII): Use the first element of char table
9740 for an ASCII font, not defalt slot.
9741 (fontset_ref_via_base): If FONTSET doesn't contain information for
9742 C, try the default fontset.
9743 (make_fontset): Don't copy the default fontset.
9744 (fontset_font_pattern): Likewise.
9745 (accumulate_font_info): If ELT is nil, use the corresponding
9746 element in the default fontset.
9747
3b4fa1b2
DL
97482000-06-19 Dave Love <fx@gnu.org>
9749
943e731c
DL
9750 * syntax.c (Fparse_partial_sexp): Doc fix.
9751
9752 * regex.h: Test PROTOTYPES as well as __STDC__.
9753
3b4fa1b2
DL
9754 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
9755 errno, strerror. Put text after #endif in comment.
9756
52283633 9757 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
9758
9759 * xterm.c (x_frame_of_widget): Likewise.
9760
cdf0357b
GM
97612000-06-19 Gerd Moellmann <gerd@gnu.org>
9762
9763 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
9764 to Vfundamental_mode_abbrev_table.
9765
9766 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
9767 bogus objects are marked. This slows down GC by ~80 percent, but
9768 it might be worth trying when debugging GC-related problems.
9769 This feature requires conservative stack marking to be enabled.
9770
9771 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
9772 returns XLookupChars, reset `modifiers' to zero.
9773
998e9f8c
DL
97742000-06-19 Dave Love <fx@gnu.org>
9775
9776 * mktime.c: Unprotoized.
9777
18e21ce8 97782000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
9779
9780 * data.c (set_internal): If variable is frame-local,
9781 store the new value immediately into the frame parameter alist.
9782
140c4ac6
KR
97832000-06-19 Ken Raeburn <raeburn@gnu.org>
9784
14358466
KR
9785 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
9786 in the custom handler pointer.
9787
140c4ac6
KR
9788 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
9789 value, or checks for CHAR_META can fail when Lisp_Object is a
9790 union type.
9791 * keymap.c (get_keyelt): Likewise.
9792
10d7bf84
KH
97932000-06-19 Kenichi Handa <handa@etl.go.jp>
9794
9795 * ccl.h (struct ccl_program): New member eol_type.
9796 (struct ccl_spec): New member cr_carryover.
9797
9798 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
9799 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
9800
9801 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
9802 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
9803 (decode_eol_post_ccl): New function.
9804 (decode_coding): Don't detect EOL format here for CCL based coding
9805 systems.
9806 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
9807 decode_eol_post_ccl after running the CCL program.
9808 (code_convert_region): Don't detect EOL format here for CCL based
9809 coding systems.
9810 (decode_coding_string): Likewise.
9811
52e386c2
KR
98122000-06-18 Ken Raeburn <raeburn@gnu.org>
9813
9814 * charset.c (update_charset_table): Use XINT on "iso_final_char"
9815 when treating it as an integer.
9816
9817 * coding.h (encode_coding_string): Declare.
9818
9819 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
9820 it as an integer.
9821
9822 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
9823 "xkeymap" to avoid shadowing the "enum map_type" value that needs
9824 to be passed to get_local_map.
9825
9826 * sound.c (Fplay_sound): Don't call make_number on
9827 Frun_hook_with_args count argument.
9828
9829 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
9830 for lisp objects in X event structure data field, when lisp
9831 objects are represented with unions.
9832 (x_scroll_bar_to_input_event): Ditto.
9833
b357b9d4
KR
98342000-06-16 Ken Raeburn <raeburn@gnu.org>
9835
9836 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
9837 termination of string. Fix sense of test whether
9838 Vline_number_display_limit is an integer.
b357b9d4 9839
a871441d
GM
98402000-06-16 Gerd Moellmann <gerd@gnu.org>
9841
a9021acd
GM
9842 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
9843 only if HAVE_X_WINDOWS.
9844
6344985d
GM
9845 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
9846 of titles.
9847
427ec082 9848 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
9849 out of bounds.
9850
228b083e
EZ
98512000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
9852
9853 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
9854 of its headers.
9855
c25b53a2
KH
98562000-06-15 Kenichi Handa <handa@etl.go.jp>
9857
9858 * coding.c (decode_coding_emacs_mule): Always set src_base at the
9859 start of the while loop.
9860
a6981b11
GM
98612000-06-15 Gerd Moellmann <gerd@gnu.org>
9862
e9924e52
GM
9863 * atimer.c (alarm_signal_handler): Add forward declaration.
9864
a6981b11
GM
9865 * data.c (set_internal): Remove debug code.
9866
25fa6deb
GM
98672000-06-14 Gerd Moellmann <gerd@gnu.org>
9868
dce6b995
GM
9869 * Makefile.in (bootstrap-temacs): Add `-I../src'.
9870
9f817ea4
GM
9871 * unexec.c (toplevel) [COFF]: Include coff.h.
9872
9873 * s/lynxos.h: New file.
9874
9875 * keymap.c (Fsingle_key_description): Enclose function key and
9876 event symbol names in angle brackets.
9877
8a4e3c0c
GM
9878 * xdisp.c (setup_echo_area_for_printing): Call
9879 message_log_maybe_newline if message_buf_print is not set.
9880
9881 * print.c (printchar, strout): Don't check message_buf_print
427ec082 9882 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
9883 function does something useful even when message_buf_print is
9884 already set.
9885
52283633
SM
9886 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
9887 New variables.
25fa6deb
GM
9888 (ensure_echo_area_buffers): Initialize echo buffer's
9889 truncate lines setting to nil.
9890 (with_echo_area_buffer): Don't set the echo buffer's truncate
9891 lines setting here.
8a4e3c0c 9892 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
9893 of message_truncate_lines.
9894 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
9895 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
9896 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
9897
9898 * keyboard.c (read_char): Bind message-truncate-lines to t
9899 while displaying a help-echo.
9900
9901 * lisp.h (Qmessage_truncate_lines): External declaration.
9902
163dcff3
GM
99032000-06-13 Gerd Moellmann <gerd@gnu.org>
9904
1681ead6
GM
9905 * xdisp.c (Vline_number_display_limit): Renamed from
9906 line_number_display_limit.
9907 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
9908 Extend documentation string. Initialize
9909 Vline_number_display_limit to nil meaning no limit.
9910 (decode_mode_spec): Use Vline_number_display_limit with its new
9911 meaning.
9912
163dcff3
GM
9913 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
9914
18e21ce8 99152000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
9916
9917 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 9918
163dcff3
GM
9919 * xfns.c (x_set_frame_parameters): Comment fix.
9920
9921 * frame.c (store_frame_param): Call swap_in_global_binding if the
9922 variable's current binding was chosen based on this frame.
9923
9924 * data.c (swap_in_global_binding): New function.
9925
a704139d
EZ
99262000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
9927
9928 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
9929 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
9930
9b6610db
EZ
99312000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
9932
9933 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
9934
c68833d2
JR
99352000-06-12 Jason Rumney <jasonr@gnu.org>
9936
9937 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
9938
9939 * w32.h (EMACS_W32_H): Renamed from _NT_H_
9940
9941 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
9942
9943 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
9944
ed1056b3
GM
99452000-06-12 Gerd Moellmann <gerd@gnu.org>
9946
9947 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
9948 (syms_of_xfaces): Defsubr Sdump_colors.
9949 (x_free_colors): Don't treat b&w specially on default visual.
9950 (x_free_dpy_colors): New function.
9951 (free_face_colors): Don't check visual class; it's done
9952 in x_free_colors.
9953
9954 * xterm.c (x_frame_of_widget): New function.
9955 (x_alloc_nearest_color_for_widget): Use it.
9956 (x_copy_dpy_color): New function.
9957 (x_destroy_window): Free various colors.
9958
5050a2ef
KH
99592000-06-12 Kenichi Handa <handa@etl.go.jp>
9960
9961 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
9962
9963 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
9964
9965 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
9966
9967 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
9968
9969 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
9970
fb1b041d
DL
99712000-06-11 Dave Love <fx@gnu.org>
9972
9973 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
9974
ff96b5f4
EZ
99752000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
9976
9977 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
9978
db8eeecd
GM
99792000-06-11 Gerd Moellmann <gerd@gnu.org>
9980
ed1056b3 9981 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
9982 to `XEvent *'.
9983
49b71c5f
KH
99842000-06-10 Kenichi Handa <handa@etl.go.jp>
9985
c479bd55
KH
9986 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
9987 (regex_compile): Fix the code for handling the case of single byte
9988 char and multibyte char being mixed in a range within [...].
9989
ff6a65c2
KH
9990 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
9991 and dst_multibyte members of coding.
9992
49b71c5f
KH
9993 * charset.c (update_charset_table): Update the table
9994 bytes_by_char_head.
9995 (init_charset_once): Initialize elements of bytes_by_char_head to
9996 1 except for leading codes for private charases.
9997
9998 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 9999 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 10000
9e80b57d
KR
100012000-06-09 Ken Raeburn <raeburn@gnu.org>
10002
10003 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
10004 access the data it doesn't point to.
10005
f83fe4b4
GM
100062000-06-08 Gerd Moellmann <gerd@gnu.org>
10007
10008 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 10009 will be translated to a switch-frame event when reading the
f83fe4b4
GM
10010 event queue. This is necessary because Emacs otherwise won't
10011 perform a switch-frame to a new frame until some other event, for
10012 example a keystroke event, forces it to do so. This has various
10013 effects, one visible being that the cursor of a frame created with
10014 C-x 5 2 or switched to with a window manager key binding like
10015 A-TAB stays hollow because selected_window isn't on the newly
10016 focused frame until the switch-frame is performed.
10017
10018 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
10019 generating a switch-frame event if necessary.
10020
10021 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
10022
10023 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
10024 it's an integer.
10025
0890801b
KH
100262000-06-08 Kenichi Handa <handa@etl.go.jp>
10027
52283633 10028 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 10029
173cbca8
GM
100302000-06-07 Gerd Moellmann <gerd@gnu.org>
10031
3091c2a6
GM
10032 * window.c (displayed_window_lines): Take empty lines at
10033 the bottom of a window into account.
427ec082 10034
f38952fe
GM
10035 * window.c (displayed_window_lines): New function.
10036 (Fmove_to_window_line): Use displayed_window_lines to determine
10037 the number of lines to move, instead of using the window's height.
10038
10039 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
10040 to stop reading, even if the form read sets point to a different
10041 value when evaluated.
10042
427ec082 10043 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
10044 put the cursor.
10045
6ba6c818
KH
100462000-06-07 Kenichi Handa <handa@etl.go.jp>
10047
10048 * fileio.c (e_write): Free composition data if stored in
10049 coding->cmp_data.
10050
5f1aea9a
GM
100512000-06-06 Gerd Moellmann <gerd@gnu.org>
10052
666852af
GM
10053 * xdisp.c (display_line): Set row's and iterator's
10054 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
10055 Set cursor even if row ends in the middle of a character.
10056 (dump_glyph_row): Print values of new flags.
10057 (redisplay_window) <cursor movement in unchanged window>: When
10058 point has been moved forward, and PT is at the end of the cursor
10059 row, don't place the cursor in the next row if the cursor row ends
10060 in the middle of a character or at ZV.
10061
10062 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
10063 (struct glyph_row): Add starts_in_middle_of_char_p and
10064 ends_in_middle_of_char_p.
10065 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
10066 ends_in_middle_of_char_p flag.
10067 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
10068
d13f3e2e
GM
10069 * term.c (append_glyph): Revert change of 2000-06-06.
10070
10071 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
10072 padding glyph not fitting on line as whole character not
10073 fitting on line.
10074
5f1aea9a
GM
10075 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
10076 this isn't true for images with `:ascent 100'.
10077
10cda9b0
KH
100782000-06-06 Kenichi Handa <handa@etl.go.jp>
10079
ed00559d
KH
10080 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
10081 as modified if it is originally unmodified.
10082
10cda9b0
KH
10083 * term.c (encode_terminal_code): Change the way to check if
10084 terminal coding does any conversion.
10085 (append_glyph): Set glyph->pixel_width correctly.
10086
10087 * xdisp.c (display_line): While checking line continuation, pay
10088 attention to a padding glyph.
10089
1969fae2
GM
100902000-06-05 Gerd Moellmann <gerd@gnu.org>
10091
10092 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
10093
162ccef4
DL
100942000-06-05 Dave Love <fx@gnu.org>
10095
f19f32dd
DL
10096 * xdisp.c: Include fontset.h.
10097
10098 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
10099
10100 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10101
10102 * dispnew.c: Conditionally include term.h.
10103
10104 * coding.h: Declare code_convert_string_norecord.
10105
10106 * frame.h (struct frame): Use volatile unconditionally.
10107
10108 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
10109
10110 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
10111
10112 * systime.h: Protect against multiple inclusion.
10113 (timezone) [USG5_4]: Define as time_t.
10114
10115 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10116 (Foptimize_char_table, make_temp_name): Declare.
10117
10118 * Makefile.in (xdisp.o): Depend on fontset.h.
10119
10120 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10121
10122 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10123 (Foptimize_char_table, make_temp_name): Declare.
10124
427ec082 10125 * s/irix4-0.h:
162ccef4
DL
10126 * s/irix5-0.h:
10127 * s/netbsd.h: Don't define autoconfiscated MATHERR.
10128
2082fe81
DL
101292000-06-02 Dave Love <fx@gnu.org>
10130
10131 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
10132
dcf671d2
GM
101332000-06-02 Gerd Moellmann <gerd@gnu.org>
10134
10135 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 10136 result face, set flags in that face indicating that colors may not
dcf671d2
GM
10137 be freed.
10138
10139 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
10140 glyph, use the ASCII NUL character to determine the face.
10141
d42122a3
DL
101422000-06-02 Dave Love <fx@gnu.org>
10143
10144 * sysdep.c: Conditionally include stdlib.h, unistd.h.
10145 (VFORK_RETURN_TYPE): Remove.
427ec082 10146
d42122a3
DL
10147 * config.in: Add NO_MATHERR.
10148
dd432f16
DL
101492000-06-01 Dave Love <fx@gnu.org>
10150
90aa4ea8
DL
10151 * cmds.c (internal_self_insert): Don't check
10152 Vbefore_change_function, Vafter_change_function.
10153
10154 * insdel.c (signal_before_change, signal_after_change): Likewise.
10155
10156 * buffer.c (Vbefore_change_function, Vafter_change_function):
10157 Variables and their initializations deleted.
10158
2330c9d4
DL
10159 * callint.c (Fcall_interactively): Doc fix.
10160
dd432f16
DL
10161 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
10162
bf9e8804
DL
101632000-05-31 Dave Love <fx@gnu.org>
10164
10165 * textprop.c: Revert last change -- duplicated.
10166
3694b4ab
GM
101672000-05-31 Gerd Moellmann <gerd@gnu.org>
10168
10169 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
10170 in #if 0.
10171
10172 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
10173
f14156cd
JR
101742000-05-31 Jason Rumney <jasonr@gnu.org>
10175
8119aab8
JR
10176 * search.c (Fre_search_forward, Fre_search_backward)
10177 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
10178
f14156cd
JR
10179 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
10180
4aab9be3
JR
101812000-05-30 Jason Rumney <jasonr@gnu.org>
10182
10183 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
10184 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
10185
52283633 10186 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
10187
10188 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
10189 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
10190 expand a nil default_filename.
10191
10192 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
10193 pointer to glyph_to_pixel_coords, not a frame.
10194
10195 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
10196 coding.h to dependencies.
10197
10198 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
10199
10200 * w32console.c (glyph_to_pixel_coords): Change first parameter to
10201 window pointer to be consistent with w32term.c and xterm.c.
10202
10203 * w32fns.c: Format and doc changes to bring closer to xfns.c.
10204 (VIETNAMESE_CHARSET): Define if not defined in system headers.
10205 (Qline_spacing, Qcenter): New variables.
10206 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
10207 (x_set_line_spacing): New function.
52283633 10208 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
10209 (x_specified_cursor_type): New function.
10210 (x_set_cursor_type): Use it.
10211 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
10212 and icon strings.
10213 (validate_x_resource_name, x_get_resource_string): Measure lengths
10214 of external strings in bytes.
10215 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
10216 GetTextExtentPoint32 with NULL title.
10217 (Fx_create_frame): Initialize Qline_spacing.
10218 (w32_load_system_font): Initialize font->double_byte_p.
10219 (x_to_w32_charset): Use Vw32_charset_info_alist.
10220 (Image, busy cursor, tooltip functions): Merged changes from
10221 xfns.c. Not yet functional on Windows.
10222
10223 * w32gui.h (W32FontStruct): Add double_byte_p member.
10224
10225 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
10226 (emacs_button_translation): Use it.
10227 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
10228 in `mask' to be set.
10229
10230 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
10231 menu strings.
10232
10233 * w32term.c: Format and doc changes to bring closer to xterm.c.
10234 (w32_char_font_type): New enum.
10235 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
10236 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
10237 (w32_encode_char): New function.
10238 (x_encode_char): Removed.
10239 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
10240 x_encode_char and w32_font_is_double_byte.
10241 (x_produce_image_glyph): Use image_ascent.
10242 (x_produce_glyphs): Use new version of w32_per_char_metric and
10243 handle NULL return value. Allow extra line spacing.
10244 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
10245 (w32_get_glyph_overhangs): Remove unicode_p param. Use
10246 w32_font_type member of glyph instead.
10247 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
10248 (fast_find_position): Make sure not to consider rows not visible
10249 in the window.
10250 (w32_read_socket) [WM_MENUSELECT]: Cannot call
10251 w32_menu_display_help with input blocked, as it can abort.
10252 (x_display_and_set_cursor): Choose cursor depending
10253 on buffer-local value of cursor_type.
10254 (x_draw_bar_cursor): Add parameter WIDTH.
10255
10256 * w32term.h (CP_DEFAULT): Define.
10257 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
10258
10fc3187
GM
102592000-05-30 Gerd Moellmann <gerd@gnu.org>
10260
10261 * search.c (Fre_search_forward, Fre_search_backward)
10262 (Fposix_search_backward, Fposix_search_forward): Doc fix.
10263
d0555360
KH
102642000-05-30 Kenichi Handa <handa@etl.go.jp>
10265
10266 * coding.c (detect_coding_iso2022): Fix code for checking
10267 CODING_CATEGORY_MASK_ISO_8_2.
10268
f1ad044f
SM
102692000-05-29 Stefan Monnier <monnier@cs.yale.edu>
10270
10271 * regex.c (PREFETCH_NOLIMIT): New function.
10272 (re_match_2_internal): Use it and adjust the end_match_2 logic.
10273
84ec3b4b
GM
102742000-05-29 Gerd Moellmann <gerd@gnu.org>
10275
66254a13
GM
10276 * syntax.c (find_defun_start): Move test for
10277 open_paren_in_column_0_is_defun_start outside of the loop.
10278
49e70dec
GM
10279 * xdisp.c (redisplay_window): Really switch buffers when
10280 displaying mode lines, and temporarily set selected_frame to the
10281 frame of the window that's redisplayed.
10282
84ec3b4b
GM
10283 * xfaces.c (free_realized_faces): Block/unblock input.
10284 (free_realized_multibyte_face): Ditto.
10285
869a3a14
DL
102862000-05-29 Dave Love <fx@gnu.org>
10287
10288 * textprop.c (Qkeymap): New variable.
10289 (syms_of_textprop): Intern it.
10290
10291 * keymap.c: Include intervals.h.
10292 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
10293
10294 * Makefile.in (keymap.o): Depend on intervals.h.
10295
10296 * keyboard.c (menu_bar_items, tool_bar_items)
10297 (Fexecute_extended_command): Deal with `keymap' property.
10298 (read_key_sequence): Track map from `keymap' property as well as
10299 `local_map'.
10300
10301 * intervals.c (get_local_map): Extra arg to allow looking for
10302 `keymap' too.
10303
10304 * intervals.h (map_property): New enum.
10305 (get_local_map): Extra arg using it.
10306 (Qkeymap): Declare.
10307
84ec3b4b 10308 * lisp.h (get_local_map): Don't declare here.
869a3a14 10309
89d0c844
KH
103102000-05-29 Kenichi Handa <handa@etl.go.jp>
10311
10312 * Makefile.in (callproc.o): Depend on composite.h.
10313
10314 * callproc.c: Include composite.h.
10315 (Fcall_process): Handle composition correctly.
10316
10317 * coding.h (coding_allocate_composition_data): Extern it.
10318 (coding_restore_composition): Likewise.
10319
10320 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
10321 yet allocated, finish decoding with result
10322 CODING_FINISH_INSUFFICIENT_CMP.
10323 (coding_allocate_composition_data): Make it non-static.
10324 (coding_restore_composition): Likewise.
10325
797a084a
EZ
103262000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
10327
10328 * charset.c (syms_of_charset): Revert last change.
10329
cf872af5
EZ
103302000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
10331
10332 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
10333 charsets as unibyte, with 1-column screen width. Sent by Kenichi
10334 Handa.
cf872af5 10335
5b1ae051
EZ
103362000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
10337
10338 * charset.c (syms_of_charset): Set width of character sets
10339 eight-bit-control and eight-bit-graphic to 1 column.
10340
34ec9ebe
GM
103412000-05-26 Gerd Moellmann <gerd@gnu.org>
10342
10343 * config.in (HAVE_SPEED_T): New define.
10344
10345 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
10346 `extern speed_t'.
10347
dd854dc2
DL
103482000-05-26 Dave Love <fx@gnu.org>
10349
10350 * coding.c (shrink_decoding_region): Initialize eol_conversion.
10351
10352 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
10353 (Fsubr_arity): New function.
10354 (syms_of_data): Install them.
10355
ba9f8f95
KH
103562000-05-26 Kenichi Handa <handa@etl.go.jp>
10357
0f3e0672
KH
10358 * charset.c (init_charset_once): Set the table bytes_by_char_head
10359 correctly.
10360
cebefb44
KH
10361 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
10362 the default fontset to what Emacs uses by default.
0f3e0672
KH
10363 (check_registry_encoding): This function deleted.
10364 (Fset_fontset_font): Remove the adhoc condition for the default
10365 fontset. Allow cons in FONTNAME.
cebefb44 10366
0f3e0672
KH
10367 * fns.c (map_char_table): Ignore char-table entries for
10368 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 10369
7a18af49
KR
103702000-05-25 Ken Raeburn <raeburn@gnu.org>
10371
10372 * emacs.c (main): Initialize keyboard syms before initializing
10373 window code, so face names are available.
10374
d2af47df
SM
103752000-05-25 Stefan Monnier <monnier@cs.yale.edu>
10376
10377 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
10378 of an anchor at the beginning of a shy-group.
10379
fc6a6a4e
GM
103802000-05-25 Gerd Moellmann <gerd@gnu.org>
10381
10382 * xdisp.c (handle_invisible_prop): Don't try to skip over
10383 invisible text if end of text is already reached.
10384
005f0d35
DL
103852000-05-25 Dave Love <fx@gnu.org>
10386
02513cdd
DL
10387 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
10388
005f0d35
DL
10389 * coding.c (encode_eol): Add null statement after label.
10390
89f6ca4e
EZ
103912000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
10392
10393 * w16select.c (Fw16_set_clipboard_data): Fix the change from
10394 2000-05-20.
10395
a4e1759e
KH
103962000-05-25 Kenichi Handa <handa@etl.go.jp>
10397
10398 * ccl.c (ccl_driver): Fix previous change.
10399
eacfd7fe
KH
104002000-05-25 Kenichi Handa <handa@etl.go.jp>
10401
46ab33a9
KH
10402 * coding.c (run_pre_post_conversion_on_str): Set point to the
10403 beginning of buffer before calling coding->post_read_conversion.
10404 (decode_coding_string): Give correct args to
10405 run_pre_post_conversion_on_str.
10406 (encode_coding_string): Likewise.
10407
eacfd7fe
KH
10408 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
10409 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
10410 eight-bit-graphic correctly.
10411
f8569325
DL
104122000-05-24 Kenichi HANDA <handa@etl.go.jp>
10413
10414 * fileio.c (Finsert_file_contents): Even if a file is not found,
10415 execute codes for setting up coding system. Call
10416 after-insert-file-functions unconditionally.
10417
04545643
GM
104182000-05-24 Gerd Moellmann <gerd@gnu.org>
10419
10420 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
10421 BSD_PGRPS are not defined.
10422
747d90ea
KH
104232000-05-24 Kenichi Handa <handa@etl.go.jp>
10424
10425 * charset.c (update_charset_table): Accept nil in LONG_NAME and
10426 DESCRIPTION.
10427 (syms_of_charset): Avoid building same strings.
10428
716e3b88
GM
104292000-05-23 Gerd Moellmann <gerd@gnu.org>
10430
10431 * lread.c (Fload): Add a comment about the meaning of
10432 Vuser_init_file being t.
10433
10434 * puresize.h (BASE_PURESIZE): Increase to 675000.
10435
10436 * s/gnu-linux.h (setpgrp): Don't define it here because this
10437 prevents compilation on GNU/Linux systems with glib 2.2.
10438
10439 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
10440 as setpgid.
427ec082 10441
9aeb39fa
EZ
104422000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
10443
10444 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
10445 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
10446 version.
10447 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
10448
29ced61b
KH
104492000-05-23 Kenichi Handa <handa@etl.go.jp>
10450
52283633 10451 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 10452
3d80f24d
KH
10453 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
10454
52283633 10455 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 10456
29ced61b
KH
10457 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
10458
d7e00792
KH
104592000-05-22 Kenichi Handa <handa@etl.go.jp>
10460
c9d80d38
KH
10461 * keyboard.c (read_char): Allow character codes 128..255 to be
10462 handled by input-method-function.
10463
d7e00792
KH
10464 * insdel.c (adjust_markers_for_replace): Fix previous change.
10465 (adjust_after_replace): If PREV_TEXT is nil, call
10466 adjust_markers_for_insert, not adjust_markers_for_replace.
10467
087121cc 104682000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 10469
087121cc
GM
10470 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
10471 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
10472 [HAVE_GRANDPT]: Define.
10473 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
10474
10475 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
10476 like SYSV_PTYS.
10477
10478 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
10479
10480 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
10481
c9671f81
KH
104822000-05-20 Kenichi Handa <handa@etl.go.jp>
10483
10484 The following changes are to handle 8-bit characters in a
10485 multibyte buffer/string without facing with byte combining
10486 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
10487 eight-bit-graphic (for 0xA0..0xFF) are introduced.
10488
10489 * Makefile.in (fns.o): Depend on charset.h.
10490
10491 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
10492 convert it to unibyte.
10493 (make_string): Use parse_str_as_multibyte, not chars_in_text.
10494
10495 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
10496 apparent char boundary.
10497 (Fset_buffer_multibyte): Convert 8-bit characters in the range
10498 0x80..0x9F to/from multibyte form.
10499
10500 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
10501 to unibyte.
10502
10503 * callproc.c (Fcall_process): Always encode an argument string if
10504 it is multibyte. Setup src_multibyte and dst_multibyte members of
10505 process_coding properly.
ce75fd23 10506
c9671f81
KH
10507 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
10508 SPLIT_NON_ASCII_CHAR.
10509
10510 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
10511 as is.
10512 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
10513
52283633 10514 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 10515 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 10516 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
10517 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
10518 and eight-bit-graphic.
10519 (char_to_string): Likewise. Signal an error for too large
10520 character code.
10521 (char_printable_p): Return 0 for 8-bit characters.
10522 (update_charset_table): Update iso_charset_table only when a final
10523 character is non-negative.
10524 (find_charset_in_text): Renamed from find_charset_in_str.
10525 Arguments and return value changed. Callers changed.
10526 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
10527 be -1 if CHARSET is used only internally.
10528 (Fmake_char_internal): Handle new charsets; eight-bit-control and
10529 eight-bit-graphic.
10530 (Fcharset_after): Simplified.
10531 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
10532 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
10533 (multibyte_chars_in_text): Simplified by assuming there's no
10534 invalid multibyte sequence.
52283633
SM
10535 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
10536 (str_as_unibyte): New functions.
10537 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
10538 (init_charset_once): Initialization for
10539 LEADING_CODE_8_BIT_CONTROL.
10540 (syms_of_charset): Intern and staticpro Qeight_bit_control and
10541 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
10542 eight-bit-control and eight-bit-graphic.
10543
52283633
SM
10544 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
10545 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
10546 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
10547 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
10548 (CHARSET_REVERSE_CHARSET): Likewise.
10549 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
10550 eight-bit-graphic.
10551 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
10552 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
10553 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
10554 encounter an invalid multibyte sequence.
10555 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
10556 sequence is always valid.
10557 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 10558 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
10559 (CHAR_STRING): For 8-bit characters, call char_to_string.
10560 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
10561 multibyte sequence is always valid.
10562 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
10563 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
10564 (str_as_unibyte): Extern them.
c9671f81 10565 (BCOPY_SHORT): Fix a bug.
52283633 10566 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
10567 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
10568 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
10569 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
10570
bd4bde7f 10571 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 10572 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
10573 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
10574 (EMIT_BYTES): New macros.
10575 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
10576 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
10577 macros deleted.
10578 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
10579 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
10580 check the validity of multibyte sequence.
10581 (decode_coding_emacs_mule): New function.
10582 (encode_coding_emacs_mule): New macro.
10583 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
10584 the source.
10585 (DECODE_ISO_CHARACTER): Just return a character code.
10586 (DECODE_COMPOSITION_START): Set coding->result instead of result.
10587 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
10588 EMIT_CHAR to produced decoded characters. Exit the loop only by
10589 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
10590 block here.
10591 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
10592 only position codes for an invalid character.
10593 (encode_designation_at_bol): Return new destination pointer. 5th
10594 arg DSTP is changed to DST.
10595 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
10596 from the source by ONE_MORE_CHAR. Don't handle the case of last
10597 block here.
10598 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
10599 macros deleted.
52283633
SM
10600 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
10601 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
10602 TWO_MORE_BYTES to fetch a byte from the source.
10603 (encode_eol): Pay attention to coding->src_multibyte.
10604 (detect_coding, detect_eol): Preserve members src_multibyte and
10605 dst_multibyte.
10606 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
10607 (encoding_buffer_size): Set magnification to 3 for all coding
10608 systems that require encoding.
10609 (ccl_coding_driver): For decoding, be sure that the result is
10610 valid multibyte sequence.
10611 (decode_coding): Initialize coding->errors and coding->result.
10612 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
10613 and raw-text, always call decode_eol. Handle the case of last
10614 block here. If not coding->dst_multibyte, convert the resulting
10615 sequence to unibyte.
10616 (encode_coding): Initialize coding->errors and coding->result.
10617 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
10618 and raw-text, always call encode_eol. Handle the case of last
10619 block here.
10620 (shrink_decoding_region, shrink_encoding_region): Detect cases
10621 that we can't skip data more rigidly.
10622 (code_convert_region): Setup src_multibyte and dst_multibyte
10623 members of coding. For decoding, if the buffer is multibyte,
10624 convert the source sequence to unibyte in advance. For encoding,
10625 if the buffer is multibyte, convert the resulting sequence to
10626 multibyte afterward.
10627 (run_pre_post_conversion_on_str): New function.
10628 (code_convert_string): Deleted and divided into the following two.
10629 (decode_coding_string, encode_coding_string): New functions.
10630 (code_convert_string1, code_convert_string_norecord): Call one of
10631 above.
10632 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
10633 MAKE_NON_ASCII_CHAR.
52283633
SM
10634 (Fset_terminal_coding_system_internal)
10635 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
10636 and dst_multibyte members.
10637 (init_coding_once): Initialize iso_code_class with new enum
10638 ISO_control_0 and ISO_control_1.
10639
10640 * coding.h (enum iso_code_class_type): Member ISO_control_code is
10641 devided into ISO_control_0 and ISO_control_1.
10642 (struct coding_system): New members src_multibyte, dst_multibyte,
10643 errors, and result. Delete member fake_multibyte.
10644 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
10645 nonzero.
10646 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
10647 nonzero.
10648
10649 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
10650 (Faset): Likewise.
10651
10652 * editfns.c (Fformat): Be sure to convert 8-bit characters to
10653 multibyte form.
10654 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
10655 combining occurs.
10656 (Ftranspose_region): Delete codes for handling byte combining.
10657
10658 * fileio.c (Finsert_file_contents): Setup src_multibyte and
10659 dst_multibyte members of coding. On handling REPLACE on unibyte
10660 buffer, convert the result of decode_coding to unibyte. On
10661 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 10662 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
10663 multibyteness of the source (buffer or string).
10664
10665 * fns.c (concat): Handle 8-bit characters correctly.
10666 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
10667 unibyte in the result.
10668 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
10669 valid multibyte form in the result.
10670 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
10671 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
10672 return -1, signal an error.
10673 (base64_encode_1): New arg MULTIBYTE. Get each character by
10674 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
10675 character is found, return -1.
10676 (Fbase64_decode_region): Delete codes for handling byte-combining.
10677 Treat each decoded byte as a unibyte character.
10678 (Fbase64_decode_string): Return unibyte string.
10679 (Fcompare_strings, concat, string_byte_to_char): Use
10680 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
10681 FETCH_STRING_CHAR_ADVANCE.
10682 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
10683 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
10684
10685 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
10686 SPLIT_NON_ASCII_CHAR.
10687 (fontset_ref_via_base, fontset_set): Likewise
10688
10689 * insdel.c (adjust_markers_for_record_delete): Deleted.
10690 (adjust_markers_for_insert): Argument changed. Caller changed.
10691 (adjust_markers_for_replace): Likewise.
52283633
SM
10692 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
10693 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
10694 (copy_text): Delete unused local varialbe c_save. For converting
10695 to multibyte, be sure to make all 8-bit characters in valid
10696 multibyte form.
10697 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
10698 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
10699 (adjust_after_replace, replace_range, del_range_2)
c9671f81 10700 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
10701 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
10702 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
10703 handling byte combining.
10704 (adjust_before_replace): Deleted.
427ec082 10705
c9671f81
KH
10706 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
10707 SPLIT_NON_ASCII_CHAR.
10708 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 10709 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
10710 (Fkey_description): Likewise.
10711
10712 * lread.c (read1): On reading multibyte string, be sure to make
10713 all 8-bit chararacters in valid multibyte form.
10714 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
10715
10716 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
10717 unconditionally.
10718
10719 * process.c (Fstart_process): GCPRO current_dir before calling
10720 Ffind_operation_coding_system. Encode arguments here.
10721 (create_process): Don't encode arguments here. Setup
10722 src_multibyte and dst_multibyte members of struct coding.
10723 (read_process_output): Setup src_multibyte and dst_multibyte
10724 members of struct coding. If the output is to multibyte buffer,
10725 always decode the output of the process. Adjust the
52283633 10726 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
10727 (send_process): Setup coding->src_multibyte according to the
10728 multibyteness of the source.
10729
52283633 10730 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
10731 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
10732 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
10733
52283633 10734 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
10735
10736 * w16select.c (Fw16_set_clipboard_data): Setup members
10737 src_multibyte and dst_multibyte of coding. Adjusted for the
10738 change for find_charset_in_str.
10739 (Fw16_get_clipboard_data): Likewise.
10740
10741 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
10742 dst_multibyte of coding.
10743 (x_to_w32_font): Likewise.
10744
10745 * w32select.c (Fw32_set_clipboard_data): Setup members
10746 src_multibyte and dst_multibyte of coding. Adjusted for the
10747 change for find_charset_in_str.
10748 (Fw32_get_clipboard_data): Likewise.
10749
10750 * xdisp.c (get_next_display_element): Handle 8-bit characters
10751 correctly.
52283633
SM
10752 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
10753 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
10754
10755 * xselect.c (selection_data_to_lisp_data): Setup members
10756 src_multibyte and dst_multibyte of coding. Adjusted for the
10757 change for find_charset_in_str.
10758 (lisp_data_to_selection_data): Likewise.
10759
5f64c9e0
GM
107602000-05-19 Gerd Moellmann <gerd@gnu.org>
10761
52283633 10762 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 10763
5f64c9e0
GM
10764 * dispextern.h (Vimage_types): Add extern declaration.
10765
10766 * xdisp.c (Vimage_types): Moved here from xfns.c.
10767 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
10768
10769 * xfns.c (Vimages_types): Moved to xdisp.c.
10770 (syms_of_xfns): Move `image-types' to xdisp.c.
10771
10772 * w32fns.c (Vimage_types): Removed.
10773 (syms_of_w32fns): Remove `image-types'.
10774
813086ea
KH
107752000-05-18 Kenichi Handa <handa@etl.go.jp>
10776
10777 * fns.c (map_char_table): Pay attention to character number of
10778 charset. Check the validity of charset at the first level. For
10779 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
10780 the default value.
10781
10782 * fontset.c: Include "buffer.h".
10783 (fs_load_font): If the face has fontset, record the face ID in
10784 that fontset.
10785 (Finternal_char_font): New function.
10786 (accumulate_font_info): New function.
10787 (Ffontset_info): Rewritten for the new fontset implementation.
10788 (syms_of_fontset): Register Vdefault_fontset in the first element
10789 of Vfontset_table. Include Vdefault_fontset in
10790 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
10791 function.
10792
bdaebbf0
DL
107932000-05-16 Dave Love <fx@gnu.org>
10794
10795 * m/iris5d.h: Deleted -- unused.
10796
cb613bb8
GM
107972000-05-16 Gerd Moellmann <gerd@gnu.org>
10798
b15f3b77
GM
10799 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
10800 `invalid' instead of `illegal'.
10801
10802 * indent.c (Fmove_to_column): When ending within a tab, insert
10803 spaces first so that markers at the end of the tab get adjusted.
10804
835c1b36
GM
10805 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
10806 buffer list that wasn't selected in that frame.
10807
cb613bb8
GM
10808 * filelock.c (get_boot_time): To obtain an 8 char file name, which
10809 is needed on mescaline, use a 2 char prefix, and call
10810 make_temp_name with second arg non-zero.
10811
10812 * fileio.c (make_temp_name): New function, extracted from
10813 Fmake_temp_name.
10814 (Fmake_temp_name): Use it.
10815
f685bea9
EZ
108162000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
10817
52283633 10818 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 10819
a1b8d58b
GM
108202000-05-15 Gerd Moellmann <gerd@gnu.org>
10821
10822 * Makefile.in (lisp): Add env.elc.
10823
10824 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
10825
a265079f
GM
108262000-05-12 Gerd Moellmann <gerd@gnu.org>
10827
10828 * search.c (Freplace_match): Handle case of `\N' in the
10829 replacement when there's no group N.
10830
da4496b6
GM
108312000-05-11 Gerd Moellmann <gerd@gnu.org>
10832
0ace421a
GM
10833 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
10834 of the message to message_dolog.
10835
1172eb8d
GM
10836 * keyboard.c (read_char): Don't clear current message for help
10837 events; let the code handling help events handle this. Change
10838 code detecting help events that should be ignored.
10839
da4496b6
GM
10840 * xdisp.c (handle_single_display_prop): Don't try to set PT if
10841 we're interating over a string.
10842
0623e40f
DL
108432000-05-09 Dave Love <fx@gnu.org>
10844
10845 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
10846 that offset before writing. Move gcpro region past call of
10847 Ffile_regular_p.
10848
bae2503b
DL
108492000-05-04 Dave Love <fx@gnu.org>
10850
10851 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
10852
ec82fb2f
GM
108532000-05-04 Gerd Moellmann <gerd@gnu.org>
10854
10855 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
10856 of inserted characters when BUF equals the current buffer, and PT
10857 is in front of or equal to FROM.
10858
cbf18892
GM
108592000-05-03 Gerd Moellmann <gerd@gnu.org>
10860
4ff40dd0
GM
10861 * xdisp.c (handle_single_display_prop): If display property value
10862 is invalid, or something not supported on the frame, restore
10863 iterator's position to what it was initially. Make sure to return
10864 0 for invalid and unsupported property values.
10865
cbf18892
GM
10866 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
10867 that x_per_char_metric returns null.
10868
1b0672c3
GM
108692000-05-02 Gerd Moellmann <gerd@gnu.org>
10870
576da55d
GM
10871 * xterm.h (struct face): Add forward declaration.
10872 (struct image): Ditto.
10873 (image_ascent): Add prototype.
10874
10875 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
10876 (x_draw_image_relief, x_draw_image_foreground_1): Call function
10877 image_ascent instead of using IMAGE_ASCENT.
10878
10879 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
10880 (IMAGE_ASCENT): Removed.
10881
10882 * xfns.c (Qcenter): New variable.
10883 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
10884 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
10885 (image_ascent): New function.
10886 (lookup_image): Recognize `:ascent center'.
10887 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
10888 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
10889 (xbm_load): Don't set image's ascent here.
10890 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
10891 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
10892 check ascent values here.
10893 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
10894 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
10895 (syms_of_xfns): Initialize Qcenter.
10896
1b0672c3
GM
10897 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
10898 to the limits, increase the limits.
10899
0d7811ed
KH
109002000-05-01 Kenichi Handa <handa@etl.go.jp>
10901
10902 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 10903 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 10904
a943a5ca
GM
109052000-04-28 Gerd Moellmann <gerd@gnu.org>
10906
10907 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
10908 taller than the window.
10909
5dba1e29
KH
109102000-04-28 Kenichi Handa <handa@etl.go.jp>
10911
10912 * xfaces.c (realize_x_face): Fix the argument of the second
10913 xassert. BASE_FACE may not be a face for ASCII.
10914
353964e3
GM
109152000-04-27 Gerd Moellmann <gerd@gnu.org>
10916
c76e04a8
GM
10917 * print.c (print_object): Treat print-length < 0 as nil.
10918
10919 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
10920
10921 * s/freebsd.h (TERMCAP_OBJ): Removed.
10922 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
10923
10924 * lread.c (read1): Don't treat period followed by certain
10925 characters as symbol start.
10926
10927 * xfns.c (slurp_file): New function.
10928 (xbm_image_p): Handle case of in-memory XBM files.
10929 (xbm_scan): Rewritten to work on memory buffers instead of files.
10930 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
10931 Work on memory buffers instead of files. If DATA is null test
10932 if buffer looks like an in-memory XBM file.
10933 (xbm_load_image): Renamed from xbm_load_image_file. Work on
10934 memory buffers instead of files.
10935 (xbm_file_p): New function.
10936 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
10937
353964e3
GM
10938 * lread.c (end_of_file_error): New function.
10939 (read1): Call it instead of signaling `end-of-file' directly.
10940
427ec082 10941 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
10942 with Fprinc instead of Fprin1.
10943
24d744ac
KR
109442000-04-26 Ken Raeburn <raeburn@gnu.org>
10945
10946 * window.c (freeze_window_start): Check that minibuffer scroll
10947 window isn't nil before extracting the window structure pointer
10948 from it.
10949
10950 * undo.c (record_delete): If we hit the end of the undo list, stop
10951 picking elements apart.
10952
7464346d
GM
109532000-04-26 Gerd Moellmann <gerd@gnu.org>
10954
10955 * xdisp.c (display_line): If lines are continued, restore
10956 iterator's ascent/descent information to the values before the
10957 first glyph not fitting on the line.
10958
612839b6
GM
109592000-04-25 Gerd Moellmann <gerd@gnu.org>
10960
10961 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 10962 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
10963
10964 * dispnew.c (increment_matrix_positions): Renamed from
10965 increment_glyph_matrix_buffer_positions.
10966 (increment_row_positions): Renamed from
10967 increment_glyph_row_buffer_positions.
10968
10969 * dispextern.h: Change names of renamed functions from dispnew.c
10970 in prototypes.
10971
cc181e95
GM
109722000-04-24 Gerd Moellmann <gerd@gnu.org>
10973
abfcc168
GM
10974 * fileio.c (Fdo_auto_save): Create directories for auto-save
10975 list file if necessary.
10976
cc181e95
GM
10977 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
10978 from buffer or frame.
10979 (automatic_hscrolling_p): New variable.
10980 (hscroll_windows): Scroll windows horizontally only if automatic
10981 hscrolling is allowed.
10982 (syms_of_xdisp): New variable `automatic-hscrolling'.
10983
10984 * frame.h (struct frame): Add member extra_line_spacing.
10985
10986 * xfns.c (x_set_line_spacing): New function.
10987 (Fx_create_frame): Set line spacing from resources.
10988 (Qline_spacing): New variable.
10989 (syms_of_xfns): Initialize Qline_spacing.
427ec082 10990
cc181e95
GM
10991 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
10992
10993 * buffer.c (init_buffer_once): Handle extra_line_spacing.
10994 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 10995 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
10996 extra_line_spacing from default value.
10997 (init_buffer_once): Initialize default value of extra_line_spacing.
10998
10999 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
11000 and extra3.
11001
11002 * xterm.c (x_produce_glyphs): Remove reference to struct it's
11003 prompt_width. Add extra line spacing.
11004
11005 * term.c (produce_glyphs): Remove reference to struct it's
11006 prompt_width.
11007
11008 * dispextern.h (struct it): Remove member prompt_width, add
11009 extra_line_spacing.
11010
58827478
GM
110112000-04-22 Gerd Moellmann <gerd@gnu.org>
11012
11013 * dispnew.c (update_frame_line): When writing a whole line, make
11014 sure cursor is in the right row afterwards, otherwise a use of
11015 capability `ch' in cmgoto might leave the cursor in the row below.
11016
25a87f42
GM
110172000-04-21 Gerd Moellmann <gerd@gnu.org>
11018
11019 * lisp.h (struct Lisp_Buffer_Cons): Remove.
11020
11021 * keyboard.c (timer_check): Fix typo in comment.
11022
54edf5c2
KH
110232000-04-21 Kenichi Handa <handa@etl.go.jp>
11024
11025 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
11026 name change: ch -> character.
11027
3a64eef5
GM
110282000-04-20 Gerd Moellmann <gerd@gnu.org>
11029
11030 * keyboard.c (echo_message_buffer): New variable.
11031 (echo_now): Set echo_message_buffer to the echo area buffer used
11032 to display the echo.
11033 (cancel_echoing): Reset echo_message_buffer to nil.
11034 (read_char): Code rewritten that handles canceling an echo or
11035 echoing a dash, respectively.
11036
11037 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
11038 directory doesn't exist.
11039
6142fdcb
DL
110402000-04-19 Dave Love <fx@gnu.org>
11041
11042 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
11043 (concat): Don't allow numeric args.
11044 (Fconcat): Doc change.
6142fdcb 11045
ac6b5352
SM
110462000-04-19 Stefan Monnier <monnier@cs.yale.edu>
11047
11048 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
11049 instead define end_match(1|2) more carefully.
11050 Use GET_CHAR_BEFORE_2 for `begline'.
11051
cb9215e4
GM
110522000-04-19 Gerd Moellmann <gerd@gnu.org>
11053
5e3dac3f
GM
11054 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
11055 on 64-bit systems where NULL is defined as `0'.
11056
11057 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
11058 the `variable argument list' to make it work on Alpha.
11059
cb9215e4
GM
11060 * m/alpha.h (_LP64) [!_LP64]: Define.
11061 (ORDINARY_LINK): Define for NetBSD.
11062
11063 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 11064
f532dca0
DL
110652000-04-19 Dave Love <fx@gnu.org>
11066
c750667e
DL
11067 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
11068 change.
11069
11070 * Makefile.in (LIBS): Don't use.
11071 (GETLOADAVG_OBJ): Define again.
11072 (otherobj): Add GETLOADAVG_OBJ.
11073
f532dca0
DL
11074 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
11075
1c7e22fd
GM
110762000-04-18 Gerd Moellmann <gerd@gnu.org>
11077
f6d3257b
GM
11078 * lread.c (read_filtered_event): Cancel and start busy cursor.
11079
427ec082 11080 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
11081 that the per-character metrics may be null.
11082
e10f64e7
GM
110832000-04-17 Gerd Moellmann <gerd@gnu.org>
11084
0daee095
GM
11085 * buffer.c (clone_per_buffer_values): New function.
11086 (Fmake_indirect_buffer): Add optional argument CLONE. Call
11087 clone_per_buffer_values if CLONE is not nil.
11088
e10f64e7
GM
11089 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
11090
38687d43
DL
110912000-04-16 Dave Love <fx@gnu.org>
11092
11093 * Makefile.in: Remove obsolete localcpp stuff.
11094 (GETLOADAVG_OBJ): Don't define.
11095 (obj): Move LIBOBJS...
11096 (otherobj): ... to here.
11097 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
11098 whitespace-only lines after the continuation (Irix).
11099
c21c7262
GM
111002000-04-14 Gerd Moellmann <gerd@gnu.org>
11101
11102 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
11103
11104 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
11105
314767c0
DL
111062000-04-14 Dave Love <fx@gnu.org>
11107
11108 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
11109 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
11110 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
11111 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
11112 NLIST_STRUCT.
11113
11114 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
11115 autoconfiscated HAVE_GETLOADAVG.
11116
11117 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
11118 BROKEN_MKTIME.
11119
a2522dca
GM
111202000-04-14 Gerd Moellmann <gerd@gnu.org>
11121
11122 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 11123 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 11124
33744b5d
DL
111252000-04-14 Dave Love <fx@gnu.org>
11126
c21c7262 11127 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
11128 (INTERVAL_SRC): Convert to make variable.
11129 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
11130 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
11131 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
11132 add LIBOBJS.
11133 (SOME_MACHINE_OBJECTS): Remove interval stuff.
11134 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
11135 (shortlisp): Add facemenu, float-sup, frame.
11136 (SOME_MACHINE_LISP): Remove them from here.
11137 (LIBES): Change unused LDLIBS to autoconf LIBS.
11138
11139 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
11140
9d3d5916
KH
111412000-04-14 Kenichi Handa <handa@etl.go.jp>
11142
11143 * composite.c (update_compositions): If FROM and TO are not in a
11144 valid range, do nothing.
11145
198e3c7a
GM
111462000-04-13 Gerd Moellmann <gerd@gnu.org>
11147
52283633 11148 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 11149
52283633 11150 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
11151
11152 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
11153 as TERMCAP_OBJ.
11154
055a28c9
EZ
111552000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
11156
11157 * fileio.c (a_write): Remove redundant semi-colons.
11158 (e_write): Return -1 if failed to write all the data.
11159 This fixes the changes made at 1999-12-15.
11160
f5c75033
DL
111612000-04-12 Dave Love <fx@gnu.org>
11162
11163 * fns.c (mapcar1): Test for null vals to support mapc.
11164 (Fmapc): New function.
11165
0c3cfc51
EZ
111662000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
11167
11168 * msdos.c (NUM_MOUSE_BUTTONS): Define.
11169 (IT_frame_up_to_date): Support the buffer local value of
11170 cursor-type, if defined.
11171
33465a31
DL
111722000-04-10 Dave Love <fx@gnu.org>
11173
11174 * editfns.c (preceding-char, following-char): Doc fix.
11175
6ed56568
KR
111762000-04-10 Ken Raeburn <raeburn@gnu.org>
11177
11178 * Makefile.in (temacs): Revert 2000-03-12 change.
11179
7cf80d4e
JR
111802000-04-10 Jason Rumney <jasonr@gnu.org>
11181
11182 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
11183
34f3f342
GM
111842000-04-10 Gerd Moellmann <gerd@gnu.org>
11185
1a1b1895
GM
11186 * xdisp.c (setup_echo_area_for_printing): Choose an echo
11187 area buffer, if it's not set up yet.
11188
34f3f342
GM
11189 * indent.c (compute_motion): Set immediate_quit.
11190
be0dbdab
GM
111912000-04-09 Gerd Moellmann <gerd@gnu.org>
11192
52283633 11193 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
11194 (realize_tty_face): Suppress boldness if colors are the inverse of
11195 the default colors, and tty_suppress_bold_inverse_default_colors_p
11196 is set.
11197 (Ftty_suppress_bold_inverse_default_colors): New function.
11198 (syms_of_xfaces): Defsubr it.
11199
be0dbdab
GM
11200 * buffer.c (Frestore_buffer_modified_p): New function.
11201 (syms_of_buffer): Defsubr it.
11202
e8413c3b
KR
112032000-04-08 Ken Raeburn <raeburn@gnu.org>
11204
87f67317
KR
11205 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
11206 charset id (int) argument, not a charset (Lisp_Object).
11207
e8413c3b
KR
11208 * coding.h (code_convert_string): Declare.
11209 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
11210 object, as the fourth argument to code_convert_string.
11211
52283633 11212 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
11213 (Fset_fontset_font): Use EQ to compare lisp objects.
11214
7c752c80
KR
112152000-04-05 Ken Raeburn <raeburn@gnu.org>
11216
c0333abc
KR
11217 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
11218 a pointer that looks like a lisp object.
11219 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
11220 zero, instead see whether it's an integer object, since they can't
11221 have intervals.
11222 (GET_INTERVAL_OBJECT): Simply assign to the destination.
11223
52283633
SM
11224 * dispnew.c (allocate_matrices_for_frame_redisplay)
11225 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
11226 to convert between (unsigned) int values and lisp integers.
11227 * keyboard.c (read_key_sequence): Likewise.
11228 * lread.c (substitute_object_recurse): Likewise.
11229 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
11230 * minibuf.c (do_completion, Fminibuffer_complete_word)
11231 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
11232 * term.c (produce_special_glyphs): Likewise.
11233
11234 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
11235 * print.c (print_preprocess, print_object): Likewise.
11236
11237 * search.c (compile_pattern): Use NILP when checking for nil.
11238
74e49b38
KR
11239 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
11240 __OPTIMIZE__]: Provide a GNU C macro version that handles
11241 lisp-object unions.
11242 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
11243 field, to better cope with ENABLE_CHECKING and calls that modify a
11244 Lisp_Object using its old value.
11245
685e5ed2
GM
112462000-04-04 Gerd Moellmann <gerd@gnu.org>
11247
c407c570
GM
11248 * window.c (compare_window_configurations): Signal an error
11249 if parameters C1 or C2 aren't window configurations.
11250
685e5ed2
GM
11251 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
11252 AFTER_POTENTIAL_GC calls around calls to functions that can
11253 signal an error and thus invoke the debugger.
11254
587a49ab
GM
112552000-04-03 Gerd Moellmann <gerd@gnu.org>
11256
62f20204
GM
11257 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
11258 an error if decoding fails.
11259
587a49ab
GM
11260 * keyboard.c (lispy_mouse_names): Variable removed.
11261 (Vlispy_mouse_stem): New variable.
11262 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
11263 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
11264 for any mouse button number. Increase size of mouse_syms and
11265 button_down_location as needed. Call modify_event_symbol with
11266 different arguments.
11267 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
11268 Call modify_event_symbol with different arguments.
11269 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
11270 for any button number. Call modify_event_symbol with different
11271 arguments.
11272 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
11273 Accept a string for NAME_ALIST_OR_STEM.
11274
11275 * lisp.h (larger_vector): Add prototype.
11276
11277 * fns.c (larger_vector): Make externally visible.
11278
11279 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
11280
2d1675e4
SM
112812000-04-02 Stefan Monnier <monnier@cs.yale.edu>
11282
11283 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
11284 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
11285 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
11286 we are between str1 and str2.
11287 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
11288 (PATFETCH): Use `TRANSLATE'.
11289 (PATFETCH_RAW): Fetch multibyte char if applicable.
11290 (PATUNFETCH): Remove.
11291 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
11292 When writing a char, write it directly into the pattern buffer rather
11293 than going needlessly through a temp char-array.
11294 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
11295 multibyte magic and remove the useless `#ifdef emacs'.
11296 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
11297 buffer.
11298
11299 * regex.h (struct re_pattern_buffer): Make field `multibyte'
11300 conditional on `emacs'.
11301
11302 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
11303
cc2d8c6b
KR
113042000-04-01 Ken Raeburn <raeburn@gnu.org>
11305
11306 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
11307 non-union-type versions of XMARK and friends here, because XMARK
11308 and friends won't work on an integer field if NO_UNION_TYPE is not
11309 defined.
52283633 11310 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 11311
52283633 11312 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
11313 (syms_of_composite): Delete local var NARGS, pass an int as first
11314 argument to Fmake_hash_table.
11315
2387b382
KR
11316 * editfns.c (text_property_stickiness): Use NILP to test
11317 Lisp_Object boolean value.
11318 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
11319 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
11320 problems reading from and changing the same lisp value in an
11321 XSETSTRING call.
11322
27660e89
GM
113232000-04-01 Gerd Moellmann <gerd@gnu.org>
11324
11325 * term.c (TN_no_color_video): New variable.
11326 (term_init): Intitialize TN_no_color_video.
11327 (enum no_color_bit): New enumeration.
11328 (MAY_USE_WITH_COLORS_P): New macro.
11329 (turn_on_face): Use it to determine if attributes may be used
11330 combined with colors.
11331
3578db3c
KR
113322000-04-01 Ken Raeburn <raeburn@gnu.org>
11333
11334 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 11335 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
11336 (enlarge_window): Variable sizep now points to Lisp_Object. Use
11337 proper accessor macros.
11338 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
11339 (grow_mini_window): Fix typo getting int value of root->height.
11340
6fc556fd
KR
11341 * xdisp.c (compute_string_pos): Fix order of arguments to
11342 string_pos_nchars_ahead.
11343 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
11344 count arg to variable-arg routines like Frun_hook_with_args and
11345 Fformat.
587a49ab
GM
11346 (back_to_previous_visible_line_start)
11347 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
11348 fixed-arg routines like Fget_char_property and Fmake_string.
11349 (reconsider_clip_changes): Use XINT when comparing integer lisp
11350 objects, or passing them as int arguments.
587a49ab
GM
11351 (mark_window_display_accurate, insert_left_trunc_glyphs)
11352 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
11353 storing or passing integer values as lisp objects.
11354 (set_cursor_from_row, highlight_trailing_whitespace): Use
11355 INTEGERP, not implicit test against zero, for glyph object.
11356 (try_window_id): Don't use make_number when we want an int value.
11357
11358 * xfaces.c (xlfd_symbolic_value): Make last argument a
11359 Lisp_Object, to be consistent with callers.
11360 (Fbitmap_spec_p): Use XINT to get numeric value of height.
11361 (lface_hash): Apply XFASTINT to lisp values before folding in.
11362
11363 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
11364 fill in window width and height. Pass an int, not a lisp object,
11365 as first arg to Finsert.
11366
6e7b2457
GM
113672000-04-01 Gerd Moellmann <gerd@gnu.org>
11368
610d841e
GM
11369 * xfaces.c (realize_basic_faces): Block input while realizing
11370 the faces.
11371
6e7b2457
GM
11372 * keyboard.c (lispy_mouse_names): Add additional mouse names.
11373
11374 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
11375
aa110c0c
GM
113762000-03-31 Gerd Moellmann <gerd@gnu.org>
11377
11378 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 11379 or ASCII, handle case that per-char metric is null.
aa110c0c 11380
8801a864
KR
113812000-03-30 Ken Raeburn <raeburn@gnu.org>
11382
c6129d7e
KR
11383 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
11384
52283633
SM
11385 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
11386 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
11387 pointer, using eassert.
11388 * frame.h (XFRAME): Likewise.
11389
52283633
SM
11390 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
11391 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
11392 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 11393 * data.c (set_internal): Likewise.
52283633
SM
11394 * dispextern.h (WINDOW_WANTS_MODELINE_P)
11395 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
11396 * fileio.c (auto_save_1): Likewise.
11397 * insdel.c (check_markers): Likewise.
11398 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
11399 * undo.c (record_insert): Likewise.
11400 * vmsproc.c (child_sig): Likewise.
11401 * window.c (unshow_buffer, window_loop): Likewise.
11402 * xterm.c (x_erase_phys_cursor): Likewise.
11403
8e7af858
GM
114042000-03-30 Gerd Moellmann <gerd@gnu.org>
11405
11406 * xfns.c (free_image_cache): Free the cache structure itself
11407 last, after all its members have been freed.
11408
11409 * lisp.h (xstrdup): Add prototype.
11410
11411 * alloc.c (xstrdup): Moved here from xfaces.c.
11412 (allocating_for_lisp): Variable removed.
52283633 11413 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
11414
11415 * xfaces.c (realize_tty_face): Use find_symbol_value instead
11416 of Fsymbol_value.
11417 (xstrdup): Moved to alloc.c.
11418
e0b8c689
KR
114192000-03-29 Ken Raeburn <raeburn@gnu.org>
11420
b96f9fb7
KR
11421 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
11422
11423 * emacs.c (main): Fix sense of no-loadup test.
11424
e0b8c689
KR
11425 * config.in (ENABLE_CHECKING): Undef.
11426
11427 * lisp.h (struct interval): Replace "parent" field with a union of
11428 interval pointer and Lisp_Object; add new bitfield to use as
11429 discriminant. Change other flag fields to bitfields.
11430 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
11431 is defined and the supplied test fails, print a message and abort.
11432 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
11433
11434 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
11435 pointers; abort if the value looks like a lisp object.
52283633
SM
11436 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
11437 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
11438 Modify for new interval parent definition.
11439
52283633
SM
11440 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
11441 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
11442 addressable lisp object in the interval structure.
11443 (die): New function.
11444 (suppress_checking): New variable.
11445
11446 * intervals.c (interval_start_pos): Just return 0 if there's no
11447 parent object.
11448
f83c5440
GM
114492000-03-29 Gerd Moellmann <gerd@gnu.org>
11450
11451 * lread.c (read1): Accept `.' (period) as symbol start like in CL
11452 and earlier Emacs versions.
11453
11454 * keyboard.c (Ftop_level): Cancel busy-cursor.
11455
11456 * eval.c (call_debugger): Cancel busy-cursor.
11457
fdce64ff
KH
114582000-03-29 Kenichi Handa <handa@etl.go.jp>
11459
11460 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 11461 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 11462
f6a3f532
SM
114632000-03-28 Stefan Monnier <monnier@cs.yale.edu>
11464
11465 * regex.c (analyse_first): New function obtained by ripping out most
11466 of re_compile_fastmap and generalizing it a little bit so that it
11467 can also just return whether a given (sub)pattern can match the empty
11468 string or not.
11469 (regex_compile): Use `analyse_first' to decide whether the loop-check
11470 needs to be done or not for *, +, *? and +? (the loop check is costly
11471 for non-greedy repetition).
11472 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
11473
e9b309ac
DL
114742000-03-28 Dave Love <fx@gnu.org>
11475
52283633 11476 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 11477
e9b309ac
DL
11478 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
11479
ed0767d8
SM
114802000-03-27 Stefan Monnier <monnier@cs.yale.edu>
11481
11482 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
11483 an expression.
11484 (enum re_opcode_t): Update description of succeed_n.
11485 (PATFETCH): Always define.
11486 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
11487 operators, char classes, shy-groups and intervals).
11488 Optimize special cases of intervals so as to only use succeed_n and
11489 jump_n when really needed.
11490 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
11491 that we don't have to handle the special cases any more.
11492 Simplify on_failure_jump handling as well.
11493
e11e7e46
JR
114942000-03-28 Jason Rumney <jasonr@gnu.org>
11495
11496 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
11497
88faab89
GM
114982000-03-27 Gerd Moellmann <gerd@gnu.org>
11499
182ff242
GM
11500 * s/freebsd.h (GC_SETJMP_WORKS): Define.
11501
11502 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 11503
182ff242
GM
11504 * alloc.c (mark_maybe_object): New function.
11505 (mark_memory): Use it.
11506 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
11507 (setjmp_tested_p, longjmp_done): New variables.
11508 (test_setjmp): New function.
11509 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
11510 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
11511
c1005d06
GM
11512 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
11513 to DEC_TEXT_POS and INC_TEXT_POS.
11514
11515 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
11516 with parameter MULTIBYTE_P.
11517
52283633 11518 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 11519
7439e5b9 11520 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
11521 buffers because it looks for multibyte character byte sequences
11522 which don't exist in unibyte text.
7439e5b9 11523
d9c545da
GM
11524 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
11525
11fd416e 11526 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
11527 [DEBUG_X_COLORS]: New functions.
11528 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
11529
11530 * xfns.c (x_set_cursor_color): Get color reference counts right.
11531
11532 * xterm.c (x_copy_color): New function.
11533 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
11534
11535 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
11536 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
11537 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
11538 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
11539 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
11540 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
11541 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
11542 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
11543 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
11544 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
11545
11fd416e
GM
11546 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
11547 names for handling per-buffer variables.
d9c545da
GM
11548
11549 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
11550 instead of MAX_BUFFER_LOCAL_VARS.
11551 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
11552
11553 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
11554
88faab89
GM
11555 * xfns.c (x_specified_cursor_type): New function.
11556 (x_set_cursor_type): Use it.
11557
11558 * buffer.h (struct buffer): Add cursor_type.
11559
d80f42b7
SM
115602000-03-26 Stefan Monnier <monnier@cs.yale.edu>
11561
11562 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
11563 (print_partial_compiled_pattern, re_compile_fastmap):
11564 Handle new opcode.
d80f42b7
SM
11565 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
11566 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
11567 executing it as well as when popping it off the stack to find infinite
11568 loops in non-greedy repetition operators.
11569
89e80928
GM
115702000-03-26 Gerd Moellmann <gerd@gnu.org>
11571
3d4ff2dd
GM
11572 * doc.c (Qfunction_documentation): New variable.
11573 (syms_of_doc): Initialize Qfunction_documentation.
11574 (Fdocumentation): If FUNCTION is a symbol with non-nil
11575 `function-documentation' property, return a documentation derived
11576 from that.
11577
bd96bd79
GM
11578 * buffer.c (syms_of_buffer): Add default-cursor-type.
11579 (init_buffer_once): Don't let cursor_type have a local value
11580 in every buffer.
11581
19d1bc27
GM
11582 * xterm.c (x_display_and_set_cursor): Choose cursor depending
11583 on buffer-local value of cursor_type.
11584 (x_draw_bar_cursor): Add parameter WIDTH.
11585
11586 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
11587 (init_buffer_once): Set default cursor_type value to t.
11588 Mark cursor_type as local everywhere.
11589 (syms_of_buffer): New per-buffer variable cursor-type.
11590
89e80928
GM
11591 * buffer.h (struct buffer): Remove member local_var_flags,
11592 add local_flags.
11593 (MAX_BUFFER_LOCAL_VARS): New macro.
11594 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
11595 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
11596 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
11597 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
11598
52283633 11599 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
11600
11601 * category.c (Fset_category_table): Use new macros for per-buffer
11602 variables.
11603
11604 * buffer.c (buffer_permanent_local_flags): Make a char array.
11605 (max_buffer_local_idx): New variable.
11606 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
11607 for new handling of per-buffer variables.
11608 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
11609 (init_buffer_once): Initialize per-buffer vars differently.
11610 Set max_buffer_local_idx.
11611
11612 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
11613 variables.
11614
52283633 11615 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
11616
11617 * data.c (do_symval_forwarding, store_symval_forwarding)
11618 (find_symbol_value, set_internal, default_value, Fset_default)
11619 (Fkill_local_variable, Flocal_variable_p): Use new macros for
11620 per-buffer variables.
11621
11622 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
11623
9a0dd3dc
GM
116242000-03-24 Gerd Moellmann <gerd@gnu.org>
11625
b68c375f
GM
11626 * xterm.c (x_term_init): Unblock input around call1 of
11627 Qvendor_specific_keysyms.
11628
9a0dd3dc
GM
11629 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
11630 (find_defun_start): Consider an open parenthesis in column 0
11631 a defun start only if open_paren_in_column_0_is_defun_start is set.
11632 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
11633
7973e637
SM
116342000-03-24 Stefan Monnier <monnier@cs.yale.edu>
11635
11636 * eval.c (Fautoload): Add entry in load-history (if after dump).
11637 * lread.c (load-history): Update docstring.
11638
39210e90
GM
116392000-03-24 Gerd Moellmann <gerd@gnu.org>
11640
11641 * indent.c (Fvertical_motion): Always use the current buffer.
11642 Temporarily change the window's buffer, if necessary.
11643
72db3ab5
GM
116442000-03-23 Gerd Moellmann <gerd@gnu.org>
11645
11646 * xterm.c (fast_find_position): Make sure not to consider rows
11647 not visible in the window.
11648
990b2375
SM
116492000-03-22 Stefan Monnier <monnier@cs.yale.edu>
11650
11651 * regex.c (enum syntaxcode): Provide default for non-Emacs.
11652 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
11653
ff4df011
JR
116542000-03-22 Jason Rumney <jasonr@gnu.org>
11655
11656 * w32menu.c (single_submenu): Set help string to NULL if none.
11657 (w32_menu_show): Set help string correctly.
11658 (add-menu-item): Set help string in MIIM_DATA for menu item.
11659 Load SetMenuItemInfoA explicitly.
11660 (w32_menu_display_help): New function.
427ec082 11661
ff4df011
JR
11662 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
11663 (QCdata): Moved to xdisp.c.
11664
11665 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
11666 (Vw32_charset_to_codepage_alist): Removed.
11667 (Vw32_charset_info_alist): New variable.
52283633
SM
11668 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
11669 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
11670 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
11671 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
11672 with TODO comment.
11673 (w32_codepage_for_font): Use Vw32_charset_info_alist.
11674 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
11675 Define Vw32_charset_info_alist and w32_charset symbols.
11676
116772000-03-22 Jason Rumney <jasonr@gnu.org>
11678
11679 * makefile.nt (w32bdf.obj): Update dependencies.
11680
11681 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
11682
11683 * w32fns.c: Include fontset.h after dispextern.h.
11684 (Fx_create_frame): Do not create fontset.
11685 (w32_load_system_font): Doc fix.
11686 (Fx_close_connection): Free full_name if it is not shared.
11687
11688 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
11689 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
11690 Callers updated.
ff4df011
JR
11691 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
11692 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
11693 (w32_font_is_double_byte): New function, needs body.
11694 (x_append_glyph): Set glyph->glyph_not_available_p.
11695 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
11696 it->charset. If it->multibyte_p is zero and it->c is a multibyte
11697 character, convert it to a unibyte character.
11698 (struct glyph_string): Delete member `charset'.
11699 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
11700 calculating it is found.
11701 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
11702 the case that per char metric is not available correctly.
11703 (x_fill_glyph_string): Handle the case that the specific glyph is
11704 not available correctly.
11705 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
11706 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
11707 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
11708 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
11709 fontset. Don't call FS_LOAD_FONT.
11710
439d5cb4
KR
117112000-03-22 Ken Raeburn <raeburn@gnu.org>
11712
11713 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
11714 (INT_LISPLIKE): New macro.
11715 (NULL_INTERVAL_P): Use it.
52283633
SM
11716 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
11717 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
11718 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
11719
11720 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
11721 explicit references to "parent" field of struct interval and
11722 associated unclean type conversions.
52283633
SM
11723 * intervals.c (create_root_interval, root_interval, rotate_right)
11724 (rotate_left, balance_possible_root_interval, split_interval_right)
11725 (split_interval_left, interval_start_pos, find_interval)
11726 (next_interval, previous_interval, update_interval)
11727 (adjust_intervals_for_insertion, delete_node, delete_interval)
11728 (adjust_intervals_for_deletion, merge_interval_right)
11729 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
11730 (copy_intervals_to_string): Likewise.
439d5cb4
KR
11731 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
11732 Likewise.
11733 * syntax.c (update_syntax_table): Likewise.
11734
11735 * intervals.c (reproduce_tree_obj): New function, like
11736 reproduce_tree but takes a Lisp_Object for the parent. Declare
11737 with prototype.
11738 (graft_intervals_into_buffer): Use it when appropriate.
11739 (reproduce_tree): Declare with prototype.
11740 (balance_possible_root_interval): Check that the parent is a lisp
11741 object before trying to examine its type.
11742
ee1c5b21
GM
117432000-03-22 Gerd Moellmann <gerd@gnu.org>
11744
11745 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
11746 as strings only if both are known to be strings.
11747
11748 * s/openbsd.h (LIBS_TERMCAP): Undef.
11749
1fb352e0
SM
117502000-03-21 Stefan Monnier <monnier@cs.yale.edu>
11751
11752 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
11753 definitions for non-Emacs compilation.
11754 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
11755 outside of `#ifdef emacs'.
11756 (print_partial_compiled_pattern): Update.
11757 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
11758 (re_compile_fastmap): Merge handling of charset and charset_not (for
11759 emacs and non-emacs compilation as well).
11760 Similarly for (not)categoryspec and (not)syntaxspec.
11761 Don't use the fastmap when reaching `anychar' since the added
11762 complexity is not justified.
11763 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
11764 and (not)syntaxspec. Merge (not)categoryspec.
11765
fdaa1f77
KH
117662000-03-22 Kenichi Handa <handa@etl.go.jp>
11767
52283633
SM
11768 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
11769 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 11770 --without-x.
fdaa1f77 11771
d152fb46
DL
117722000-03-21 Dave Love <fx@gnu.org>
11773
11774 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
11775 doc string.
11776
d2cafc8c
GM
117772000-03-21 Gerd Moellmann <gerd@gnu.org>
11778
11779 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
11780 (lface_fully_specified_p): Don't check contents of
11781 LFACE_FONT_INDEX because that attribute is optional.
11782 (realize_x_face): Remove now unwarranted xassert.
11783
9111d4b5
KH
117842000-03-21 Kenichi HANDA <handa@etl.go.jp>
11785
11786 The following changes are to make font selection based on
11787 characters, not charset. In addition, they recover fontset
11788 facilities while utilizing the new font selection mechanism.
11789
6c4bfdc0
KH
11790 * Makefile.in (fontset.o): Depend on dispextern.h.
11791
11792 * alloc.c (mark_face_cache): Don't mark face->registry.
11793
9111d4b5
KH
11794 * dispextern.h (struct glyph): New member glyph_not_available_p.
11795 Use 22 bits for face_id.
11796 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
11797 (struct face): Delete member registry, new member ascii_face.
11798 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
11799 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
11800 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 11801 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
11802
11803 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
11804 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
11805 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
11806 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 11807 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
11808 (fs_free_face_fontset, fontset_font_pattern)
11809 (face_suitable_for_char_p, face_for_char)
11810 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
11811 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
11812 (FS_LOAD_FACE_FONT): New macro.
11813
11814 * fontset.c: All codes rewritten or adjusted for the change of
11815 fontset implementation. Now fontset is represented by char table.
52283633
SM
11816 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
11817 Variables removed.
9111d4b5 11818 (my_strcasecmp): Function removed.
52283633 11819 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 11820 (AREF, ASIZE): New macros.
52283633
SM
11821 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
11822 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
11823 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
11824 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
11825 (fontset_id_valid_p, font_family_registry, fontset_name)
11826 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
11827 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
11828 New functions.
11829 (fs_load_font): New arg FACE. Caller changed.
11830 (fs_query_fontset): Argument changed. Caller changed.
11831 (Fquery_fontset): call fs_query_fontset.
11832 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
11833 Functions removed.
52283633
SM
11834 (clear_fontset_elements, check_registry_encoding)
11835 (check_fontset_name): New functions.
9111d4b5
KH
11836 (syms_of_fontset): Set char-table-extra-slots property of fontset
11837 to 3. Staticpro and initialize Vfontset_table and
11838 Vdefault_fontset. Defsubr fontset_font and fontset_list.
11839
11840 * frame.h (struct frame): Member `fontset_data' removed.
11841 (FRAME_FONTSET_DATA): Macro removed.
11842
11843 * frame.c (make_frame): Don't allocate f->fontset_data.
11844 (Fdelete_frame): Don't free f->fontset_data.
11845
6c4bfdc0
KH
11846 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
11847
9111d4b5
KH
11848 * xdisp.c (charset_at_position): Function removed.
11849 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
11850 (handle_face_prop, reseat_to_string, set_iterator_to_next)
11851 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
11852 Likewise.
11853 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
11854 FACE_FOR_CHARSET.
52283633
SM
11855 (get_next_display_element, append_space)
11856 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
11857
11858 * xfaces.c (Qx_charset_registry, Vface_default_registry):
11859 Variables removed.
11860 (clear_font_table, frame_update_line_height, load_face_font):
11861 Adjusted for the change of fontset implementation.
11862 (load_face_fontset_font): Function removed.
11863 (pixel_point_size): New function.
11864 (font_list): Argument type changed. Caller changed.
11865 (LFACE_FONT): New macro.
11866 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
11867 (set_lface_from_font_name): Type of arg FONTNAME is changed to
11868 Lisp_Object. Determine the font name by actually loading a font
11869 by the specified pattern. Set LFACE_FONT (lface) to the specified
11870 pattern. Even if a font is not found, don't try alternatives.
11871 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
11872 (set_font_frame_param): If `font' is specified in lface, use it.
11873 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
11874 (lface_same_font_attributes_p): Likewise.
11875 (make_realized_face): Arguent changed. Caller changed. Set
11876 face->ascii_face to face itself.
11877 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
11878 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
11879 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
11880 (free_realized_multibyte_face): New function.
11881 (lookup_face, lookup_named_face, lookup_derived_face): Argument
11882 changed. Caller changed.
11883 (try_font_list): Argument type changed.
11884 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
11885 (choose_face_font): Argument changed. Handle fontset properly.
11886 (choose_face_fontset_font): Function removed.
11887 (realize_default_face, realize_named_face): Don't remove the
11888 former face here.
11889 (realize_face): Argument changed. Caller changed. Remove face
52283633 11890 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
11891 (realize_x_face): Argument changed. Caller changed. For a
11892 multibyte character, share fontset with base_face. For a single
52283633 11893 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
11894 (realize_tty_face): Argument changed. Caller changed.
11895 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
11896 (face_at_buffer_position): Don't check multibyte_p for returning
11897 DEFAULT_FACE_ID.
11898 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
11899 FACE_SUITABLE_FOR_CHARSET_P.
11900 (syms_of_xfaces): Remove code for Qx_charset_registry and
11901 Vface_default_registry.
11902
6c4bfdc0
KH
11903 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
11904 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
11905 (x_per_char_metric): Don't try FONT->default_char. Even if
11906 pcm->width is zero, glyph bits may exist.
11907 (x_encode_char): Always initialize char2b->byte1.
11908 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 11909 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
11910 (x_append_glyph): Set glyph->glyph_not_available_p.
11911 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
11912 it->charset. Handle the case that per char metric is not
11913 available. If it->multibyte_p is zero and it->c is a multibyte
11914 character, convert it to a unibyte character.
11915 (struct glyph_string): Delete member `charset'.
11916 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
11917 the case that per char metric is not available correctly.
11918 (x_fill_glyph_string): Handle the case that the specific glyph is
11919 not available correctly.
11920 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
11921 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
11922 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
11923 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
11924 fontset. Don't call FS_LOAD_FONT.
11925
11926 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
11927 (x_create_tip_frame): Likewise.
11928 (Fx_close_connection): Free full_name of font_info.
11929
11930 * fns.c (optimize_sub_char_table): New function.
11931 (Foptimize_char_table): New function.
11932 (syms_of_fns): Defsubr Soptimize_char_table.
11933
b33dd3b0
GM
119342000-03-20 Gerd Moellmann <gerd@gnu.org>
11935
11936 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
11937 only if buffer is displayed in some window.
11938
11939 * xdisp.c (handle_single_display_prop): Initialize local `value'.
11940 (try_window_reusing_current_matrix): Don't call scroll run
11941 function if run's current and desired position are the same;
11942 this prevents cursor flickering.
11943
4e8a9132
SM
119442000-03-19 Stefan Monnier <monnier@cs.yale.edu>
11945
11946 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
11947
11948 * regex.c (RE_STRING_CHAR): New macro.
11949 (GET_CHAR_AFER_2): Remove.
11950 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
11951 (enum re_opcode_t): Remove on_failure_jump_exclusive.
11952 (print_partial_compiled_pattern, re_compile_fastmap)
11953 (re_match_2_internal): Remove on_failure_jump_exclusive.
11954 (regex_compile): Turn optimizable P+ loops into PP*, so that the
11955 optimization only need to work for * (ie. can use of_keep_string_jump).
11956 Remove the special case for .*\n since it is now covered by the general
11957 optimization.
11958 (re_search_2): Don't bother with `room'.
11959 (skip_one_char): New function.
11960 (skip_noops): Simplify since `memory' is not needed any more.
11961 (mutually_exclusive_p): Restructure slightly to use `switch' and
11962 add handling for "all" remaining cases.
11963 (re_match_2_internal): Change on_failure_jump_smart to use
11964 on_failure_keep_string_jump (and redirect the end-of-loop jump)
11965 rather than on_failure_jump_exclusive.
11966
2136fdd4
GM
119672000-03-19 Gerd Moellmann <gerd@gnu.org>
11968
11969 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
11970 number of bits per RGB because it's everywhere used as the depth
11971 of the visual.
11972
11973 * term.c (calculate_costs): Remove code dealing with X frames.
11974
18e21ce8 119752000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
11976
11977 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
11978
d7b511c4
GM
119792000-03-18 Gerd Moellmann <gerd@gnu.org>
11980
11981 * lread.c (read_integer): Unread the last char not consumed.
11982
16b5d424
GM
119832000-03-17 Gerd Moellmann <gerd@gnu.org>
11984
11985 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 11986 which are in the process of being deleted.
16b5d424 11987
1fa28578
GM
119882000-03-16 Gerd Moellmann <gerd@gnu.org>
11989
83488cce
GM
11990 * Makefile.in (mostlyclean): Add `*.core'.
11991 (clean): Add `bootstrap-emacs'.
11992
1fa28578
GM
11993 * lread.c (read_integer): New function.
11994 (read1): Support read syntax #o, #x, #b, #r.
11995
99633e97
SM
119962000-03-15 Stefan Monnier <monnier@cs.yale.edu>
11997
1fa28578
GM
11998 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
11999 make sure POINTER_TO_OFFSET gives the same value before and after
12000 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
12001 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
12002 (debug): Now only active if > 0 rather than if != 0.
12003 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
12004 (print_partial_compiled_pattern): Add missing `succeed' case. Use
12005 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
12006 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
12007 (store_op1, store_op2, insert_op1, insert_op2)
12008 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
12009 (group_in_compile_stack): Move to after its arg's types are
12010 declared and add a prototype.
99633e97 12011 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 12012 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 12013 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
12014 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
12015 indentation of the greedy-op and shy-group code.
99633e97
SM
12016 (at_(beg|end)line_loc_p): Fix argument's types.
12017 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
12018 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
12019 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
12020 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
12021 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
12022 QUIT unconditionally.
99633e97 12023
699238d9
GM
120242000-03-15 Gerd Moellmann <gerd@gnu.org>
12025
12026 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
12027 a sole completion.
12028
12029 * process.c (send_process): Add a hint that the function
12030 can call Lisp code to its comment.
12031
12032 * lread.c (load_dangerous_libraries): New variable.
12033 (Vbytecomp_version_regexp): New variable.
12034 (safe_to_load_p): New function.
12035 (Fload): Handle files not compiled with Emacs specially.
12036 (syms_of_lread): New Lisp variable load-dangerous-libraries.
12037
34e23e5a
GM
120382000-03-14 Gerd Moellmann <gerd@gnu.org>
12039
9c763cca
GM
12040 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
12041
12042 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
12043 support functions only if HAVE_X11R6_XIM is defined.
12044 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
12045
12046 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
12047
12048 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 12049 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
12050 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
12051
12052 * config.in (HAVE_X_I18N): Moved here from xterm.h.
12053 (HAVE_X11R6_XIM): Define.
12054
12055 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
12056
34e23e5a
GM
12057 * xterm.c (x_term_init): Add support for X resource `synchronous'.
12058 If set, call XSynchronize.
12059
66f0296e
SM
120602000-03-13 Stefan Monnier <monnier@cs.yale.edu>
12061
34e23e5a
GM
12062 * regex.c: Declare a new type `re_char' used throughout the code
12063 for the string char type. It's `const unsigned char' to match the
12064 rest of Emacs. Consistently make sure all pointers to strings use
52283633 12065 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 12066 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
12067 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
12068 code duplication.
66f0296e
SM
12069
12070 * charset.h (GET_CHAR_AFTER_2): Remove.
12071 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
12072
854a025c
KR
120732000-03-12 Ken Raeburn <raeburn@gnu.org>
12074
12075 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
12076 variable before the invocation of YMF_PASS_LDFLAGS, in case both
12077 of them try to use backquotes.
12078
b9d2c7e2
DL
120792000-03-12 Dave Love <fx@gnu.org>
12080
12081 * unexelf.c: Restore changes of 1999-10-19.
12082 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
12083 fix its type and alignment; copy it from current process.
12084
5e5dff44
GM
120852000-03-12 Gerd Moellmann <gerd@gnu.org>
12086
9b2f3c38
GM
12087 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
12088 has been found. Fix bug not computing timer's predecessor.
12089
427ec082 12090 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
12091 file name.
12092
e1cff360
GM
12093 * window.c (Fsave_window_excursion): Doc fix.
12094
52283633 12095 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 12096
e411ce4b
EZ
120972000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
12098
12099 * msdos.c (vga_installed): New function, code moved from
12100 dos_set_window_size.
12101 (Qbar, Qcursor_type, outside_cursor): New variables.
12102 (syms_of_msdos): Intern and staticpro them.
12103 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
12104 shape used outside Emacs when called for the first time.
12105 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
12106 cursor shape used outside Emacs.
12107 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
12108 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
12109 type has changed.
12110 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
12111 parameters specify the cursor. Make qreverse a global
12112 variable (renamed to Qreverse).
12113
80460654
GM
121142000-03-09 Gerd Moellmann <gerd@gnu.org>
12115
12116 * fns.c (Fy_or_n_p): Cancel busy-cursor.
12117
95cd4c40
SM
121182000-03-08 Stefan Monnier <monnier@cs.yale.edu>
12119
12120 This is a big redesign of failure-stack and register handling, prompted
12121 by bugs revealed when trying to add shy-groups. Overall, what happened
12122 is that loops are now structured a little differently, groups can be
12123 shy and the code is a little simpler.
12124
12125 * regex.h: Update the copyright.
12126 (RE_SHY_GROUPS): New value.
12127 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
12128 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
12129
80460654
GM
12130 * regex.c (enum re_opcode_t): Remove jump_past_alt,
12131 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
12132 on_failure_jump_(exclusive, loop and smart). Also fix the comment
12133 for (start|stop)_memory since they now only take one argument (the
12134 second has becomes unnecessary).
52283633 12135 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
12136 (print_compiled_pattern): Use %ld to printf long ints and flush to
12137 make debugging a little easier.
95cd4c40
SM
12138 (union fail_stack_elt): Make the integer unsigned.
12139 (struct fail_stack_type): Add a `frame' element.
12140 (INIT_FAIL_STACK): Init `frame' as well.
12141 (POP_PATTERN_OP): New macro for re_compile_fastmap.
12142 (DEBUG_PUSH, DEBUG_POP): Remove.
12143 (NUM_REG_ITEMS): Remove.
12144 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
12145 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
12146 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 12147 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
12148 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
12149 New macros.
80460654
GM
12150 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
12151 address pushed is not the destination of the jump but the source
12152 of it instead.
95cd4c40
SM
12153 (NUM_FAILURE_ITEMS): Remove.
12154 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
12155 registers before the actual failure point). Don't hardcode any
12156 meaning for str==NULL anymore.
95cd4c40 12157 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
12158 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
12159 Remove.
95cd4c40
SM
12160 (REG_UNSET_VALUE): Use NULL (why not?).
12161 (compile_range): Remove declaration since it doesn't exist.
12162 (struct compile_stack_elt_t): Remove inner_group_offset.
12163 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
12164 (regex_grow_registers): Remove dead code.
12165 (FIXUP_ALT_JUMP): New macro.
80460654
GM
12166 (regex_compile): Add shy-groups Change loops to use
12167 on_failure_jump_smart&jump instead of
12168 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
12169 initial (dummy_failure_)jump. Remove c1_base (looks like unused
12170 variable to me). Use `jump' instead of `jump_past_alt' and don't
12171 bother with push_dummy_failure in alternatives since it is now
12172 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
12173 emacs' for (re)allocating the stack.
12174 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
12175 from loop when bufp->can_be_null rather than jumping to `done'.
12176 Avoid jumping backwards so as to ensure termination. Use
12177 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
12178 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 12179 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
12180 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
12181 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
12182 (lowest_active_reg, highest_active_reg)
12183 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
12184 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
12185 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
12186 variables. Push register (in `start_memory') on the stack rather
12187 than storing it in old_reg(start|end). Remove the cycle detection
12188 from `stop_memory', replaced by the use of on_failure_jump_loop
12189 for greedy loops. Add code for the new on_failure_jump_<foo>.
12190 Remove ad-hoc code in `on_failure_jump' to push more registers in
12191 the case of a loop. Take out code from `maybe_pop_jump' into
12192 separate functions and adapt it to the semantics of
12193 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
12194 and push_dummy_failure. Remove dummy_failure handling and
12195 handling of `failures to jump to on_failure_jump' (this last one
12196 was already dead code, it seems).
12197 (group_match_null_string_p, alt_match_null_string_p)
12198 (common_op_match_null_string_p): Remove.
95cd4c40 12199
7397acc4
DL
122002000-03-08 Dave Love <fx@gnu.org>
12201
12202 * config.in: Don't depend on __STDC__ for volatile.
12203 Add POINTER_TYPE, PTR, PROTOTYPES.
12204
12205 * hftctl.c, strftime.c: Use PROTOTYPES.
12206 * eval.c (find_handler_clause): Likewise.
12207
12208 * mem-limits.h: Use POINTER_TYPE.
12209
12210 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
12211 (memory_warnings): Declare using POINTER_TYPE.
12212
5e91ff9e
GM
122132000-03-08 Gerd Moellmann <gerd@gnu.org>
12214
feab4fba
GM
12215 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
12216
52283633 12217 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 12218
5e91ff9e
GM
12219 * xfns.c: Remove obsolete code in #if 0.
12220 (Fx_focus_frame): New function.
12221
a735b7e1
KH
122222000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
12223
12224 * coding.c (coding_category_name): Add coding-category-utf-8,
12225 coding-category-utf-16-be, coding-category-utf-16-le.
12226 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
12227 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
12228 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
12229 (detect_coding_utf_8): New function.
12230 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
12231 UTF_16_LOW_SURROGATE_P): New macros.
12232 (detect_coding_utf_16): New function
12233 (detect_coding_mask): When priorities are specified, skip any
12234 categories that have `nil' coding-system. Fix bug of returning
12235 wrong mask when PRIORITIES is specified and detect_coding_XXX()
12236 returns a mask not set in PRIORITIES.
12237 (detect_eol_type_in_2_octet_form): New function.
12238 (detect_eol): selects detect_eol_type_XXX to call according to
12239 cooding->category_idx.
12240 (detect_coding_system): Remove `nil' coding-system in the result.
12241 (Fupdate_coding_systems_internal): Update all coding-categories.
12242
52283633
SM
12243 * coding.h (CODING_CATEGORY_IDX_UTF_8)
12244 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
12245 New macros.
12246 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
12247 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
12248 (CODING_CATEGORY_IDX_UTF_16_LE)
12249 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
12250 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
12251 (CODING_CATEGORY_MASK_ANY): Include the above macros.
12252 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
12253
9994cc69
GM
122542000-03-07 Gerd Moellmann <gerd@gnu.org>
12255
e9b4e5ff
GM
12256 * doc.c (Fdocumentation_property): If value is not a string,
12257 and doesn't refer to etc/DOC, evaluate it to obtain a string.
12258
f7daf1e1
GM
12259 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
12260 close the display with XtCloseDisplay. This caused a bus error
12261 on OpenWindows.
12262
9994cc69
GM
12263 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
12264 complete but not unique.
12265
4336c705
GM
122662000-03-06 Gerd Moellmann <gerd@gnu.org>
12267
18bb0684
GM
12268 * process.c (send_process): Remove local variable `procname' that
12269 might become invalid when a GC happens. Instead, access the
12270 process name slot directly.
12271
4336c705
GM
12272 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
12273 orig_height if set.
12274
12275 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
12276 orig_height if set.
12277
515d0d0e
EZ
122782000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
12279
12280 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
12281 glyph matrices have been freed.
12282
100b3cbb
GM
122832000-03-05 Gerd Moellmann <gerd@gnu.org>
12284
50df5e5a 12285 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 12286 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
12287
12288 * xfns.c (QCdata): Moved to xdisp.c.
12289
12290 * xdisp.c (QCdata): Moved here from xfns.c.
12291 (syms_of_xdisp): Initialize QCdata.
12292
12293 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
12294
12295 * window.c (coordinates_in_window): Use
12296 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
12297 FRAME_INTERNAL_BORDER_WIDTH.
12298
100b3cbb 12299 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 12300 it is obviously invalid.
100b3cbb
GM
12301
12302 * xterm.c (x_term_init): Create a colormap if not using the
12303 default visual.
12304
12305 * xterm.h (select_visual): Change prototype.
12306
12307 * xfns.c (select_visual): Rewritten. Recognize user-specified
12308 visual classes.
12309 (visual_classes): New variable.
12310
64d739c4
GM
123112000-03-04 Gerd Moellmann <gerd@gnu.org>
12312
12313 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
12314 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
12315 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 12316 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
12317 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
12318 XtNcolormap resources.
12319 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
12320 (Fx_create_frame): Initialize color members of x_output structure.
12321 (xpm_load): Pass colormap to XPM lib.
12322
12323 * xfaces.c (x_free_colors): Access colormap of frame using
12324 FRAME_X_COLORMAP. Be paranoid about freeing black and white
12325 when default colormap is used.
12326
12327 * xterm.c (x_term_init): Set Colormap member of x_display_info
12328 structure. Copy colormap if resource `privateColormap' is
12329 specified (PseudoColor only).
12330 (x_setup_relief_color): Access colormap of frame using
12331 FRAME_X_COLORMAP.
12332
12333 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
12334 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
12335
c3cee013
JR
123362000-03-04 Jason Rumney <jasonr@gnu.org>
12337
12338 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
12339 other non-platform-specific equivalents.
64d739c4 12340 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
12341 specific functions and macros as their w32 equivalents where
12342 non-platform-specifics are not available.
12343 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
12344 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
12345 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
12346 (frame_update_line_height): Use macros to access f->output_data.
12347 (defined_color): Remove FIXME comments; fixed.
12348 (x_face_list_fonts, prepare_face_for_display): Put X specifics
12349 into #ifdef blocks. Add WINDOWSNT blocks.
12350 (Fx_list_fonts): Use macros for accessing font data.
12351 (set_lface_from_font_name): Different default fonts for X and
12352 WINDOWSNT.
12353 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
12354 scalable for backward compatibility.
64d739c4 12355 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
12356 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
12357
64d739c4 12358 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
12359 syms_of_w32faces.
12360
12361 * makefile.nt (w32faces.obj): Remove.
12362 (xfaces.obj): Add.
12363
807cc41c
JR
123642000-03-03 Jason Rumney <jasonr@gnu.org>
12365
12366 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
12367 correct parameters.
12368
0007072a
KR
123692000-03-03 Ken Raeburn <raeburn@gnu.org>
12370
12371 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
12372 standard ELF definitions here if the system header does not.
12373
71a6ba55
GM
123742000-03-03 Gerd Moellmann <gerd@gnu.org>
12375
12376 * xterm.c (PER_CHAR_METRIC): Removed.
12377 (x_per_char_metric_1, x_default_char): New functions.
12378 (x_per_char_metric): If font's default char is invalid, return
12379 metrics of a suitably chosen usable default char.
12380 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
12381 char, replace occurrences of unprintable chars with a suitably
12382 chosen usable default char.
71a6ba55 12383
900fa1f1
GM
123842000-03-02 Gerd Moellmann <gerd@gnu.org>
12385
42f55fe0
GM
12386 * xterm.c (note_mouse_highlight): Return quickly if frame's
12387 glyph matrices have been freed.
12388
12389 * dispnew.c (free_glyphs): Block input while freeing matrices.
12390
900fa1f1
GM
12391 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
12392
52283633
SM
12393 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
12394 Use x_free_colors.
900fa1f1
GM
12395
12396 * dispextern.h (x_free_colors): Add prototype.
12397
12398 * xfaces.c (x_free_colors): New function.
12399 (unload_color, free_face_colors): Use it.
12400
2f950292
EZ
124012000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
12402
12403 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
12404
12405 * window.c [MSDOS]: Include msdos.h.
12406
54d04320
DL
124072000-03-02 Dave Love <fx@gnu.org>
12408
12409 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
12410
12411 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
12412 set C_OPTIMIZE_SWITCH for gcc.
12413
0ba93ac4
KH
124142000-03-02 Kenichi Handa <handa@etl.go.jp>
12415
12416 * coding.c (coding_save_composition): Be sure to allocate
12417 composition data area in coding even if there's no composition in
12418 the current run.
12419
a2bc11d4
JR
124202000-03-01 Jason Rumney <jasonr@gnu.org>
12421
12422 * w32term.c: Equivalent changes to those made to xterm.c on
12423 2000-02-25 and 2000-02-24.
12424
12425 * w32fns.c: Equivalent changes to those made to xfns.c on
12426 2000-02-25 and 2000-02-21.
12427
12428 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
12429 correct line-end convention is followed.
12430
12431 * w32menu.c [HAVE_BOXES]: Remove #undef.
12432 (single_keymap_panes): Remove code for simulating checkmarks.
12433 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
12434 Remove code for drawing simulated checkmarks.
12435 (w32_menu_show): make unibyte help string correctly.
12436 (add_menu_item): draw standard Windows checkmarks. Draw radio
12437 buttons as radio buttons if possible.
12438
72d19d75
GM
124392000-03-01 Gerd Moellmann <gerd@gnu.org>
12440
2df636f4
GM
12441 * sysdep.c (start_of_text): Don't define this function for NetBSD
12442 with ELF.
12443
427ec082 12444 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
12445 Don't define.
12446 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
12447 (LINKER): Don't undef if __NetBSD__ is defined.
12448
12449 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
12450
12451 * fileio.c [__NetBSD__]: Define `unix'.
12452
72d19d75
GM
12453 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
12454
ed4d0512
GM
124552000-02-29 Gerd Moellmann <gerd@gnu.org>
12456
50b1039f
GM
12457 * atimer.c (start_atimer): Don't abort when timers are stopped.
12458 (append_atimer_lists): New function.
12459 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
12460 arbitrary lists of stopped and running atimers.
12461
ed4d0512
GM
12462 * atimer.c (cancel_atimer): Handle canceling an atimer when
12463 some timers are stopped.
12464
12465 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
12466 after canceling it.
12467
12468 * fns.c (maybe_resize_hash_table): Handle case of new size
12469 coming out as being the same as old size.
12470
387023ee
JR
124712000-02-27 Jason Rumney <jasonr@gnu.org>
12472
12473 * makefile.nt: Add atimer.h to dependencies.
12474 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
12475 * w32console.c: Only disable window system features for dispextern.h
12476 (initialize_w32_display): Build a display info for the console.
12477 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
12478 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
12479 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
12480 as 2 button mice.
12481 * w32gui.h (struct W32FontStruct): Revert last change after change
12482 to xdisp.c.
12483 * w32menu.c (single_submenu): Set up help string.
12484 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
12485 (w32_dialog_show): Set up help string.
12486 * w32term.c (w32_display_info_for_display): Remove unused function.
12487 (w32_draw_bitmap): Use pre-built bitmaps.
12488 (w32_initialize_display_info): New function to initialize parts of
12489 display info that are common to both GUI and console frames.
12490 (w32_term_init): Use w32_initialize_display_info. Do not set
12491 Vw32_num_mouse_buttons here, as it is not called for console
12492 frames. Build bitmaps for indicating truncated lines etc.
12493 (x_delete_display): Destroy pre-built bitmaps.
12494 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
12495 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
12496
4516715a
DL
124972000-02-27 Dave Love <fx@gnu.org>
12498
12499 * lisp.h: Add a bunch of prototypes.
12500
171ca836
KH
125012000-02-26 Kenichi Handa <handa@etl.go.jp>
12502
12503 * keyboard.c (read_char): Set `usec' correctly.
12504
4013921d
KH
125052000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
12506
12507 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
12508 `lambda', set reg[RRR] to the map index.
12509 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
12510 reg[RRR] to 0. Otherwise, set it to -1.
12511
9244a058
GM
125122000-02-25 Gerd Moellmann <gerd@gnu.org>
12513
2df636f4 12514 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 12515
18e21ce8 125162000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 12517
f43d79c1
GM
12518 * fileio.c (Ffile_symlink_p): If result starts with a `/'
12519 and contains a `:', prepend `/:'.
12520
12521 * window.c (select_window_1): If selected_window is nil,
12522 don't "swap out" the buffer's point.
12523 (Fset_window_configuration): Set selected_window to nil
12524 before calling Fselect_window.
12525 (unshow_buffer): Don't set point in buffer from window's point
12526 if another more recently selected window also shows the buffer.
12527
bed0c171
GM
125282000-02-25 Gerd Moellmann <gerd@gnu.org>
12529
449c3c52
GM
12530 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
12531
f5b58615
GM
12532 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
12533 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
12534 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
12535 New variables.
f5b58615
GM
12536 (DEFAULT_BUSY_CURSOR_DELAY): New define.
12537 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
12538 (hide_busy_cursor): New functions.
12539 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
12540
12541 * minibuf.c (read_minibuf): Cancel busy-cursor.
12542
12543 * keyboard.c (command_loop_1): Call start_busy_cursor before
12544 Fcommand_execute and cancel_busy_cursor after it.
12545 (timer_check): Remove busy-cursor code.
12546 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
12547 cursor timer.
12548
12549 * process.c (wait_reading_process_input): Remove busy-cursor code.
12550
12551 * eval.c (Fsignal): Call cancel_busy_cursor instead of
12552 Fx_hide_busy_cursor.
12553
12554 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
12555 Remove prototyoes.
12556 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
12557
12558 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
12559
12560 * xterm.c (XTread_socket): Remove busy-cursor code.
12561
4eb8436f
GM
12562 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
12563 (build_frame_matrix_from_leaf_window): Put code handling
12564 glyph row's not being a slice of a frame row in #if 0.
12565 (sync_window_with_frame_matrix_rows): New function.
12566 (frame_row_to_window): New function.
12567 (mirror_line_dance): Handle copies between windows.
12568
3cb65b0e
GM
12569 * lread.c (Fload): Use `xfree' instead of `free'.
12570 (init_obarray): Use `xmalloc' instead of `malloc'.
12571
bed0c171
GM
12572 * window.c (Fset_window_buffer): Set WINDOW to the window
12573 after decoding.
2add4349
GM
12574 (coordinates_in_window): Take frame's internal border width
12575 into account.
bed0c171 12576
42088c12
GM
125772000-02-24 Gerd Moellmann <gerd@gnu.org>
12578
12579 * xterm.c (x_display_and_set_cursor): Display cursor of
12580 non-selected windows depending on the setting of
12581 cursor_in_non_selected_windows.
12582
12583 * xdisp.c (cursor_in_non_selected_windows): New variable.
12584 (syms_of_xdisp): DEFVAR_BOOL it.
12585
d1e103b2
GM
125862000-02-23 Gerd Moellmann <gerd@gnu.org>
12587
723e779c
GM
12588 * data.c (Fstring_to_number): If number is greater than what
12589 fits into an integer, return a float.
12590
d1e103b2
GM
12591 * eval.c (specbind): Remove references to
12592 keyword_symbols_constant_flag.
12593
12594 * data.c (keyword_symbols_constant_flag): Removed.
12595 (Fmakunbound, set_internal, syms_of_data): Remove references to
12596 keyword_symbols_constant_flag.
12597
12598 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
12599
214f877f
KH
126002000-02-23 Kenichi Handa <handa@etl.go.jp>
12601
12602 * syntax.c (multibyte_syntax_as_symbol): New variable.
12603 (syms_of_syntax): Declare it as a Lisp variable.
12604 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
12605 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
12606 nonzero, treat all multibyte characters as symbol.
52283633 12607 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 12608
130adcb7
EZ
126092000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
12610
3cb65b0e 12611 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 12612 a deleted frame.
130adcb7 12613
17cbbf95
GM
126142000-02-21 Gerd Moellmann <gerd@gnu.org>
12615
12616 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
12617
12618 * xfns.c (x_window_to_frame, x_any_window_to_frame)
12619 (x_non_menubar_window_to_frame): Check the busy-cursor window.
12620
beb0bc36
DL
126212000-02-21 Dave Love <fx@gnu.org>
12622
12623 * frame.c (Vmouse_position_function): New variable.
12624 (Fmouse_position): Use it.
12625 (syms_of_frame): Install it.
12626
12627 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
12628
1d92afcd
GM
126292000-02-20 Gerd Moellmann <gerd@gnu.org>
12630
12631 * fileio.c (Finsert_file_contents): Unbind the binding of
12632 standard-output done by temp_output_buffer_setup.
329eed9f
GM
12633
12634 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
12635 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
12636 (specbind, unbind_to): Handle most common case of non-constant
12637 symbol with trivial value specially.
12638
12639 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
12640
18e21ce8 126412000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
12642
12643 * data.c (Fmake_variable_buffer_local): Doc fix.
12644 Init found_for_buffer to 0.
12645 (Fmake_variable_frame_local): If the variable has already
12646 been buffer-local, set the check_frame field.
12647
1d4311c3
EZ
126482000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
12649
12650 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
12651 produced for CODING_MODE_LAST_BLOCK requires.
12652
2dc95ddd
DL
126532000-02-18 Dave Love <fx@gnu.org>
12654
12655 * keyboard.c (echo_keystrokes): Remove declaration.
12656 (Vecho_keystrokes) New variable.
12657 (read_char, record_menu_key, read_key_sequence): Use it to allow
12658 use of float value.
12659 (syms_of_keyboard): Change Vecho_keystrokes declaration.
12660
12661 * lread.c: Undef feature selection macros before defining.
12662
f0930f35
GM
126632000-02-18 Gerd Moellmann <gerd@gnu.org>
12664
12665 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
12666 for symbols other than the symbol in question.
12667
e3d4de90
DL
126682000-02-17 Dave Love <fx@gnu.org>
12669
12670 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
12671
0b378936
GM
126722000-02-17 Gerd Moellmann <gerd@gnu.org>
12673
d621caf7
GM
12674 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
12675
0b378936
GM
12676 * alloc.c (enum mem_type): Compile unconditionally.
12677
3b451f74
EZ
126782000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
12679
12680 * xfaces.c (tty_defined_color): Don't return faulire indication
12681 for unspecified-fg and unspecified-bg pseudo-colors.
12682
10689a01
GM
126832000-02-17 Gerd Moellmann <gerd@gnu.org>
12684
1216f5e4
GM
12685 * alloc.c (mark_object): Don't mark symbol names in pure space.
12686 (gc_sweep): Don't unmark symbol names in pure space.
12687
12688 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
12689 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
12690 [GC_MARK_STACK]: New defines.
427ec082 12691 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
12692 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
12693
12694 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
12695
12696 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
12697 allocate_buffer instead of xmalloc.
12698
12699 * alloc.c (toplevel): Include setjmp.h.
12700 (PURE_POINTER_P): New define.
12701 (enum mem_type) [GC_MARK_STACK]: New enumeration.
12702 (Vdead) [GC_MARK_STACK]: New variable.
12703 (lisp_malloc): Add parameter TYPE, call mem_insert if
12704 GC_MARK_STACK is defined.
12705 (allocate_buffer): New function.
427ec082 12706 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
12707 (free_float) [GC_MARK_STACK]: Set type to Vdead.
12708 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
12709 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
12710 (MEM_NIL) [GC_MARK_STACK]: New define.
12711 (struct mem_node) [GC_MARK_STACK]: New structure.
12712 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
12713 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
12714 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
12715 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
12716 (mark_stack) [GC_MARK_STACK]: New functions.
12717 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
12718 (clear_marks): Removed.
12719 (gc_sweep): Set free conses' car, free floats' type, free
12720 symbols' function to Vdead. Use lisp_free to free buffers.
12721 (init_alloc_once): Initialize Vdead.
12722 (survives_gc_p): Return non-zero for pure objects.
12723
12724 * alloc.c: Add comments throughout the file.
12725
2503c8b1
GM
12726 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
12727 that unblocks alarms.
12728
8389e1e2
GM
12729 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
12730 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
12731 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
12732
10689a01 12733 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 12734
bfc17d18
KH
127352000-02-17 Kenichi Handa <handa@etl.go.jp>
12736
4a09dee0
KH
12737 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
12738 avoid infinite error signaling. Allocate sufficient memory for
12739 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 12740
2b927d02
SM
127412000-02-17 Stefan Monnier <monnier@cs.yale.edu>
12742
12743 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
12744 depends on the previous behavior.
12745
b49cb764
GM
127462000-02-16 Gerd Moellmann <gerd@gnu.org>
12747
12748 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
12749
99e95407
GM
127502000-02-15 Gerd Moellmann <gerd@gnu.org>
12751
12752 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
12753
12754 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 12755 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
12756 write(2).
12757
6ffd3cf7
RS
127582000-02-15 Richard M. Stallman <rms@gnu.org>
12759
12760 * data.c (set_internal): Don't make variable buffer-local
12761 if within a let-binding for the same buffer.
12762 (let_shadows_buffer_binding_p): New function.
12763
12764 * eval.c (specbind): For buffer-local value,
12765 record the current buffer also.
12766 (unbind_to): Cope with that change.
12767
cad53475
GM
127682000-02-15 Gerd Moellmann <gerd@gnu.org>
12769
12770 * window.c (Fsave_window_excursion): Doc fix.
12771
1aa963c8
SM
127722000-02-15 Stefan Monnier <monnier@cs.yale.edu>
12773
12774 * syntax.c (back_comment): Make sure we only consider comment-starters
12775 of the relevant style and return -1 in case of a failure to find the
12776 beginning of the comment.
12777 (Fforward_comment): If back_comment fails, go back to the position just
12778 after the comment-end.
12779 (scan_lists): Add comment describing a very minor bug.
12780
b9b84fd3
SM
127812000-02-14 Stefan Monnier <monnier@cs.yale.edu>
12782
12783 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
12784 `completion-regexp-list' in the docstring.
12785
3a28db80
DL
127862000-02-14 Dave Love <fx@gnu.org>
12787
12788 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
12789
fb4a568d
SM
127902000-02-14 Stefan Monnier <monnier@cs.yale.edu>
12791
12792 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
12793 to Emacs' syntax. Also fix the comment about set/not-set meanings
12794 since Emacs syntax is not the value 0 any more.
12795 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
12796 since it's now part of RE_SYNTAX_EMACS.
12797
1063ebb5
DL
127982000-02-12 Dave Love <fx@gnu.org>
12799
52283633 12800 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 12801
fb07a302
GM
128022000-02-12 Gerd Moellmann <gerd@gnu.org>
12803
12804 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
12805
aaf2320c
DL
128062000-02-12 Dave Love <fx@gnu.org>
12807
12808 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
12809
12810 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
12811 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
12812 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
12813
12814 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
12815
12816 * s/nextstep.h: Don't define HAVE_ALLOCA.
12817
12818 * config.in: Add vfork bits.
12819
eedf8bde
GM
128202000-02-12 Gerd Moellmann <gerd@gnu.org>
12821
12822 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
12823 unwind function to undo the effect of stopping atimers.
12824
52283633 12825 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
12826
12827 * atimer.c (stopped_atimers): New variable.
12828 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
12829 New functions.
12830
12831 * atimer.h (stop_other_atimers, run_all_atimers)
12832 (unwind_stop_other_atimers): Add function prototypes.
427ec082 12833
eedf8bde
GM
12834 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
12835
8476c2f8
KR
128362000-02-11 Ken Raeburn <raeburn@gnu.org>
12837
12838 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
12839 library may depend on jpeg.
12840 (atimer.o): Depends on atimer.c.
12841
0e85e4a3
KH
128422000-02-11 Kenichi Handa <handa@etl.go.jp>
12843
12844 * insdel.c (del_range_1): Call update_compositions.
12845 (del_range_both): Call update_compositions just once..
12846
97fa0cc8
DL
128472000-02-10 Dave Love <fx@gnu.org>
12848
12849 * xfns.c (create_frame_xic): Fix initialization of automatic
12850 aggregates for pcc.
12851
25566a3c
KH
128522000-02-09 Kenichi Handa <handa@etl.go.jp>
12853
12854 * ccl.c (CCL_MAKE_CHAR): New macro.
12855 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
12856 registers by CCL_MAKE_CHAR before calling translate_char.
12857 <CCL_TranslateCharacterConstTbl> Likewise.
12858
69da54ba
DL
128592000-02-08 Dave Love <fx@gnu.org>
12860
12861 * lread.c (__EXTENSIONS__): Define.
12862
f7136ee8
GM
128632000-02-08 Gerd Moellmann <gerd@gnu.org>
12864
12865 * puresize.h (BASE_PURESIZE): Increase to 650000.
12866
7768790b
EZ
128672000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
12868
12869 * msdos.c (XMenuActivate): Turn off the cursor after displaying
12870 the help message.
12871
38fd211b
EZ
128722000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
12873
12874 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
12875 md, mh, mb, mr, and me to the fake termcap entry.
12876
66e4690f
KR
128772000-02-06 Ken Raeburn <raeburn@gnu.org>
12878
12879 * sound.c (sound_cleanup): Don't call device close routine if the
12880 function pointer is null.
12881
a75dfea0
AI
128822000-02-06 Andrew Innes <andrewi@gnu.org>
12883
12884 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
12885 around image definitions and prototypes.
12886 (gamma_correct) [WINDOWSNT]: New prototype.
12887
12888 * w32term.c (x_make_frame_visible): Replace call to
12889 input_poll_signal with poll_for_input.
12890
12891 * window.c [WINDOWSNT]: Include w32term.h.
12892
12893 * xdisp.c [WINDOWSNT]: Include w32term.h.
12894
12895 * makefile.nt: Add dependencies on w32gui.h.
12896 (OBJ1): Include atimer.obj.
12897 ($(BLD)\atimer.obj): New dependency rule.
12898
12899 * w32.c (sigmask): New function (does nothing).
12900 (sigunblock): Ditto.
12901
12902 * frame.c [WINDOWSNT]: Include w32term.h.
12903
12904 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
12905
12906 * lread.c (syms_of_lread): Fix literal newlines.
12907
12908 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
12909 the string constant limit (2048 bytes) in MSVC.
12910 (main): Ditto.
12911
59ddecde
GM
129122000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
12913
52283633 12914 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
12915 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
12916 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
12917 dispatch the event.
12918
07590973
DL
129192000-02-04 Dave Love <fx@gnu.org>
12920
12921 * fileio.c: Remove some unused vars.
12922 (_GNU_SOURCE): Define (for euidaccess).
12923
12924 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
12925
12926 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
12927 gcpro1, gcpro2.
12928 (read_minibuf): Deal with allow_props correctly.
12929
649351f9
EZ
129302000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
12931
12932 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
12933
66e4690f 129342000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
12935
12936 * search.c (compile_pattern): If a cache entry has a nil regexp,
12937 fill in that entry instead of clobbering a previously cached
12938 string regexp.
12939
66e4690f 129402000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
12941
12942 * puresize.h (BASE_PURESIZE): Increase to 610000.
12943
d240a249
GM
129442000-02-02 Gerd Moellmann <gerd@gnu.org>
12945
12946 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
12947 can GC.
12948
ca91fb26
KH
129492000-02-02 Kenichi Handa <handa@etl.go.jp>
12950
25660570
KH
12951 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
12952 instead of incrementing ic directly.
12953 <CCL_WriteExprConst> Likewise.
12954 <ccl_set_expr>: Set ic to jump_address.
12955
ca91fb26
KH
12956 * fileio.c (e_write): Fix the handling of
12957 CODING_FINISH_INSUFFICIENT_SRC.
12958
2ede9689
DL
129592000-02-01 Dave Love <fx@gnu.org>
12960
12961 * editfns.c (Fpropertize): Doc fix.
12962
12963 * process.c (Fstart_process): Doc fix.
12964
12965 * eval.c: Fix various doc strings not to duplicate information
12966 from help-manyarg-func-alist.
12967
52283633 12968 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
12969
12970 * doc.c (Vhelp_manyarg_func_alist): New variable.
12971 (Fdocumentation): Use it.
12972 (syms_of_doc): Define it.
12973
b6680a0e
GM
129742000-01-31 Gerd Moellmann <gerd@gnu.org>
12975
2cb750ba
GM
12976 * xterm.c (xim_open_dpy): Remove unused local variable.
12977
52283633 12978 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
12979
12980 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
12981 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
12982
b6680a0e
GM
12983 * fns.c (sweep_weak_table): New function.
12984 (sweep_weak_hash_tables): Use it. Keep on marking until there
12985 is no more change.
12986
994c5afe
GM
129872000-01-30 Gerd Moellmann <gerd@gnu.org>
12988
12989 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
12990 that XTread_socket does not crash by trying to call XNoOp on a
12991 closed display.
427ec082 12992
f00276e3
JR
129932000-01-30 Jason Rumney <jasonr@gnu.org>
12994
12995 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
12996 Change selected_frame to SELECTED_FRAME ().
12997 (w32_console_mouse_position): Remove #ifndef MULE from around
12998 `insist' parameter.
12999
13000 * makefile.nt: Remove dosfns.obj.
13001
13002 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
13003
13004 * w32fns.c (w32_defined_color): Check for valid frame before
13005 applying gamma correction. Eliminate dependency on frame elsewhere.
13006 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
13007 (w32_to_x_font): Use resx and resy not height_in and width_in.
13008 (x_to_w32_font): Doc fix.
13009 (xlfd_strip_height): New function to strip and return font height.
13010 (w32_font_match): Compare height separately from rest of xlfd
13011 spec, using xlfd_strip_height.
13012
13013 * w32term.c (w32_term_init): Swap resx and height_in, resy and
13014 width_in. Use w32_defined_color in place of defined_color.
13015
13016 * w32faces.c: Merge more of DOS and X specifics in preparation for
13017 merge with xfaces.c.
13018 (defined_color): Remove FIXME comment.
13019 (tty_color_name): Provide w32-specific function.
13020 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
13021
13022 * w32console.c (turn_on_face, turn_off_face): Removed.
13023 (w32_face_attributes): New function.
13024 (Global_variables): Reduce scope where possible.
13025 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
13026 fill attribute.
13027 (hl_mode): Don't modify text attributes.
13028 (write_glyphs): Don't do anything if len <= 0. Use
13029 w32_face_attributes to get attributes for drawing. Write
13030 terminating codes using char_attr_normal.
13031 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
13032 (update_begin, update_end): Likewise.
13033 (vga_stdcolor_name): New function.
13034 (initialize_w32_display): Remove char_attr_reverse and char_attr.
13035 (Fset_screen_color): Remove char_attr_reverse.
13036
b08e8bb2
GM
130372000-01-29 Gerd Moellmann <gerd@gnu.org>
13038
13039 * xfns.c (xic_set_preeditarea): Take window parameter and
13040 window-relative pixel-positions.
13041
13042 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
13043 is its frame's selected window.
13044 (xim_instantiate_callback): Likewise.
13045
13046 * xfns.c (x_create_im): Removed.
13047 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
13048 (supported_xim_styles): Renamed from supported_styles.
13049 (best_xim_style): Renamed from best_style.
13050 (create_frame_xic): Renamed from xic_create_frame.
13051 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 13052
b08e8bb2
GM
130532000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
13054
13055 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
13056 our frames, call XFilterEvent with 2nd parameter `None'.
13057 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
13058 returning XBufferOverflow.
52283633 13059 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
13060 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
13061 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
13062 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
13063 (xim_initialize, xim_close)
13064 [HAVE_X_I18N && HAVE_X11R6]: New functions.
13065 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
13066 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
13067 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
13068
13069 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
13070 and `xim_styles'.
13071 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
13072 `xic_style' and `xic_xfs'.
13073 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
13074 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
13075 (FRAME_XIM): Removed.
13076
13077 * xfns.c (supported_styles): New variable.
13078 (DEFAULT_STYLE, DEFAULT_FONT): New macros
13079 (xic_create_xfontset, best_style, xic_create_frame)
13080 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
13081 (xic_set_xfontset): New functions.
13082
142e109c
DL
130832000-01-28 Dave Love <fx@gnu.org>
13084
13085 * s/irix6-5.h: Revert last change after change to irix5-0.h.
13086
13087 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
13088
b02786f9
GM
130892000-01-28 Gerd Moellmann <gerd@gnu.org>
13090
d060bc9f
GM
13091 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
13092 for *scratch* if it already existed.
13093
b02786f9
GM
13094 * emacs.c (USAGE): New macro.
13095 (main): Use it to display usage information.
13096
2c52d7e4
EZ
130972000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13098
13099 Support for the menu-help feature:
13100
52283633 13101 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
13102
13103 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
13104 part of the line to the termscript file.
13105 (IT_clear_to_end): Clear the entire line, not just its beginning.
13106 (menu_help_message, prev_menu_help_message): New variables.
13107 (IT_menu_make_room): Make room for the help_text member.
13108 (IT_menu_display): New argument disp_help; all callers changed.
13109 If disp_help is non-zero, store the help text of the active menu
13110 item in menu_help_message.
13111 (XMenuAddPane): Initialize the help_text member to NULL.
13112 (XMenuAddSelection): New argument help_text. Store it in the
13113 XMenu structure.
13114 (XMenuActivate): New argument help_callback. If the value of
13115 menu_help_message has changed since the last time, display the
13116 menu help message text while waiting for the mouse to move. Clear
13117 the echo area before exiting.
13118 (XMenuDestroy): Free the help_text member.
13119
ffe0bcd1
GM
131202000-01-27 Gerd Moellmann <gerd@gnu.org>
13121
13122 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
13123 XMenuAddSelection. Pass help callback to XMenuActivate.
13124 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
13125
50dbd23f
EZ
131262000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13127
13128 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
13129 and EMACS_SET_USECS.
13130
f5941bf8
GM
131312000-01-26 Dave Love <fx@gnu.org>
13132
6c67ddee
DL
13133 * editfns.c (Fchar_after, Fchar_before): Doc fix.
13134
f5941bf8
GM
13135 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
13136 an error may be signalled.
13137
9e49c990
GM
131382000-01-26 Gerd Moellmann <gerd@gnu.org>
13139
fc3cb460
GM
13140 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
13141 LD_SWITCH_SYSTEM inherited from irix5-0.h.
13142
9e49c990
GM
13143 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
13144
d0c037d8
GM
131452000-01-25 Gerd Moellmann <gerd@gnu.org>
13146
13147 * charset.c (Fstring): If there is a multibyte char among
13148 the args, always return a multibyte string.
13149
e12489f9
GM
131502000-01-25 Gerd Moellmann <gerd@gnu.org>
13151
13152 * sysdep.c (sys_select): Turn atimers off and on instead of
13153 recording and restoring old alarm handler
13154
13155 * process.c (toplevel): Include atimer.h.
13156 (create_process_1): Rewritten.
13157 (create_process): Use atimers instead of alarm.
13158 (wait_reading_process_input) [hpux]: Turn atimers off instead
13159 of turning off SIGALRM.
13160 (wait_reading_process_input): Turn off atimers instead off
13161 calling stop_polling.
13162
13163 * emacs.c (main): Call init_atimer.
13164
13165 * keyboard.c (toplevel): Include systime.h and atimer.h.
13166 (polling_for_input): Removed because unused.
13167 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
13168 (poll_timer): New variable.
13169 (poll_for_input, poll_for_input_1): New functions.
13170 (start_polling, stop_polling): Rewritten.
13171
13172 * keyboard.h (polling_for_input): Removed.
427ec082 13173
e12489f9
GM
13174 * atimer.h, atimer.c: New files.
13175
13176 * Makefile.in (obj): Add atimer.o.
13177 (atimer.o): New target.
13178
13179 * blockinput.h (pending_atimers): Add extern declaration.
13180 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
13181
13182 * lisp.h (popup_activated_flag): Add extern declaration.
13183
13184 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 13185 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
13186 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
13187
13188 * xterm.c (toplevel): Include atimer.h.
13189 (toolkit_scroll_bar_interaction): New variable.
13190 (Fxt_process_timeouts): Removed.
13191 (x_process_timeouts): New function.
13192 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
13193 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
13194 (x_make_frame_visible): Call poll_for_input_1 instead of
13195 input_poll_signal. Don't call alarm.
13196 (x_initialize): Install timer calling x_process_timeouts.
427ec082 13197
1e5279b9
DL
131982000-01-24 Dave Love <fx@gnu.org>
13199
6c67ddee 13200 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
13201 Don't use -cckr -- apparently not now necessary.
13202
edf6aeb8
EZ
132032000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
13204
13205 * msdos.c (IT_menu_display): Truncate long menu lines at the right
13206 screen boundary.
13207
9badad41
JR
132082000-01-23 Jason Rumney <jasonr@gnu.org>
13209
13210 * w32fns.c (w32_defined_color): Apply gamma correction before
13211 trying to map to the palette.
13212 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
13213 to w32_clear_rect.
13214
13215 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
13216 here. Callers changed to always pass real device context.
13217 (w32_draw_bitmap): Likewise.
13218 (w32_get_glyph_overhangs): Likewise.
52283633 13219 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
13220 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
13221 pfnSetScrollInfo and SetScrollRange.
13222 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
13223 back into MULE characters after decoding them.
13224 (x_get_glyph_face_and_encoding): Likewise.
13225 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
13226 GetCharABCWidthsW fails, since this is defined on Windows 9x.
13227 (x_produce_glyphs): Calculate per char metrics for a character
13228 that we know exists in default font when font_not_found_p is true.
13229
63bd786b
JR
132302000-01-22 Jason Rumney <jasonr@gnu.org>
13231
13232 * makefile.nt (intervals.obj, composite.obj): New modules.
13233 (composite.h): Added as dependency where appropriate.
13234
13235 * w32gui.h (XGCValue): New struct for emulating X GCs.
13236
13237 * w32term.h (XCharStruct): New struct for emulating X.
13238
13239 * w32console.c (turn_on_face, turn_off_face): New functions.
13240 (change_line_highlight): New prototype for new redisplay.
13241 (write_glyphs): Support multibyte text. Support faces.
13242
52283633 13243 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
13244
13245 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
13246 throughout. struct frame * in place of FRAME_PTR.
13247 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 13248 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
13249 (w32_get_arg): Renamed from x_get_arg.
13250 (Fx_file_dialog): New function.
13251 (w32_list_fonts): Check cache before asking system.
13252 (Vw32_enable_synthesized_fonts): New variable.
13253 (Vw32_enable_italics): Obsolete, removed.
13254
13255 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13256 Use SELECTED_FRAME macro.
13257
13258 * w32menu.c: Add skeleton support for help strings on menus.
13259 (add_menu_item): Native checkbox and radio support added, but not
13260 yet enabled due to bugs.
13261 (push_menu_item): Add parameters type, selection and help.
13262 Callers updated.
13263 Formatting changes to reduce unnecessary diffs with xmenu.c.
13264
13265 * w32select.c (Fw32_set_clipboard_data): Update call to
13266 find_charset_in_str.
13267
13268 * w32term.c: Complete rewrite for new redisplay based on new
13269 xterm.c with necessary sections merged back in from old w32term.c.
13270
6ffd3cf7 132712000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
13272
13273 * data.c (set_internal): Further fix in same criterion.
13274
6ffd3cf7 132752000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
13276
13277 * data.c (set_internal): Fix the criteria for whether
13278 to swap out the old cached binding.
13279
60af03f1
DL
132802000-01-19 Dave Love <fx@gnu.org>
13281
13282 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
13283
f9be074f
KH
132842000-01-18 Kenichi Handa <handa@etl.go.jp>
13285
13286 * regex.c (re_compile_fastmap): While checking a range table for
13287 `charset', skip flag bits for a character class correctly.
13288
52b8dbf9
GM
132892000-01-17 Gerd Moellmann <gerd@gnu.org>
13290
d36100c9
GM
13291 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
13292
52283633 13293 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
13294
13295 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 13296 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
13297
13298 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
13299 MENU_ITEMS_ITEM_.*.
13300 (MENU_ITEMS_ITEM_HELP): New enumerator.
13301 (push_menu_item): Add parameter HELP. Record help in menu_items.
13302 (single_menu_item, single_submenu, list_of_items): Call
13303 push_menu_item with new parameter.
13304 (single_submenu): Set help string in widget value.
13305 (menu_highlight_callback): New function.
13306 (set_frame_menubar): Call lw_create_widget with new
13307 parameter list.
13308 (xmenu_show, xdialog_show): Ditto.
13309
3139018f
GM
133102000-01-13 Gerd Moellmann <gerd@gnu.org>
13311
13312 * sound.c (Fplay_sound): Improve doc string.
13313
83c8f461
RS
133142000-01-11 Richard M. Stallman <rms@gnu.org>
13315
13316 * lisp.h (set_internal): Enter the new arg.
13317
13318 * eval.c (specbind): Record buffer-local variables specially,
13319 indicating which buffer's binding was saved.
13320 (unbind_to): Restore buffer-local variables specially
13321 in the proper buffer.
13322
13323 * data.c (set_internal): New arg BUF.
427ec082 13324
83c8f461
RS
13325 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
13326 * data.c (Fset): Pass new arg to set_internal.
13327 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 13328
1fab1775
GM
133292000-01-11 Gerd Moellmann <gerd@gnu.org>
13330
52283633 13331 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 13332
83c8f461 133332000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
13334
13335 * minibuf.c (Ftry_completion): Doc fix.
13336
7a85e4df
GM
133372000-01-11 Gerd Moellmann <gerd@gnu.org>
13338
13339 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
13340 vector, too.
13341
a970dae4
AS
133422000-01-11 Andreas Schwab <schwab@suse.de>
13343
13344 * coding.c (code_convert_region): Initialize total_skip.
13345
c65d14ee
DL
133462000-01-08 Dave Love <fx@gnu.org>
13347
13348 * eval.c (Fuser_variable_p): Check customizability too.
13349
834938d2
GM
133502000-01-07 Gerd Moellmann <gerd@gnu.org>
13351
13352 * minibuf.c (Fcompleting_read): Doc fix.
13353
e0303cd6
GM
133542000-01-05 Gerd Moellmann <gerd@gnu.org>
13355
8a26744b
GM
13356 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
13357 -L /usr/local/lib.
13358
e0303cd6
GM
13359 * xfns.c (x_create_im): New function to set IM and IC of a frame.
13360 Check that input style is supported before trying to create an
13361 IC for it.
13362 (x_window): Call x_create_im.
427ec082 13363
2e471eb5
GM
133642000-01-04 Gerd Moellmann <gerd@gnu.org>
13365
560a7bd2
GM
13366 * xfns.c (current_gif_memory_src): New variable.
13367 (gif_load): Record the address of the current memory source
13368 in current_gif_memory_src.
13369 (gif_read_from_memory): Use current_gif_memory_src.
13370
f9ee84a3
GM
13371 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
13372 macros statement form.
13373
d1299cde
GM
13374 * sound.c (struct sound): Renamed from struct sound_file.
13375 (struct sound): Add members `data' and `header_size'.
13376 (enum sound_attr): Add SOUND_DATA.
13377 (current_sound, current_sound_device): Variables renamed from
13378 sound_file and sound_device.
13379 (parse_sound): Parse :data.
13380 (parse_sound): Handle sound data in strings.
13381 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 13382 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
13383 needed header size.
13384 (wav_play, au_play): Play sounds from string data.
13385
2e471eb5
GM
13386 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
13387
13388 * lisp.h: Add prototype for allocate_string_data.
13389
52283633 13390 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
13391
13392 * alloc.c (mark_buffer): Remove code in #if 0.
13393 (gc_sweep): Ditto.
13394 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
13395 (strings_consed): New variable.
13396 (allocate_string): Set it.
13397 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
13398 (Fmemory_use_counts): Return strings_consed. Use Flist.
13399
13400 * alloc.c: General cleanup in comments etc. Remove conditional
13401 compilation for `standalone'.
13402
13403 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
13404
13405 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
13406 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
13407 (DONT_COPY_FLAG): Removed.
13408 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
13409 (struct sdata, struct sblock): New
13410 (struct string_block): Rewritten.
13411 (STRINGS_IN_STRING_BLOCK): New macro.
13412 (oldest_sblock, current_sblock, total_strings, total_free_strings)
13413 (large_sblocks, string_blocks, string_free_list): New variables.
13414 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
13415 (init_strings): Rewritten.
13416 (allocate_string, allocate_string_data, compact_small_strings)
13417 (free_large_strings, sweep_strings): New functions.
13418 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
13419 (struct string_block_head, current_string_block)
13420 (first_string_block, large_string_blocks, STRING_FULLSIZE)
13421 (STRING_PAD): Removed.
13422 (make_uninit_multibyte_string, make_pure_string): Rewritten.
13423 (Fgarbage_collect): Don't set mark bit in large strings.
13424 (mark_object): Mark strings differently. Mark symbol names
13425 differently.
13426 (survives_gc_p): Test marked strings differently.
427ec082 13427 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
13428 symbol names.
13429 (compact_strings): Removed.
13430
42608ba8
EZ
134312000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
13432
13433 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
13434 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
13435
e0a09e1a
KH
134362000-01-04 Kenichi Handa <handa@etl.go.jp>
13437
dd9f0750 13438 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 13439 in a non-empty buffer.
dd9f0750 13440
3c0f3b15 13441 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 13442
44cd3ae5
GM
134432000-01-03 Gerd Moellmann <gerd@gnu.org>
13444
13445 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
13446 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
13447
13448 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
13449
c182a70f
EZ
134502000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13451
13452 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
13453 need to test for MSDOS frames.
13454
24480d5b
EZ
134552000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13456
13457 * dosfns.c (unspecified_colors): Remove.
13458 (msdos_stdcolor_idx): Use global variables unspecified_fg and
13459 unspecified_bg.
13460 (msdos_stdcolor_name): Return strings for unspecified fore- and
13461 back-ground colors.
13462
13463 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 13464 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
13465 (tty_color_name): Return Lisp strings for unspecified fore- and
13466 back-ground colors.
13467 (Finternal_set_lisp_face_attribute): Remove the special treatment
13468 for Qunspecified_{f,b}g.
52283633 13469 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 13470
047f434a
GM
134712000-01-03 Gerd Moellmann <gerd@gnu.org>
13472
13473 * xdisp.c (reseat_at_next_visible_line_start): Position before
13474 newline only if ending up on a newline.
13475 (next_element_from_ellipsis): Return success. Handle case of
52283633 13476 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
13477 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
13478 returns 0.
13479
d684c676
EZ
134802000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13481
13482 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
13483 (Fcolor_supported_p): Renamed from face-color-supported-p.
13484
5fe1d139
EZ
134852000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13486
13487 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
13488 list of colors renamed to tty-defined-color-alist.
13489 (tty_color_name): Pass the frame to tty-color-by-index.
13490 (realize_tty_face): tty-color-alist is now a function which
13491 accepts the frame as argument.
13492
52283633 13493 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 13494
816be8b8
EZ
134952000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13496
13497 * term.c (insert_glyphs): Pass glyph, not &glyph, to
13498 encode_terminal_code.
13499
b635321e
EZ
135002000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13501
13502 * dispnew.c (mode_line_string): Support termcap frames as well.
13503
9b784e96
GM
135042000-01-01 Gerd Moellmann <gerd@gnu.org>
13505
27189709
GM
13506 * syntax.c (Fforward_word): Undo previous change.
13507
13508 * editfns.c (Fconstrain_to_field): Don't constrain if
13509 inhibit-field-text-motion is non-nil.
13510 (Fline_beginning_position): Undo previous change.
13511 (Fline_end_position): Ditto.
13512
13513 * syntax.c (Fforward_word): Notice field boundaries only if
13514 inhibit-field-text-motion is nil.
13515
13516 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
13517
13518 * editfns.c (Vinhibit_field_text_motion): New variable.
13519 (inhibit-field-text-motion): New DEFVAR_LISP.
13520 (Fline_beginning_position, Fline_end_position): Notice field
13521 boundaries only if inhibit-field-text-motion is nil.
13522
45158a91
GM
13523 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
13524 All calls adjusted.
13525 (x_build_heuristic_mask): Likewise.
13526 (xbm_load_image_from_file): Change error output.
13527 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
13528 (gif_load, gs_load, x_kill_gs_process): Ditto.
13529
9b784e96
GM
13530 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
13531 color indices when accessing raster pixels.
63cec32f
GM
13532 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
13533 one of :file or :data.
13534 (enum pbm_keyword_index): Add PBM_DATA.
13535 (pbm_format): Add :data.
13536 (pbm_image_p): Allow either :file or :data.
13537 (pbm_read_file): New function.
13538 (pbm_scan_number): Rewritten to read from string.
13539 (pbm_load): Support :data.
9b784e96 13540
2cb085db 13541See ChangeLog.8 for earlier changes.
6922b018
KH
13542
13543;; Local Variables:
49b3bd82 13544;; coding: iso-2022-7bit
6922b018 13545;; End:
2a34a036
GM
13546
13547 Copyright (C) 2001 Free Software Foundation, Inc.
13548 Copying and distribution of this file, with or without modification,
13549 are permitted provided the copyright notice and this notice are preserved.