*** empty log message ***
[bpt/emacs.git] / src / ChangeLog
CommitLineData
24db49fb
GM
12001-10-23 Gerd Moellmann <gerd@gnu.org>
2
3 * lread.c (syms_of_lread)<recursive-load-depth-limit>: Raise to
4 50.
5
f0487f05
EZ
62001-10-23 Andreas Schwab <schwab@suse.de>
7
8 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
9 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
10
f0a48a01
GM
112001-10-23 Gerd Moellmann <gerd@gnu.org>
12
13 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
14 REAL_END. Notice if cursor gets overwritten.
15 (notice_overwritten_cursor): Take X positions as parameters.
16 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
17 around call to x_draw_glyphs.
18
a50a10a0
PJ
192001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
20
21 * syntax.c: Fix argument names and usage.
22
23 * editfns.c: Fix argument names and usage.
24
25 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
26 `left', `max_width' and `max_height'.
27
8738febd
GM
282001-10-23 Gerd Moellmann <gerd@gnu.org>
29
30 * xdisp.c (display_line): For a tab continued to the next line,
31 set row's ends_in_middle_of_char_p.
32
653c329b
GM
332001-10-22 Gerd Moellmann <gerd@gnu.org>
34
35 * xdisp.c (display_line): Fix computation of continuation lines
36 width for TABs.
37
f958c5ac
PJ
382001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
39
7ba51063
PJ
40 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
41 `Qlaplace'.
42
f958c5ac
PJ
43 * fileio.c: Remove unused code.
44
eb360291
MB
452001-10-22 Miles Bader <miles@gnu.org>
46
47 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
48 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
49 Remove `DOC_STRINGS_IN_COMMENTS' cases.
50
98515cf0
JR
512001-10-21 Jason Rumney <jasonr@gnu.org>
52
53 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
54
93026d88
EZ
552001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
56
57 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
58 (Finsert_string): Avoid the multi-line string literals warning.
59
c9a95b79
MB
602001-10-22 Miles Bader <miles@gnu.org>
61
62 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
63 (Fdocumentation): Don't use it.
64 (syms_of_doc): Don't initialize it.
65
66 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
67 * print.c (Fwith_output_to_temp_buffer): Likewise.
68 * window.c (Fsave_window_excursion): Likewise.
69 * editfns.c (Fsave_excursion, Fsave_current_buffer)
70 (Fsave_restriction): Likewise.
71 * eval.c (Frun_hooks, Frun_hook_with_args)
72 (Frun_hook_with_args_until_failure)
73 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
74 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
75 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
76 (Funwind_protect, Fcondition_case): Likewise.
77 * coding.c (Ffind_operation_coding_system): Likewise.
78 * keyboard.c (Ftrack_mouse): Likewise.
79
a3b10252
MB
802001-10-21 Miles Bader <miles@gnu.org>
81
82 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
83 (Fmake_hash_table): Add usage: string to doc string.
84 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
85 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
86 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
87 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
88 (Fml_prefix_argument_loop): Likewise.
89
c6f73eec
PJ
902001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
91
888ebd13
PJ
92 * fileio.c (Finsert_file_contents): Remove unused variable
93 `gap_size'.
94
c6f73eec
PJ
95 * sysdep.c (init_sys_modes): Change doc-string comments to `new
96 style' [w/`doc:' keyword].
97
98 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
99 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
100 comments to `new style' [w/`doc:' keyword].
101
3cf3436e
JR
1022001-10-21 Jason Rumney <jasonr@gnu.org>
103
104 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
105
c169b8f1
JR
106 * w32term.c (remember_mouse_glyph): New function.
107 (w32_mouse_position): Use it.
108 (note_mouse_movement): If the mouse moved off the glyph, remember
109 its new position.
110
4fdd691b
JR
111 * w32term.h (struct w32_output): Correct spelling of x_compatible.
112 (w32_display_info): Add mouse_face_overlay.
113
c169b8f1
JR
114 * w32term.c (notice_overwritten_cursor): Renamed from
115 note_overwritten_text_cursor. Rewritten to take glyph widths into
116 account.
117 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
118 (fast_find_string_pos): New function.
119 (fast_find_position): Return the correct vpos. Add parameter
120 STOP. In the final row, stop before glyphs having STOP as object.
121 Don't consider glyphs that are not from a buffer.
122 (fast_find_position) [0]: Add a presumably more correct version
123 for after 21.1.
124 (expose_window_tree, expose_frame): Don't compute intersections here.
125 (expose_window): Do it here instead.
126 (expose_window_tree, expose_window, expose_line): Return 1 when
127 overwriting mouse-face.
128 (expose_window): If W is the window currently being updated, mark
129 the frame garbaged.
130 (expose_frame): If mouse-face was overwritten, redo it.
131 (x_use_underline_position_properties): New variable.
132 (syms_of_xterm): DEFVAR_BOOL it.
133 (x_draw_glyph_string): Add comment to use it in future.
134 (x_draw_glyph_string): Restore clipping after drawing box.
135 Fix a computation of the underline position.
136 (w32_get_glyph_string_clip_rect): Minor cleanup.
137 (x_fill_stretch_glyph_string): Remove an assertion.
138 (x_produce_glyphs): Don't convert multibyte characters
139 to unibyte characters in unibyte buffers.
140 (cursor_in_mouse_face_p): New function.
141 (x_draw_stretch_glyph_string): Use it to choose a different GC
142 when drawing a cursor within highlighted text. Don't draw
143 background again if it has already been drawn.
144 (x_draw_glyph_string_box): Don't draw a full-width
145 box just because the glyph row's full_width_p flag is set.
146 (x_draw_glyphs): Fix computation of rightmost x for
147 full-width rows.
148 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
149 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
150 change bottom shadow accordingly. Some cleanup.
151 (x_update_window_end): Handle overwritten mouse face
152 also for tool bar windows.
153 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
154 DRAW is DRAW_IMAGE_RAISED.
155 (clear_mouse_face): Return 1 if text with mouse face was
156 actually redrawn. Make the function static. Reset
157 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
158 optimize away highlighting if we pass over that same overlay again.
159 (note_mouse_highlight): Call mouse_face_overlay_overlaps
160 to detect a case where we have to highlight a different region
161 despite not having left the currently highlighted region.
162 Set mouse_face_overlay in the x_display_info. Avoid changing the
163 mouse pointer shape when show_mouse_face has already done it, or
164 there is no need. Handle mouse-face and help-echo in strings.
165 (glyph_rect): New function.
166 (w32_mouse_position): Use it to raise the threshold for mouse
167 movement event generation.
168 (w32_initialize_display_info): Initialize the x_display_info's
169 mouse_face_overlay.
170 (w32_set_vertical_scroll_bar): Don't clear a zero height
171 or width area.
172 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
173 a widget to zero height.
174
3cf3436e 175 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 176 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
177 equivalents in menu_items.
178 (w32_menu_show): Don't overwrite an item's name with its key
179 description in case the description is a multibyte string.
180 (single_submenu): Some cleanup.
181
182 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
183 (postprocess_image): New function.
184 (lookup_image): Call it for all image types except PostScript.
185 (x_kill_gs_process): Call postprocess_image.
186 (tiff_error_handler, tiff_warning_handler): New functions.
187 (tiff_load): Install them as handlers.
188 (x_kill_gs_process): Recognize if someone has cleared the image
189 cache under us.
190 (valid_image_p): Protect better against invalid image
191 specifications. Previous code could signal an error.
192 (Fx_hide_tip, Fshow_tip): Doc fix.
193 (Fv_max_tooltip_size): New variable.
194 (syns_of_xfns): DEFVAR_LISP it.
195 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
196 window buffer to *tip* right after creating the frame. Set frame's
197 window_width. Use a maximum tooltip size specified by
198 Vx_max_tooltip_size, if that has valid contents.
199 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
200 Make sure the tooltip is completely visible.
201 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
202 (Fx_create_frame): Adjust the frame's height for presence
203 of the tool bar before calling x_figure_window_size.
204 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
205 when the window gets smaller.
206 (x_set_foreground_color): Set frame's cursor_pixel.
207 (x_set_foreground_color, x_set_background_color): Cleaned up.
208 (x_set_font): Handle case of x_new_fontset returning the same name
209 as before, although there was a change in fontsets.
210
386ca361
MB
2112001-10-21 Miles Bader <miles@gnu.org>
212
213 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
214 (Flogxor): Add usage: string to doc string.
215 * charset.c (Fstring): Likewise.
216 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
217 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
218
14ff1ee0
PJ
2192001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
220
03be2694
PJ
221 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
222
223 * alloc.c: Reindent DEFUNs with doc: keywords.
224
225 * abbrev.c (Finsert_abbrev_table_description): Reindent.
226
14ff1ee0
PJ
227 * frame.c: Change doc-string comments to `new style' [w/`doc:'
228 keyword].
229
71431a0e
GM
2302001-10-20 Gerd Moellmann <gerd@gnu.org>
231
6aa97356 232 * (Version 21.1 released.)
71431a0e 233
39f624fa
PJ
2342001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
235
c0a53abb
PJ
236 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes
237 removed.
238
239 * xdisp.c (invisible_text_between_p): Put prototype inside #if
240 0 because unused.
241
242 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
fdb82f93 243 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c: Change
c0a53abb 244 doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 245
abcce93a
MB
2462001-10-20 Miles Bader <miles@gnu.org>
247
248 The following changes remove the glyph_row `inverse_p' field,
249 which is never set anymore, due to other changes:
250
251 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
252 (reassert_line_highlight, change_line_highlight): Declarations removed.
253 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
254 (line_hash_code, row_equal_p, fake_current_matrices)
255 (build_frame_matrix_from_leaf_window, update_frame_line)
256 (update_frame_line, update_frame_line, update_frame_line):
257 Don't use `inverse_p' field.
258 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
259 change_line_highlight_hook.
260 (XTreassert_line_highlight, x_change_line_highlight):
261 Functions removed.
262 (x_fix_overlapping_area, x_write_glyphs, expose_area)
263 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
264 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
265 `inverse_p' field.
266 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
267 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
268 (w32_reassert_line_highlight, x_change_line_highlight):
269 Functions removed.
270 * w32console.c (reassert_line_highlight, change_line_highlight):
271 Functions removed.
272 (initialize_w32_display): Don't set reassert_line_highlight_hook
273 or change_line_highlight_hook.
274 (hl_mode): Function removed.
275 (reset_terminal_modes, set_terminal_modes, update_begin)
276 (update_end, w32_face_attributes, initialize_w32_display):
277 (clear_frame, ins_del_lines): Don't call it.
278 * termhooks.h (reassert_line_highlight_hook)
279 (change_line_highlight_hook): Declarations removed.
280 * term.c (reassert_line_highlight_hook)
281 (change_line_highlight_hook): Variables removed.
282 (reassert_line_highlight, change_line_highlight): Functions removed.
283 * msdos.c (IT_reassert_line_highlight)
284 (IT_change_line_highlight): Functions removed.
285 (internal_terminal_init): Don't set reassert_line_highlight_hook
286 or change_line_highlight_hook.
287 (highlight): Variable removed.
288 (IT_set_face, IT_update_begin, IT_update_end)
289 (IT_set_terminal_modes): Don't set or use it.
290
291 The following changes remove inverse-video support for terminals
292 that use a `magic cookie' standout mode. Due to changes in the
293 way mode-lines are displayed, such support no longer works
294 anyway, and it's probable that almost no one uses such terminals
295 anymore:
296
297 * term.c (standout_requested): Variable removed.
298 (update_end, highlight_if_desired): Don't use it.
299 (chars_wasted, copybuf): Variables removed.
300 (write_standout_marker): Function removed.
301 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
302 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
303 Don't use `chars_wasted' or `copybuf'.
304 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
305 Set `costs_set' to true.
306 (cursor_to, clear_end_of_line): Test `costs_set' instead of
307 `chars_wasted'.
308 (clear_end_of_line): Function removed.
309 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
310 (clear_to_end): Call `clear_end_of_line' instead of
311 `clear_end_of_line_raw'.
54800acb
MB
312 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
313 (term_init): Don't set them.
314 Turn off any standout/underline modes that require magic cookies.
315 (ins_del_lines, highlight_if_desired, background_highlight)
316 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
317 Remove special processing for magic-cookie standout modes.
318 (turn_off_face, turn_on_face): Remove special processing for
319 underline magic-cookie glitch.
abcce93a 320
0b5f679f
RS
3212001-10-19 Richard M. Stallman <rms@gnu.org>
322
323 * eval.c (syms_of_eval): Doc fixes.
324
5a4a5bd4
GM
3252001-10-19 Gerd Moellmann <gerd@gnu.org>
326
327 * xdisp.c (redisplay_internal): Don't clear echo area if the
328 mini-window is selected.
329
79f1f96c
MB
3302001-10-19 Miles Bader <miles@gnu.org>
331
b57c2708
MB
332 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
333 doesn't take precedence if the affected property's value is nil.
334
335 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
336
79f1f96c
MB
337 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
338 with fields and suggest using `forward-line' to avoid them.
339 * editfns.c (Fline_beginning_position, Fline_end_position):
340 Clarify documentation.
341
ef879104
SM
3422001-10-18 Stefan Monnier <monnier@cs.yale.edu>
343
344 * keymap.c (current_minor_maps): `override' only shadows its
345 correspondent in minor-mode-map-alist, not the whole tail.
346
97f4db8c
AI
3472001-10-18 Andrew Innes <andrewi@gnu.org>
348
349 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
350 optimization. The fontp->encoding array was not being initialized
351 correctly when compiled with optimizations by MSVC.
352
e6b70fd8
GM
3532001-10-18 Gerd Moellmann <gerd@gnu.org>
354
30903479 355 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 356
0e804d38
AI
3572001-10-17 Andrew Innes <andrewi@gnu.org>
358
359 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
360
361 * w32fns.c (w32_load_system_font): Cache codepage for font, in
362 font_info.charset field.
363
364 * w32term.c (w32_encode_char): Get cached codepage from font_info,
365 rather than working it out by calling w32_codepage_for_font for
366 every glyph.
367
66e5868a
AI
3682001-10-17 Andrew Innes <andrewi@gnu.org>
369
370 * w32term.c (w32_read_socket): Determine clipping rectangle for
371 the entire frame, including areas covered by scrollbars and the
372 menubar. This avoids internal arguments about whether a frame is
373 fully obscured or not.
374
15b00083
GM
3752001-10-17 Gerd Moellmann <gerd@gnu.org>
376
23e8bd86
GM
377 * xdisp.c (try_window_id): Undo last change. Give up if
378 window ends in strings.
30903479 379
9c6ba6d1 380 * xdisp.c (try_window_id): Don't display lines after the window
30903479 381 end if the rest of the window after the window end was already blank.
23e8bd86 382
30903479 383 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
384 for the release of 21.1.
385
30903479 386 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 387
945220bd
MB
3882001-10-17 Miles Bader <miles@gnu.org>
389
390 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
391 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
392 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
393 Change doc-string comments to `new style' [w/`doc:' keyword].
394 (DOC_STRINGS_IN_COMMENTS): Macro removed.
395 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
396 out make-docfile.
397
14242528
MB
3982001-10-16 Miles Bader <miles@gnu.org>
399
400 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
401
3ddf952f
GM
4022001-10-16 Gerd Moellmann <gerd@gnu.org>
403
404 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
405 *scratch*.
406
f3fbd155
KR
4072001-10-16 Ken Raeburn <raeburn@gnu.org>
408
409 Avoid the assumption that car and cdr slots of cons cells are
410 addressable lvalues; this allows for easier experimentation with
411 other lisp implementations that may not permit such accesses for
412 various reasons. Not quite complete -- buffer.c still needs some
413 work, and w32/mac files need rechecking -- so compile-time
414 enforcement is left disabled for now.
415
416 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 417 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
418 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
419 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
420 (XSETCAR, XSETCDR): New macros.
421 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
422 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
423 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
424 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
425 XSETCDR.
426 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
427 * buffer.c (record_buffer, Fbury_buffer)
428 (swap_out_buffer_local_variables, recenter_overlay_lists)
429 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
430 fields of a cons cell respectively.
431 * callint.c (quotify_args, Fcall_interactively): Likewise.
432 * ccl.c (Fregister_code_conversion_map): Likewise.
433 * coding.c (detect_coding_system): Likewise.
434 * composite.c (get_composition_id, make_composition_value_copy):
435 Likewise.
30903479
SM
436 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
437 (swap_in_symval_forwarding, set_internal, Fset_default)
438 (Fmake_variable_buffer_local, Fmake_local_variable)
439 (Fmake_variable_frame_local): Likewise.
f3fbd155 440 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479
SM
441 * keymap.c (Fset_keymap_parent, store_in_keymap)
442 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap):
f3fbd155
KR
443 Likewise.
444 * minibuf.c (get_minibuffer): Likewise.
445 * search.c (Fmatch_data): Likewise.
446 * textprop.c (extend_property_ranges): Likewise.
447 * undo.c (record_insert, Fundo_boundary, truncate_undo_list):
448 Likewise.
449 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
450 Likewise.
451 * w32term.c (x_delete_display): Likewise.
452 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
453 Likewise.
454 * xterm.c (x_list_fonts, x_load_font, x_delete_display):
455 Likewise.
456 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 457 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
458 (Fread_file_name): Use XSETCAR.
459 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
460 CHECK_NUMBER_CDR.
461 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
462 * frame.c (Fmake_terminal_frame): Use XSETCDR.
463 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
464 CHECK_NUMBER_CDR.
465 * keyboard.c (read_char): Alter list traversal to avoid taking the
466 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
467 (parse_menu_item): Use XSETCAR and XSETCDR.
468 (reach_char_x_menu_prompt): Use XSETCAR.
469 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
470 (Fcommand_execute): Use XSETCDR.
471 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
472 (openp): Change list traversal to avoid using XCAR as lvalue.
473 (read_list): Use XSETCDR.
474 * process.c (wait_reading_process_input): Change wait_for_cell
475 handling to avoid taking addresses of cons cell slots.
30903479
SM
476 * xselect.c (x_own_selection, x_handle_selection_clear)
477 (x_clear_frame_selections): Use XSETCDR.
478 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
479 (x_handle_property_notify, x_get_foreign_selection)
480 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 481
502150e5
PJ
4822001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
483
018ba359
PJ
484 * buffer.c: Put doc strings in comments.
485
30903479 486 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 487
b56ba8de
SS
4882001-10-15 Sam Steingold <sds@gnu.org>
489
490 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
491
6a0b793a
PJ
4922001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
493
30903479
SM
494 * process.c (process-inherit-coding-system-flag)
495 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
496 in comment.
497
a1f17501 498 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 499 arguments. Put doc strings in comments.
a65da641
PJ
500
501 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 502
aa601ad0
GM
5032001-10-15 Gerd Moellmann <gerd@gnu.org>
504
30903479 505 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 506
aa601ad0
GM
507 * window.c (select_window_1): Unfreeze window start. Remove a
508 doubled test for WINDOW being live.
509
288148a1
PJ
5102001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
511
dd8d1e71
PJ
512 * fns.c (Fmapconcat): Fix typo in a doc string.
513
288148a1
PJ
514 * dispnew.c (Fsleep_for): Fix typo in a doc string.
515
9f5eb4a3
GM
5162001-10-15 Gerd Moellmann <gerd@gnu.org>
517
518 * xterm.c (x_draw_glyph_string): Restore clipping after
519 drawing box.
520
dbae44c8
PJ
5212001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
522
30903479 523 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 524
0c88c937
SM
5252001-10-14 Stefan Monnier <monnier@cs.yale.edu>
526
56378db4
GM
527 * indent.c (skip_invisible): Use new retval of
528 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 529
845e4cf4
SM
530 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
531 If a parent is reached and noinherit is set, exit immediately.
532 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
533
0c88c937
SM
534 * s/ms-w32.h (EXEC_SUFFIXES):
535 * s/msdos.h (EXEC_SUFFIXES):
536 * process.h (EXEC_SUFFIXES): Remove.
537
538 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
539 (decode_suffixes): Remove.
540
541 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
542 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
543 (invisible_ellipsis_p): Remove.
0c88c937
SM
544
545 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
546 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
547 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
548 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
549 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 550
d19be8a9
PJ
5512001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
552
04d7d066
PJ
553 * lisp.h (Ftop_level): Add prototype.
554
d624284c
PJ
555 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
556 (XTread_socket): Improve style of comments to follow other
557 comments.
558
a87414f9
PJ
559 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
560 is already prototyped in included lisp.h).
561
d19be8a9
PJ
562 * frame.c (Fset_mouse_position): Improve style of comment to
563 follow other comments.
564 (Fset_mouse_pixel_position): Improve style of comment to follow
565 other comments.
566 (Fmake_frame_visible): Doc fix and typo in comment.
567 (Fmake_frame_invisible): Doc fix and typo in comment.
568 (Ficonify_frame): Fix typo in comment.
569
c061c855
GM
5702001-10-14 Gerd Moellmann <gerd@gnu.org>
571
37f6b5b6 572 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 573 * term.c, alloc.c: Put doc strings in comments.
c061c855 574
e641b454
GM
5752001-10-13 Gerd Moellmann <gerd@gnu.org>
576
577 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
578 Provide definitions for doc strings in comments.
579
580 * fns.c: Put doc strings in comments.
581
51724e26
EZ
5822001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
583
584 * dired.c (file_name_completion): Ignore a candidate directory if
585 it matches an element in completion-ignored-extensions that ends
586 in a slash.
587 (syms_of_dired) <completion-ignored-extensions>: Mention the above
588 feature in the doc string.
589 (Ffile_name_completion): Ditto.
590
be5fc59b
SM
5912001-10-12 Stefan Monnier <monnier@cs.yale.edu>
592
5a1373f3
SM
593 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
594
595 * xfns.c (syms_of_xfns): Update calls to Fprovide.
596
597 * lisp.h (Fprovide): Update prototype.
598 (Ffeaturep, invisible_p): Remove.
599
bbc4a3d3 600 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
601 (DOLIST, LOOP_PROPVAL): New macros.
602 (invisible_p, invisible_ellipsis_p): Use them.
603 (invisible_noellipsis_p): New function.
604 (syms_of_xdisp): Use empty_string.
605
606 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
607
608 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
609 (syms_of_lread) <Vafter_load_alist>: Update docstring.
610
611 * print.c (Fwith_output_to_temp_buffer): Align with
612 internal_with_output_to_temp_buffer.
613 (print_preprocess): Use traverse_intervals_noorder.
614 (print_object): Update call to traverse_intervals.
615
616 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
617 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
618
619 * intervals.c (traverse_intervals_noorder): New function.
620 (search_for_interval, count_intervals): Use it.
621 (traverse_intervals): Use less stack space and drop `depth' arg.
622
623 * fns.c (Ffeaturep): Add new `subfeature' arg.
624 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
625 (Qsubfeatures): New var.
626 (syms_of_fns): Initialize it.
627
026f408d
SM
628 * keymap.c (Fkey_description): Use empty_string.
629 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
630 (syms_of_keymap): Setup inheritance between maps.
631 Don't export Sdescribe_bindings_internal any more.
632
be5fc59b
SM
633 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
634
3365175e
GM
6352001-10-12 Gerd Moellmann <gerd@gnu.org>
636
637 * xterm.c (notice_overwritten_cursor): Renamed from
638 note_overwritten_text_cursor. Rewritten to take glyph widths into
639 account.
640
2ab7765c
EZ
6412001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
642
643 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
644 multi-line strings without a trailing "\n\".
645
311346bb
PJ
6462001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
647
648 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
649 defined.
650
2168e04d
SM
6512001-10-11 Stefan Monnier <monnier@cs.yale.edu>
652
026f408d
SM
653 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
654
c0ec53ad
SM
655 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
656 * w32proc.c (sys_spawnve):
657 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
658 * w32.c (check_windows_init_file):
659 * sound.c (Fplay_sound):
026f408d 660 * emacs.c (init_cmdargs):
c0ec53ad
SM
661 * process.c (Fstart_process): Update calls to openp.
662
663 * callproc.c (Vexec_suffixes): New var.
664 (Fcall_process): Update call to openp.
665 (decode_suffixes): New function.
666 (syms_of_callproc): Init exec-suffixes.
667
668 * lread.c (Vload_suffixes, default_suffixes): New vars.
669 (openp): Take a lisp list of suffixes.
670 Check for file-name-handlers even if the file was absolute already.
671 (syms_of_lread): Declare load-suffixes.
672 (Fload): Fix up call to openp.
673 Don't bother checking for file-name-handler at the very beginning.
674
f6333468
SM
675 * keymap.h (Fcopy_keymap): Don't export.
676
677 * lisp.h (empty_string): Declare.
c0ec53ad
SM
678 (Vload_suffixes, Vexec_suffixes): Declare.
679 (openp): Update prototype.
f6333468
SM
680
681 * emacs.c (empty_string): New var.
682 (syms_of_emacs): Initialize it.
683
684 * search.c (wordify): Use it.
685
686 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
687 selected window if it's not displayed there. Handle the case
688 when the window is dedicated.
689 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
690
691 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
692
2168e04d
SM
693 * syntax.h (struct gl_state_s): Change the meaning of b_property.
694 Remove left_ok and right_ok.
695 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
696 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
697 new meaning of b_property.
698
699 * syntax.c (update_syntax_table): Simplify.
700 (Fforward_comment): Don't skip quoted chars when going backward.
701
13d95cc0
GM
7022001-10-11 Gerd Moellmann <gerd@gnu.org>
703
beb0990f
GM
704 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
705 in case I is of some unsigned type, in which case
706 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
707 comparison becomes bogus.
708
cb938d46
GM
709 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
710 (Fuser_full_name): Fix bug treating a float as a fixnum.
711
712 * data.c (Fstring_to_number): Use make_fixnum_or_float.
713
714 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 715
13d95cc0
GM
716 * lisp.h (circular_list_error): Add prototype.
717
718 * data.c (Qcircular_list): New variable.
719 (circular_list_error): New function.
720 (syms_of_data): Initialize it Qcircular_list.
721
e35f6ff7
SM
7222001-10-10 Stefan Monnier <monnier@cs.yale.edu>
723
724 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
725 casefiddle.c, buffer.c: Include keymap.h.
726
619632ac
GM
7272001-10-10 Gerd Moellmann <gerd@gnu.org>
728
729 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
730 options. From Dave Love <d.love@dl.ac.uk>.
731
5e5388f6
GM
7322001-10-09 Gerd Moellmann <gerd@gnu.org>
733
734 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
735 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
736
14a3dff7
GM
737 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
738 unsigned char.
739 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 740
76ba8daf
AI
7412001-10-08 Andrew Innes <andrewi@gnu.org>
742
743 * lisp.h [max]: Undef min and max before redefining them.
744
745 * w32gui.h: Do not undef min and max.
746
747 * w32heap.h: Do not undef min and max.
748
749 * s/ms-w32.h: Do not undef min and max.
750
166253cb
SM
7512001-10-08 Stefan Monnier <monnier@cs.yale.edu>
752
753 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
754
0c4d9527
SS
7552001-10-08 Sam Steingold <sds@gnu.org>
756
757 * keymap.c (current-active-maps): Quote newlines (compilation error).
758
14bfa771
EZ
7592001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
760
761 * Makefile.in (lisp, shortlisp): Replace bindings.el with
762 bindings.elc, since otherwise doc strings in bindings.el get wrong
763 offsets in etc/DOC.
764
bdb7aa47
SM
7652001-10-08 Stefan Monnier <monnier@cs.yale.edu>
766
9985827f
SM
767 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
768
769 * keyboard.h (map_prompt): Remove.
770
771 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 772 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 773
bdb7aa47
SM
774 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
775
776 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
777
778 * keyboard.c (map_prompt): Remove.
779 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
780 Use Fkeymap_prompt.
781
782 * keymap.h: New file. Extracted from lisp.h.
783
9985827f
SM
784 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
785 (accessible_keymaps_1): New function.
786 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
787 (Fwhere_is_internal): Use Fcurrent_active_maps.
788 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
789 Insert in current buffer rather than standard-output.
790 Don't call `help-mode'. Export to elisp.
791 (describe_buffer_bindings): New wrapper.
792 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
793 and Sdescribe_buffer_bindings.
794
402c9a51
GM
7952001-10-08 Gerd Moellmann <gerd@gnu.org>
796
9985827f 797 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
798 Remove code setting signal handler.
799
9985827f 800 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
801 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
802
3fe81fdf
PJ
8032001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
804
805 * keyboard.c: Don't define min/max.
806
55fa7820
GM
8072001-10-08 Gerd Moellmann <gerd@gnu.org>
808
9985827f 809 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 810 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 811 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 812 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 813 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
814 Don't define min/max.
815
816 * lisp.h (min, max): New macros.
817
55fa7820
GM
818 * puresize.h (BASE_PURESIZE): Increase to 725000.
819
1aad31e4
PJ
8202001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
821
9180dc8c
PJ
822 * xfaces.c (free_frame_menubar): Add prototype.
823
01f67d2c
PJ
824 * lisp.h (init_window): Add prototype.
825
826 * editfns.c: Include ctype.h.
827
828 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 829 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
830 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
831 variable `sb'.
832
5f351ff1
PJ
833 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
834 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
835 `popup_activated_flag' and `title'.
836
479dfe87
PJ
837 * doc.c (Fdocumentation_property): Fix typo in a doc string.
838
dff49fc8
PJ
839 * emacs.c (main): Remove extra `;'.
840
248ac615
PJ
841 * atimer.h (struct atimer): Fix typos in a comment.
842
843 * atimer.c: Fix typo.
844
af232c7d
PJ
845 * Makefile.in: Fix typo.
846
847 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 848
d876f455
MB
8492001-10-07 Miles Bader <miles@gnu.org>
850
851 * Makefile.in (lisp, shortlisp): Add `button.elc'.
852
0037e2f2
KR
8532001-10-07 Ken Raeburn <raeburn@gnu.org>
854
b056f36d
KR
855 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
856 Lisp_Object.
857
0037e2f2
KR
858 * lisp.h (Ffield_end): Declare.
859
1a4372ef
GM
8602001-10-07 Gerd Moellmann <gerd@gnu.org>
861
a4a74e8c
GM
862 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
863
864 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
865
866 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
867
868 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
869
1a4372ef
GM
870 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
871 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
872
873 * alloc.c (inhibit_garbage_collection): Simplify.
874 (Fmemory_use_counts): Ditto.
875
9985827f 876 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
877 (syms_of_data): DEFVAR_INT most-positive-fixnum and
878 most-negative-fixnum.
879
9985827f 880 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
881 (FIXNUM_OVERFLOW_P): New macros.
882
4650e362
MB
8832001-10-06 Miles Bader <miles@gnu.org>
884
885 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
886 scroll_bar_bottom_shadow_pixel fields.
887 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
888 for the shadows, and tell the toolkit about them if we succeed.
889 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
890 Free scroll-bar shadow colors.
891 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
892 Free scroll-bar shadow colors when the background color changes.
893 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
894 Initialize scroll-bar shadow-color fields.
895
ace64e0a
GM
8962001-10-05 Gerd Moellmann <gerd@gnu.org>
897
898 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
899
ec66bdc7
MB
9002001-10-05 Miles Bader <miles@gnu.org>
901
9985827f
SM
902 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
903 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 904 New functions (were in simple.el).
9985827f 905 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
906 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
907 (syms_of_minibuf): Initialize them.
908
a0fb4492
GM
9092001-10-05 Gerd Moellmann <gerd@gnu.org>
910
911 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
912 (tiff_load): Install them as error and warning handler.
913
0bcf87c1
AI
9142001-10-04 Andrew Innes <andrewi@gnu.org>
915
916 * w32fns.c (x_to_w32_color): Fix argument to alloca.
917 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 918 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
919 (x_to_w32_charset): Handle private format for unknown charsets.
920 Handle wildcards in charset spec, by ignoring them.
921 (w32_codepage_for_font): Fix argument to alloca. Don't remove
922 "*-" prefix from charset.
923 (x_to_w32_font): Enlarge remainder array for safety. Specifically
924 handle the truncated font spec form constructed by font_list_1, so
925 that we correctly identify the charset fields. Don't remove "*-"
926 prefix from charset.
927 (w32_list_synthesized_fonts): Fix argument to alloca.
928
c89e4bc5
GM
9292001-10-04 Stefan Monnier <monnier@cs.yale.edu>
930
931 * window.h (MINI_WINDOW_P): Use NILP.
932
933 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
934
935 * termhooks.h (struct input_event): Use proper type for `kind'.
936
9372001-10-04 Gerd Moellmann <gerd@gnu.org>
938
939 This handles unknown keysyms better than before. For example,
940 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
941 Emacs formerly completely ignored F5. With the change, it derives
942 a key symbol from the name of the X keysym, `ccaron' in this case.
943 Reported by Martin Buchholz.
944
945 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
946 unknown keysyms.
947
948 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
949 that EVENT->code isn't a function key, use the keysym's name.
950
9512001-10-04 Gerd Moellmann <gerd@gnu.org>
952
953 FOREACH is a macro that should make it easier to loop over Lisp
954 lists with checks for cycles and proper lists.
955
956 * lisp.h (LIST_END_P, FOREACH): New macros.
957
9582001-10-04 Gerd Moellmann <gerd@gnu.org>
959
960 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
961 called for a lost connection. Prevent dumping core in this case.
962 Instead print the X error, and exit. On user request.
963
964 * xterm.c (error_msg): New variable.
965 (x_fatal_error_signal): New function.
966 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
967 as fatal_error_signal_hook around the call to XtCloseDisplay.
968
969 * emacs.c (fatal_error_signal_hook): New variable.
970 (fatal_error_signal): Call that function.
971
9722001-10-04 Gerd Moellmann <gerd@gnu.org>
973
974 With this, Emacs prints how much pure storage it will
975 approximately need in case pure storage overflows while dumping.
976
977 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
978 New variables.
979 (init_alloc_once): Initialize new variables.
980 (PURE_POINTER_P): Use new variables.
981 (pure_alloc): If pure storage overflows, allocate from the heap.
982 (check_pure_size): New function.
983 (Fgarbage_collect): Don't GC if pure storage has overflowed.
984
985 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
986 (check_pure_size): Add prototype.
987
988 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
989
9902001-10-04 Gerd Moellmann <gerd@gnu.org>
991
992 This adds a post-gc-hook that's run with GC inhibited.
993 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
994
995 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
996 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
997 (Fgarbage_collect): Run post-gc-hook.
998
9992001-10-04 Gerd Moellmann <gerd@gnu.org>
1000
1001 This adds `defvaralias' and `indirect-variable'. Changes not
1002 directly related to this feature are there to gain the same
1003 performance again as before variable aliases.
1004
1005 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
1006 code to get and set symbol values, to take defvaralias into account.
1007
1008 (Note: the new `constant' bit-flag in symbols would make it
1009 possible to define arbitrary read-only variables, e.g. with
1010 `defconst'.)
1011
1012 Documentation is in lispref/variables.texi. Added to NEWS.
1013
1014 * lisp.h (enum symbol_interned): New enumeration.
1015 (struct Lisp_Symbol): Remove member `obarray', add
1016 `indirect_variable', `constant', and `interned'.
1017 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
1018 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
1019 (indirect_variable): Add prototype.
1020
1021 * print.c (print_preprocess, print_object): Test internedness of
1022 symbols differently.
1023
1024 * lread.c (Fintern, Funintern): Set symbol's interned and constant
1025 bit-fields.
1026 (init_obarray): Likewise for t and nil.
1027
1028 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1029 (Fdefvaralias): New function.
1030 (specbind): Simplify the test if symbol is a constant.
1031 (syms_of_eval): Defsubr Fdefvaralias.
1032
1033 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1034 (Qcyclic_variable_indirection): New variable.
1035 (Fkeywordp): Check for internedness differently.
1036 (Fmakunbound): Simplify the test if symbol is a constant.
1037 (indirect_variable, Findirect_variable): New functions.
1038 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
1039 aliased symbol.
1040 (let_shadows_buffer_binding_p): Check for variable aliases.
1041 (set_internal): Simplify the test if SYMBOL is a constant.
1042 If SYMBOL has a buffer-local value and is an alias, use the aliased
1043 symbol instead.
1044 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
1045 Sindirect_variable.
1046
1047 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
1048 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
1049 set directly.
1050
1051 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
1052
1053 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
1054 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
1055 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
1056
ab952a4f
GM
10572001-10-04 Gerd Moellmann <gerd@gnu.org>
1058
1059 * Branch for 21.1.
b56ba8de 1060
ba88ff28
MB
10612001-10-03 Miles Bader <miles@gnu.org>
1062
1063 * callproc.c (syms_of_callproc): Explicitly state in the
1064 documentation for `process-environment' that earlier entries take
1065 precedence over later ones.
1066
ae1a9581
MB
10672001-10-02 Miles Bader <miles@gnu.org>
1068
1069 * textprop.c (Fnext_char_property_change)
1070 (Fprevious_char_property_change): Remove reference to non-existant
1071 argument OBJECT from doc-string.
1072
257e3f57
GM
10732001-10-01 Gerd Moellmann <gerd@gnu.org>
1074
1075 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
1076 (try_window_id): Skip back over lines ending in a newline from a
1077 string.
1078
1079 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
1080 New bit flag
1081
c1f29759
RS
10822001-10-01 Richard M. Stallman <rms@gnu.org>
1083
1084 * search.c (Freplace_match): Doc fix.
1085
c30dce3d
AI
10862001-09-28 Andrew Innes <andrewi@gnu.org>
1087
1088 * w32menu.c (set_frame_menubar): Take into account that
1089 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
1090 <raeburn@gnu.org>.
1091
03be5931
EZ
10922001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
1093
1094 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
1095
75bec752
PJ
10962001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1097
1098 * s/gnu-linux.h: Fix a typo in comment.
1099
83100e0a
AS
11002001-09-28 Andreas Schwab <schwab@suse.de>
1101
1102 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
1103 nocombreloc, in case -z combreloc is the default.
1104
a74b48cf
GM
11052001-09-28 Gerd Moellmann <gerd@gnu.org>
1106
1107 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
1108 really going on here.
1109
09c4719e
SM
11102001-09-27 Stefan Monnier <monnier@cs.yale.edu>
1111
1112 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
1113
f7d5d963
EZ
11142001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
1115
1116 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
1117 utf-8, menu-bar, and latin-N.
1118 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
1119 unconditionally now.
1120 (lisp): Add latin-N, since they are preloaded.
1121
9240e746
GM
11222001-09-27 Gerd Moellmann <gerd@gnu.org>
1123
14531065
GM
1124 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
1125 to the left. Some cleanup.
1126
9240e746
GM
1127 * xdisp.c (display_mode_element): One more case where a string's
1128 multibyteness should be used for display.
1129
edd1e654
GM
11302001-09-26 Gerd Moellmann <gerd@gnu.org>
1131
b02439c8
GM
1132 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
1133 reading at EOF.
1134
032906b1 1135 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 1136 of the only temporarily set echoing flag for deciding when
032906b1
GM
1137 the cancel echoing.
1138
1139 * keyboard.c (echo_kboard): Make externally visible.
1140
1141 * lisp.h (echo_kboard): Declare extern.
1142
cb617e7c 1143 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 1144 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
1145 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
1146 this round of redisplay if make_cursor_line_fully_visible fails.
1147 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 1148 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
1149
1150 * dispextern.h (required_matrix_width, required_matrix_height):
1151 Add prototypes.
1152
09c4719e
SM
1153 * dispnew.c (required_matrix_width, required_matrix_height):
1154 New functions.
cb617e7c 1155 (allocate_matrices_for_window_redisplay)
09c4719e
SM
1156 (allocate_matrices_for_frame_redisplay: Use them.
1157 Remove parameters CH_DIM.
cb617e7c 1158
edd1e654
GM
1159 * xdisp.c (display_mode_lines): Temporarily set selected_frame
1160 and selected_window to the frame of the window whose mode-lines
1161 are displayed, and to the window itself.
1162 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 1163 here.
edd1e654 1164
924b604c
GM
11652001-09-25 Gerd Moellmann <gerd@gnu.org>
1166
daba7643
GM
1167 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
1168 the image cache under us.
1169
b7a22712 1170 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 1171 with a string value, use that string's multibyteness for displaying.
b7a22712 1172
ad648212
GM
1173 * keyboard.c (read_char): Don't clear a message for a switch-frame
1174 event. From Stefan Monnier <monnier@cs.yale.edu>.
1175
9f8531e5
GM
1176 * xterm.c (fast_find_position) [0]: Add a presumably more correct
1177 version for after 21.1.
1178
1179 * xdisp.c (row_containing_pos): Make externally visible.
1180
1181 * dispextern.h (row_containing_pos): Add prototype.
1182
924b604c
GM
1183 * process.c (send_process): Disable composition if from_byte < 0.
1184 From Kenichi Handa <handa@etl.go.jp>.
1185
6f3f0db4
GM
11862001-09-24 Gerd Moellmann <gerd@gnu.org>
1187
c69c0ebc
GM
1188 * xterm.c (refreshicon): Function removed.
1189
d1182bc4
GM
1190 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
1191
1192 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
1193
1194 * xterm.c (toplevel): Remove includes in #if 0.
1195
6f3f0db4
GM
1196 * process.c (sigchld_handler) [LINUX]: Don't return from
1197 the signal handler at the end of the loop.
1198
59957f85
GM
11992001-09-21 Gerd Moellmann <gerd@gnu.org>
1200
09c4719e
SM
1201 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
1202 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 1203
a0528984
EZ
12042001-09-21 Markus Rost <rost@math.ohio-state.edu>
1205
1206 * Makefile.in (shortlisp): Add ../lisp/env.elc.
1207
db92b288
GM
12082001-09-20 Gerd Moellmann <gerd@gnu.org>
1209
3fed8ad5
GM
1210 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
1211 since this function can be called during GC.
1212
db92b288
GM
1213 * callproc.c (Fcall_process): Handle errors from pipe(2).
1214 (child_setup): Delete code in #ifdef vipc.
1215
7121b85a
GM
12162001-09-19 Gerd Moellmann <gerd@gnu.org>
1217
72f62cb5
GM
1218 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
1219 (display_mode_element): Display the string from decode_mode_spec
1220 depending on its multibyteness.
1221
a2697022
GM
1222 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
1223
7121b85a
GM
1224 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
1225
bfc97351
GM
12262001-09-18 Gerd Moellmann <gerd@gnu.org>
1227
c9063433
GM
1228 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
1229 recursive_edit_unwind.
1230 (recursive_edit_unwind): Set kboard state according to
1231 SINGLE-KBOARD.
1232
3fbdba3e
GM
1233 * buffer.c (modify_overlay): Don't do nothing if START == END;
1234 This can still be a modification, for example when an overlay has
1235 a before-string or after-string.
1236 (Fdelete_overlay): Prevent redisplay optimizations when deleting
1237 an overlay with before-string or after-string.
1238
1270031d
GM
1239 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
1240 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
1241
bfc97351
GM
1242 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
1243 first_unchanged_at_end_row is in front of
1244 last_unchanged_at_beg_row. This code should be removed after the
1245 release of 21.1.
1246
d8a973aa
GM
12472001-09-17 Gerd Moellmann <gerd@gnu.org>
1248
e18c8b8d
GM
1249 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
1250 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
1251
d8a973aa
GM
1252 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
1253 versions >= 2.95.
1254
ed7d6ba4
EZ
12552001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
1256
1257 * dired.c (Ffile_attributes): Doc fix.
1258
551629f9
GM
12592001-09-14 Gerd Moellmann <gerd@gnu.org>
1260
1261 * fileio.c (Ffile_symlink_p): Fix last change.
1262
1263 * filelock.c (current_lock_owner): Fix last change.
1264
4c8c7926
GM
12652001-09-13 Gerd Moellmann <gerd@gnu.org>
1266
620c4704
GM
1267 * filelock.c (current_lock_owner): If readlink returns ERANGE,
1268 take that to mean that the buffer is too small.
1269
81c3310d
GM
1270 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
1271 that to mean that the buffer is too small.
1272
06fd3792
GM
1273 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
1274 current buffer's multibyteness when discarding the iterator's
1275 stack.
1276
4c8c7926
GM
1277 * xfns.c (Fx_window_property): Handle case that property gets
1278 deleted between the two calls to XGetWindowProperty.
1279
9a72e4c1
GM
12802001-09-11 Gerd Moellmann <gerd@gnu.org>
1281
bd819d14 1282 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 1283
a41edd99
GM
1284 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
1285 in addition to read-only.
1286
1287 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
1288 to t in addition to read-only.
1289
1290 * lisp.h (Qinhibit_modification_hooks): Declare.
1291
1292 * insdel.c (Qinhibit_modification_hooks): New variable.
1293 (syms_of_insdel): Initialize and staticpro it.
1294
d4881c6a
GM
1295 * textprop.c (verify_interval_modification): Don't run
1296 modification-hooks if inhibit_modification_hooks.
1297
1298 * dispnew.c (set_window_cursor_after_update): Fix code
1299 finding glyph row containing cursor when cursor_in_echo_area
1300 is >= 0.
1301
9a72e4c1
GM
1302 * xdisp.c (init_from_display_pos): Put some code in #if 0.
1303 (add_to_log): Use bcopy instead of strcpy.
1304 (init_from_display_pos): Use an explicit loop over bytes in
1305 overlay strings instead of calling index.
1306
f4a374a1
GM
13072001-09-10 Gerd Moellmann <gerd@gnu.org>
1308
300e57bd
GM
1309 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
1310
1311 * dispnew.c (direct_output_for_insert): Don't change IT's
1312 stop_charpos to something in front of its current position.
1313
f4a374a1
GM
1314 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
1315 `format'.
1316
7e4cbc91
RS
13172001-09-10 Richard M. Stallman <rms@gnu.org>
1318
1319 * frame.c (Fmouse_position): Doc fix.
1320
6afad91e
GM
13212001-09-07 Gerd Moellmann <gerd@gnu.org>
1322
1323 * xdisp.c (init_from_display_pos): Don't compare the result
1324 of calling index with NULL.
1325
f76e0368
GM
13262001-09-06 Gerd Moellmann <gerd@gnu.org>
1327
1328 * xfns.c (x_set_background_color): Don't change the colors
1329 of the X window of scroll bar widgets.
1330
9ead1b60
AI
13312001-09-05 Andrew Innes <andrewi@gnu.org>
1332
1333 * w32fns.c (w32_createwindow): Undo last change.
1334
c3b497b3
GM
13352001-09-05 Gerd Moellmann <gerd@gnu.org>
1336
08e1d6df
GM
1337 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
1338
c3b497b3
GM
1339 * xdisp.c (string_buffer_position): Use *single_char_property*
1340 functions instead of the *single_property* functions.
b56ba8de 1341
8f860180
AI
13422001-09-04 Andrew Innes <andrewi@gnu.org>
1343
9a72e4c1
GM
1344 * w32term.c (w32_read_socket): Add more information to debugging
1345 output.
8f860180
AI
1346
1347 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
1348 from Emacs frames, so that calls to GetClipBox in w32term.c
1349 correctly report when part of a frame is visible (including
1350 scrollbars, etc). This prevents repeated redrawing of frames when
1351 only a scrollbar is visible.
1352 (w32_wnd_proc): Add more frame information to debugging output.
1353
2ee1aa00
SM
13542001-09-03 Stefan Monnier <monnier@cs.yale.edu>
1355
1356 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
1357
e3b22517
GM
13582001-09-03 Gerd Moellmann <gerd@gnu.org>
1359
7e376260
GM
1360 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
1361 help-echo for a string which doesn't have help-echo itself, use
1362 get-char-property to obtain the help-echo from the string's buffer
1363 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
1364 have mouse-face, look ``under'' the string for mouse-face from an
1365 overlay.
1366 (fast_find_position): Add parameter STOP. In the final row, stop
1367 before glyphs having STOP as object. Don't consider glyphs that
1368 are not from a buffer.
1369
e3b22517
GM
1370 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
1371
9a249bba
EZ
13722001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
1373
1374 * fns.c (Fmd5): Doc fix.
1375
c9979669
GM
13762001-08-31 Gerd Moellmann <gerd@gnu.org>
1377
1378 * composite.c (update_compositions): Do nothing if
1379 inhibit-modification-hooks is set.
1380
9584e63a
GM
13812001-08-30 Gerd Moellmann <gerd@gnu.org>
1382
986ec8f2 1383 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 1384 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
1385 glyph matrices etc. in a core dump.
1386
92a25631
GM
1387 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
1388 (syms_of_xdisp): Initialize them.
1389 (handle_single_display_prop): Don't change point, bind `object',
1390 `position', and `buffer-position' instead to the object having the
2ee1aa00 1391 `display' property, position in the object and position in the buffer.
92a25631 1392
9584e63a
GM
1393 * fileio.c (Finsert_file_contents): Don't change the multibyteness
1394 of the buffer if REPLACE is non-nil.
1395
d38633a3
GM
13962001-08-29 Gerd Moellmann <gerd@gnu.org>
1397
1398 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
1399
f4fccc1e
EZ
14002001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
1401
1402 * w32term.c (x_set_glyph_string_background_width)
1403 (show_mouse_face): Track the last changes in xterm.c.
1404
eaaa65b0
GM
14052001-08-28 Gerd Moellmann <gerd@gnu.org>
1406
7b0870b2
GM
1407 * xterm.c (x_set_glyph_string_background_width): Set the glyph
1408 string's background width so that multi-line mouse-face is drawn
1409 to the right edge of the window.
1410 (show_mouse_face): Set the row's mouse_face_p flag after drawing
1411 glyphs.
1412
6b6e2422 1413 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 1414 before inserting/writing glyphs.
6b6e2422 1415
eaaa65b0
GM
1416 * xdisp.c (display_mode_element): Use string_byte_to_char to
1417 determine character positions in strings, use chars_in_text
1418 instead of strwidth.
1419 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
1420 a matrix as parameter; this is easier to use from GDB.
1421
9ad62cf8
MB
14222001-08-28 Miles Bader <miles@gnu.org>
1423
2ee1aa00
SM
1424 * textprop.c (Fprevious_single_char_property_change)
1425 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 1426
32171635
GM
14272001-08-27 Gerd Moellmann <gerd@gnu.org>
1428
47d57b22
GM
1429 * fileio.c (Finsert_file_contents): Allocate, restore, and
1430 free composition data in the case of REPLACE not being nil.
1431
1432 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
1433 there exist overlay strings with newlines at POS.
1434 (text_outside_line_unchanged_p): Return 0 if changes start at
1435 START and overlays exist at START. Likewise for END.
1436 (try_window_id): Give up if init_to_row_end returns 0.
1437
32171635
GM
1438 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
1439 unconditionally.
1440
e1249666
GM
14412001-08-24 Gerd Moellmann <gerd@gnu.org>
1442
33954c45
GM
1443 * keymap.c (access_keymap): Return the cdr of the binding of
1444 a generic character instead of its definition (KEY . BINDING).
1445
e1249666
GM
1446 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
1447 to 0 also in the REPLACE case.
1448
fb4c6c96
AC
14492001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
1450
1451 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
1452 open to determine whether file is readable (as for DOS_NT).
1453
59ecf80b
GM
14542001-08-23 Gerd Moellmann <gerd@gnu.org>
1455
1456 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
1457 coding.type is coding_type_no_conversion or coding_type_raw_text,
1458 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
1459 non-nil instead of just setting enable_multibyte_characters in the
1460 buffer to nil.
1461
40e33037
GM
14622001-08-22 Gerd Moellmann <gerd@gnu.org>
1463
374388c3
GM
1464 * dispextern.h (struct face_cache): Add member
1465 menu_face_changed_p.
1466
1467 * xfaces.c (menu_face_changed_default): New variable.
1468 (menu_face_changed_count): Variable removed.
1469 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
1470 the menu_face_changed_default flag, otherwise set the FRAME's
1471 menu_face_changed_p flag if the `menu' face has been changed.
1472 Prevent calling set_font_frame_param if FRAME is t.
1473 (make_face_cache): Initialize cache's menu_face_changed_p
1474 from menu_face_changed_default.
1475 (realize_basic_faces): Look into the frame's face cache to
1476 determine if the menu appearance needs updating.
1477
40e33037
GM
1478 * keymap.c (access_keymap): Fix last change to not consider
1479 IDX when it has modifiers.
1480
859ea4b8
GM
14812001-08-21 Gerd Moellmann <gerd@gnu.org>
1482
1483 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
1484 . BINDING) exists, where GENERIC-CHAR is the generic character of
1485 the charset of IDX, return BINDING unless there exists a binding
1486 for IDX itself.
1487
e8660d73
GM
14882001-08-16 Gerd Moellmann <gerd@gnu.org>
1489
cca1b1d7
GM
1490 * xrdb.c (SYSV): Don't define on Solaris 2.
1491 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
1492
e8660d73 1493 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 1494 of the screen line, not text line, containing IT's current position.
e8660d73 1495
93aba6fc
GM
14962001-08-15 Gerd Moellmann <gerd@gnu.org>
1497
288d4e06
GM
1498 * window.c (window_scroll_pixel_based): Don't recenter if
1499 PT is partially visible in the window.
1500
3452efc2
SM
1501 * xterm.c (expose_window_tree, expose_window, expose_line):
1502 Return 1 when overwriting mouse-face.
82f053ab
GM
1503 (expose_frame): If mouse-face was overwritten, redo it.
1504
93aba6fc
GM
1505 * xfaces.c (x_update_menu_appearance): Don't call
1506 set_frame_menubar, let the next redisplay do it.
1507
858a55c1
AI
15082001-08-14 Andrew Innes <andrewi@gnu.org>
1509
1510 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
1511 drawing glyph string.
1512
3a990b67
EZ
15132001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
1514
1515 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
1516 running HI-UX/MPP.
1517
04386463
GM
15182001-08-14 Gerd Moellmann <gerd@gnu.org>
1519
1520 * xfaces.c (x_update_menu_appearance): Save and restore value of
1521 interrupt_input_blocked.
1522
3e6385a4
GM
15232001-08-13 Gerd Moellmann <gerd@gnu.org>
1524
b0e619b4
GM
1525 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
1526 a line start, move back to the line start.
3452efc2 1527
0de73d5a
GM
1528 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
1529 exactly when a mini-buffer is active.
1530
3e6385a4
GM
1531 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
1532 in units of 1/8 character on non window-system frames.
1533 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
1534
d1b5f629
EZ
15352001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
1536
1537 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
1538 a doc string.
1539
eaa2319f
GM
15402001-08-09 Gerd Moellmann <gerd@gnu.org>
1541
8e3189f0
GM
1542 * keyboard.c (Vpre_help_message): New variable.
1543 (syms_of_keyboard): Initialize and staticpro it.
1544 (show_help_echo): Record current message before displaying a
1545 help-echo, and restore that message when clearing the help.
1546
eaa2319f
GM
1547 * xfns.c (x_create_im): Remove prototype.
1548
1549 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
1550
1551 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 1552
eaa2319f
GM
15532001-08-08 Gerd Moellmann <gerd@gnu.org>
1554
1555 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 1556 windows whose height has changed, disable partially visible lines.
eaa2319f 1557
17fdcfc8
GM
15582001-08-07 Gerd Moellmann <gerd@gnu.org>
1559
22d01aed 1560 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 1561 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 1562
17fdcfc8
GM
1563 * xdisp.c (start_display): Don't try to determine the continuation
1564 lines width if lines are truncated. It's superfluous and leads to
1565 incorrect results if POS is not visible in the window after
1566 reseating the iterator at the previous line start.
1567
8e3fe78e
GM
15682001-08-06 Gerd Moellmann <gerd@gnu.org>
1569
1570 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1571
98a8938c
GM
15722001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1573
1574 * alloc.c (init_stack): Remove declaration.
1575
18f9986a
GM
15762001-08-03 Gerd Moellmann <gerd@gnu.org>
1577
5e1f85e0
GM
1578 * keyboard.c (read_key_sequence): Check that key is an integer
1579 before comparing it with quit_char.
1580 (add_command_key): Use larger_vector.
1581 (read_char_x_menu_prompt): Instead of converting symbol and
1582 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 1583 which cannot be confused with valid events.
5e1f85e0
GM
1584 (read_char): When reading from Vunread_command_events, check for
1585 events of the form (EVENT . disabled) instead of
1586 (EVENT . nil).
1587
18f9986a
GM
1588 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
1589 a float, determine the max height from the frame's height.
1590
fbc7f2a6
GM
15912001-08-02 Gerd Moellmann <gerd@gnu.org>
1592
1593 * xdisp.c (redisplay_internal): Take message_cleared_p into
1594 account only if minibuf_level == 0.
1595
81b1a79d
GM
15962001-08-01 Gerd Moellmann <gerd@gnu.org>
1597
e5c60873
GM
1598 * xdisp.c (redisplay_internal): Add a check for the last
1599 displayed message.
3452efc2 1600
6e019995
GM
1601 * xdisp.c (message_cleared_p): New variable.
1602 (clear_message): Set message_cleared_p when clearing the current
1603 message.
1604 (redisplay_internal): Look at message_cleared_p to capture
1605 the case that the echo area should be cleared.
1606
308a74d8
GM
1607 * keyboard.c (command_loop_1): Fix spelling of
1608 resize_echo_area_exactly.
1609
3452efc2 1610 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
1611
1612 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
1613
81b1a79d
GM
1614 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
1615 current matrix when the window gets smaller.
1616
ada329e6
EZ
16172001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
1618
1619 * print.c (strout): Cast the character passed to insert_char to
1620 unsigned char, to avoid sign extension when it is promoted to int.
1621
ed86208c
GM
16222001-07-31 Gerd Moellmann <gerd@gnu.org>
1623
1624 * fileio.c (Finsert_file_contents): Don't treat a return value
1625 of 0 from emacs_read as an IO error.
1626
6594ac22
GM
16272001-07-30 Gerd Moellmann <gerd@gnu.org>
1628
cef68af5
GM
1629 * keyboard.c (abs): New macro.
1630 (double_click_fuzz): New variable.
1631 (make_lispy_event): Use it to determine what makes a double-click.
1632 (syms_of_keyboard): DEFVAR_INT it.
1633
6594ac22
GM
1634 * xmenu.c (set_frame_menubar): Take into account that
1635 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
1636 <raeburn@gnu.org>.
1637
75c5350a
GM
16382001-07-27 Gerd Moellmann <gerd@gnu.org>
1639
1640 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
1641
1642 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
1643 of row's visible height.
1644
1645 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
1646 deal with the first overlay string having an image `display' property.
1647 (try_window_reusing_current_matrix, compute_line_metrics):
1648 Fix computation of row's visible height for the case that part of the
75c5350a
GM
1649 row is invisible above and part of the row is at the same time
1650 invisible below the window.
1651
ac49effe
GM
16522001-07-26 Gerd Moellmann <gerd@gnu.org>
1653
1654 * xfns.c (x-show-tip): Doc fix.
3452efc2 1655
ac49effe
GM
1656 * xfns.c (Vx_max_tooltip_size): New variable.
1657 (syms_of_xfns): DEFVAR_LISP it.
1658 (Fx_show_tip): Set frame's window_width to the width of the
1659 window. Use a maximum tooltip size specified by
1660 Vx_max_tooltip_size, if that has valid contents.
1661 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 1662
8c3b00cb
AI
16632001-07-26 Andrew Innes <andrewi@gnu.org>
1664
1665 * w32term.c (x_display_list): New variable.
1666 (w32_term_init): Set it.
1667
1668 * w32term.h (x_display_list): New extern.
1669
16098288
GM
16702001-07-26 Gerd Moellmann <gerd@gnu.org>
1671
1672 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
1673 is non-nil, instead of when redisplaying_p is non-zero.
1674 See comment there.
16098288
GM
1675 (mark_window_display_accurate_1): Add an assertion.
1676
64c5be50
GM
16772001-07-25 Gerd Moellmann <gerd@gnu.org>
1678
e743f599
GM
1679 * dispextern.h (struct it): Increase size of ctl_chars to 16.
1680
563b384d
GM
1681 * xfns.c (Fx_file_dialog): Block/unblock input while processing
1682 events so that we get a chance of processing expose events.
1683
64c5be50
GM
1684 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
1685
296808a5
GM
16862001-07-24 Gerd Moellmann <gerd@gnu.org>
1687
1688 * xfns.c (valid_image_p): Protect better against invalid image
1689 specifications. Previous code could signal an error.
1690
5247262a
GM
16912001-07-23 Gerd Moellmann <gerd@gnu.org>
1692
3452efc2 1693 * indent.c (current_column): Fix column computation in the
f1004faf
GM
1694 presence of display table entries.
1695 (current_column_1, Fmove_to_column, compute_motion): Likewise.
1696
dd42b31a
GM
1697 * dispnew.c (adjust_glyph_matrix): In the optimization for
1698 windows whose height has changed, use the new window height
1699 to compute which rows to invalidate.
1700
9e5a7f2a
GM
1701 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
1702 (MAX_10_EXP): New macro.
1703 (Fformat): Use it.
1704
5247262a
GM
1705 * coding.c (code_convert_region): Handle the multibyte case if
1706 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
1707
177ab8ce
GM
17082001-07-20 Gerd Moellmann <gerd@gnu.org>
1709
6e07c0a5
GM
1710 * dispextern.h (struct face): Change type of `stipple' to
1711 int; it's an ID.
1712
177ab8ce
GM
1713 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
1714
b5b80599
GM
17152001-07-19 Gerd Moellmann <gerd@gnu.org>
1716
4e2a256b
GM
1717 * dispnew.c (update_window): Don't set the cursor at the end
1718 of the update if display update has been paused.
1719
3452efc2 1720 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 1721
c1fd9232
KR
17222001-07-18 Ken Raeburn <raeburn@gnu.org>
1723
1724 * fns.c (Fset_char_table_default): Check that a charset is defined
1725 before checking its dimension.
1726
928a85c1
KR
17272001-07-17 Ken Raeburn <raeburn@gnu.org>
1728
1729 * coding.c (setup_coding_system): Don't do any designation based
1730 on reg_bits if charset is not yet defined.
1731
fb4c6c96 1732 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
1733 pointer, using eassert.
1734
de11c1ea
GM
17352001-07-17 Gerd Moellmann <gerd@gnu.org>
1736
3452efc2
SM
1737 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
1738 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 1739
467f1209
GM
17402001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
1741
1742 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
1743
c3d6be34
GM
17442001-07-16 Gerd Moellmann <gerd@gnu.org>
1745
c1d61a7d
GM
1746 * fileio.c (unwind_read): Function removed.
1747 (read_non_regular, read_non_regular_quit): New functions.
1748 (Finsert_file_contents): When reading from non-regular files,
1749 arrange to catch a `quit' and terminate the loop. Rearrange
1750 code so that a `quit' when reading from a regular file doesn't
1751 insert text in the buffer.
1752
c3d6be34
GM
1753 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
1754 Clear faces afterwards.
1755 (clear_font_table): Take a x_display_info parameter. Don't free
1756 fonts being the default font of any frame on the given display.
1757
e06aa1f9
GM
17582001-07-13 Gerd Moellmann <gerd@gnu.org>
1759
1760 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
1761 instead of CHAR_STRING which can signal an error.
1762
1763 * charset.c (char_to_string_1): Extracted from char_to_string.
1764 Return -1 instead of signaling an error.
1765 (char_to_string): Use it.
1766
1767 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
1768
176c92e6
SM
17692001-07-12 Stefan Monnier <monnier@cs.yale.edu>
1770
1771 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
1772 is t, don't try to append anything to it.
1773
1c56232f
EZ
17742001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
1775
1776 * dired.c (file_name_completion): Pass dp->d_name to
1777 Fstring_match, not elt, which is always nil here.
1778
1d2b2268
GM
17792001-07-12 Gerd Moellmann <gerd@gnu.org>
1780
1781 * xselect.c (x_decline_selection_request): Handle errors
1782 caused by receivers that have vanished.
1783
1784 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
1785 ignoring events on foreign windows in #if 0. Always dispatch
1786 the event after checking it with x_handle_property_notify.
1787
1788 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
1789 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
1790 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
1791 (toplevel): Add prototypes for file-local functions.
1792 (x_atom_to_symbol): Remove DPYINFO parameter.
1793
fe5a0162
SM
17942001-07-11 Stefan Monnier <monnier@cs.yale.edu>
1795
1796 * w32menu.c (menubar_selection_callback, w32_menu_show):
1797 Initialize `entry' to nil.
1798 (w32_dialog_show): Remove unused `save_wv' variable.
1799 (name_is_separator): Recognize "--:foo" and "--foo-bar".
1800
a777242c
GM
18012001-07-11 Gerd Moellmann <gerd@gnu.org>
1802
8ee5b6a3
GM
1803 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
1804
d0e2444e
GM
1805 * fileio.c (unwind_read): Print a message when discarding inserted
1806 text or switching the buffer to unibyte. Change parameter.
1807 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 1808
a777242c
GM
1809 * fileio.c (unwind_read): New function.
1810 (Finsert_file_contents): Record it as unwind-function for
1811 the case that reading is interrupted by C-g.
1812
ae794295
GM
18132001-07-10 Gerd Moellmann <gerd@gnu.org>
1814
fe5a0162 1815 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
1816 update when scrolling_window returns 0.
1817
6b05fae3
GM
1818 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
1819
1820 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 1821 for the case that x_decode_color signals an error.
6b05fae3 1822
ae794295
GM
1823 * xdisp.c (add_to_log): Do nothing if called asynchronously.
1824
bb6e8cee
GM
18252001-07-09 Gerd Moellmann <gerd@gnu.org>
1826
1827 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
1828 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
1829 around ioctls.
1830
36b40a8a
EZ
18312001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
1832
24b97d4b
EZ
1833 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
1834 doc string line for dos-timezone-offset.
1835
36b40a8a
EZ
1836 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
1837 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
1838 (syms_of_msdos): Add \n\ at the end of a line in the doc string
1839 line for dos-unsupported-char-glyph.
36b40a8a
EZ
1840
1841 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
1842
0967b4b0
GM
18432001-07-05 Gerd Moellmann <gerd@gnu.org>
1844
f25cfe53
GM
1845 * sound.c: Include Emacs' header files with #include "...".
1846
0967b4b0
GM
1847 * eval.c (specbind): Additionally record the buffer that was
1848 current when a buffer-local or frame-local variable was bound.
1849
c347a1c3
GM
18502001-07-04 Gerd Moellmann <gerd@gnu.org>
1851
1852 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
1853 to unibyte characters in unibyte buffers.
1854
6332ca8a
GM
18552001-07-03 Gerd Moellmann <gerd@gnu.org>
1856
38472d44
GM
1857 * eval.c (specbind): If SYMBOL has a frame-local binding, record
1858 the frame on the binding stack. Change format of entries for
1859 local bindings on the binding stack to '(SYMBOL . WHERE)'.
1860 (unbind_to): Handle unbinding a frame-local variable.
1861
6332ca8a 1862 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 1863 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
1864 (dump_glyph_row): Print row's continuation_lines_width.
1865 (try_window_id): Take the shortcut if ZV is visible in the
1866 window, but there are actually no changes at ZV.
1867
63d1b174
GM
18682001-07-02 Gerd Moellmann <gerd@gnu.org>
1869
4c175203
GM
1870 * xterm.h (x_free_dpy_colors): Add prototype.
1871
1872 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
1873 right number of arguments.
1874
0b54ce28
GM
1875 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
1876 ($(lwlibdir)TAGS): New target.
4c175203 1877 (TAGS): Fix dependency list.
0b54ce28 1878
63d1b174
GM
1879 * xterm.c (x_list_fonts): Make sure XFreeFont is called
1880 with input blocked.
1881
d827466c
GM
18822001-06-30 Gerd Moellmann <gerd@gnu.org>
1883
1884 * emacs.c (main): Remove extern declaration for sys_nerr, which
1885 isn't used and causes a compilation error with GCC 3.0 on
1886 FreeBSD 4.3.
1887
b5cb1ada
GM
18882001-06-27 Gerd Moellmann <gerd@gnu.org>
1889
a5d3ec3f 1890 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 1891 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
1892 (toplevel): Include <signal.h> and syssignal.h.
1893
b5cb1ada
GM
1894 * sound.c (vox_configure, vox_close): Turn off atimers
1895 around ioctls.
1896
d9bad487
GM
18972001-06-26 Gerd Moellmann <gerd@gnu.org>
1898
fdbb67fe
GM
1899 * keyboard.c (read_char) <non_reread>: Record the previous idle
1900 start time before calling timer_stop_idle.
1901 (read_char) <reread_first>: After processing a help-echo event,
1902 restore the previous idle start time.
1903
d9bad487
GM
1904 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
1905 the start of invisible text.
1906 (setup_for_ellipsis): New function.
1907 (next_overlay_string): After all overlay strings have been
1908 processed, display an ellipsis if necessary.
1909 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
1910 (push_it): Initialize display_ellipsis_p on the iterator's stack.
1911
1912 * dispextern.h (struct iterator_stack_entry): Add member
1913 display_ellipsis_p.
1914
2b9c25e0
GM
19152001-06-25 Gerd Moellmann <gerd@gnu.org>
1916
80de57df
GM
1917 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
1918 on the value of the wait-for-wm frame parameter.
1919
1920 * xterm.h (struct x_output): Add member wait_for_wm.
1921
1922 * xfns.c (Qwait_for_wm): New variable.
1923 (x_frame_parms): Add entry for `wait-for-wm".
1924 (x_set_wait_for_wm): New function.
1925 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
1926 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
1927
2b9c25e0
GM
1928 * xdisp.c (try_window_id) <all changes below window end>: Don't
1929 take this shortcut if ZV is visible in the window.
1930 (try_window_id): When checking for window start being in changed
1931 text, don't check that the buffer's size has changed.
1932
f772775c
RS
19332001-06-23 Richard M. Stallman <rms@gnu.org>
1934
1935 * minibuf.c (Fcompleting_read): Doc fix.
1936
fa9090b8
GM
19372001-06-19 Gerd Moellmann <gerd@gnu.org>
1938
1939 * composite.c (Ffind_composition_internal): Accept ZV
1940 and a string's end position as POS.
1941
f6f1beba
GM
19422001-06-18 Gerd Moellmann <gerd@gnu.org>
1943
1944 * composite.c (Ffind_composition_internal): Check POS
1945 for validity.
1946
0ae83348
EZ
19472001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
1948
1949 * editfns.c (Fmessage_box): If the frame is not under a window
1950 system, output the message in the echo area.
1951
e4cdc335
RS
19522001-06-14 Richard M. Stallman <rms@gnu.org>
1953
1954 * xdisp.c (try_window_id): When EOB is visible, don't treat
1955 insertion at EOB as if it were "off the bottom of the screen."
1956
a55a5f3c
AI
19572001-06-11 Andrew Innes <andrewi@gnu.org>
1958
1959 * w32proc.c (create_child): Add new parameter is_gui_app.
1960 (w32_executable_type): Add new parameter is_gui_app.
1961 (sys_spawnve): Use it.
1962 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
1963 SIGQUIT. This matches better how the signals are interpreted by
1964 MSVC compiled programs.
1965 (syms_of_ntproc): Update docstring.
1966
1b85dc1c
SM
19672001-06-02 Stefan Monnier <monnier@cs.yale.edu>
1968
1969 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
1970 well otherwise note_mouse_highlight might optimize away highlighting
1971 if we pass over that same overlay again.
1972
b75f8eab
EZ
19732001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
1974
1975 * lread.c (Fload): Document that the argument is run via
1976 substitute-in-file-name.
1977
94843cc1
GM
19782001-05-31 Gerd Moellmann <gerd@gnu.org>
1979
b14659e6
GM
1980 * Makefile.in (bootstrap-doc): New target.
1981 (bootstrap-emacs): Depend on it.
1982
0894672f
GM
1983 * fileio.c (Fdo_auto_save): Don't try to create the directory of
1984 auto-save-list-file-name when shutting down Emacs, because
1985 creating the directory might signal an error, and leaves
1986 Emacs in a strange state.
1987
94843cc1
GM
1988 * term.c: (tty_cursor_hidden): New variable.
1989 (update_begin): Don't call tty_hide_cursor. Clean up.
1990 (update_end, set_terminal_window, set_scroll_region): Clean up.
1991 (ring_bell, reset_terminal_modes): Clean up.
1992 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
1993 on tty_cursor_hidden.
1994 (write_glyphs): Call tty_hide_cursor.
1995
db3a49a6
SM
19962001-05-30 Stefan Monnier <monnier@cs.yale.edu>
1997
1998 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
1999
8bd189fb
GM
20002001-05-30 Gerd Moellmann <gerd@gnu.org>
2001
6f1be3b9
GM
2002 * xfns.c (enum image_value_type): New enumerator
2003 IMAGE_STRING_OR_NIL_VALUE.
2004 (parse_image_spec): Handle it.
2005 (xbm_format, pbm_format): Use it for :foreground and :background.
2006 (xbm_load, pbm_load): Check for nil color names.
2007
8bd189fb
GM
2008 * xterm.c (note_mouse_highlight): If an overlapping overlay
2009 exists, but we find that we highlight the same overlay as before,
2010 don't do the highlighting again.
2011
7bdba03c
GM
20122001-05-29 Gerd Moellmann <gerd@gnu.org>
2013
4c329aa8
GM
2014 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
2015 Protect unibyte strings created by replacing their multibyte
2016 equivalents in menu_items.
2017
e15e2828
GM
2018 * keymap.c (Fsingle_key_description): NUL-terminate the string
2019 buffer before calling build_string.
2020
7bdba03c
GM
2021 * callproc.c (Fcall_process): Deal with decode_coding returning
2022 CODING_FINISH_INCONSISTENT_EOL.
2023
89c8dc6c
GM
20242001-05-28 Gerd Moellmann <gerd@gnu.org>
2025
db3a49a6 2026 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
2027 an item's name with its key description in case the description
2028 is a multibyte string.
2029
2030 * keymap.c (Fsingle_key_description): Create a multibyte string
2031 only if necessary.
2032
eb04d6cd
GM
2033 * macros.c (Fstart_kbd_macro): Doc fix.
2034
8bd6307f
GM
2035 * xterm.c (cursor_in_mouse_face_p): New function.
2036 (x_draw_stretch_glyph_string): Use it to choose a different GC
2037 when drawing a cursor within highlighted text.
2038
e26c4089
GM
2039 * editfns.c (char_property_eq): Put in #if 0.
2040
2041 * indent.c (string_display_width): Put in #if 0.
2042
2043 * lread.c (Fload): Remove unused label.
2044
89c8dc6c
GM
2045 * termcap.c (speeds): Put in #if 0.
2046
9a1211f2
GM
20472001-05-18 Gerd Moellmann <gerd@gnu.org>
2048
29148a3f
GM
2049 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
2050
9a1211f2
GM
2051 * xfaces.c (xlfd_point_size): Don't divide pixel size from
2052 transformation matrix by 10.
2053
09393d07
GM
20542001-05-16 Gerd Moellmann <gerd@gnu.org>
2055
2056 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
2057 only if it's equal to the former foreground pixel color.
db3a49a6 2058 (x_set_foreground_color, x_set_background_color)
09393d07
GM
2059 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
2060
460e6bae
GM
20612001-05-16 Dave Love <fx@gnu.org>
2062
2063 * insdel.c (signal_before_change, signal_after_change): Consider a
2064 local change hook which changes the buffer.
99c78ce8
GM
2065
2066 * process.c (read_process_output): Don't call signal_after_change
2067 and update_compositions after insert_from_string_before_markers.
2068
dbcf3c03
GM
20692001-05-16 Gerd Moellmann <gerd@gnu.org>
2070
a90b3d3c
GM
2071 * xfaces.c (split_font_name): Use the right field when
2072 checking for `[...]' syntax.
2073
1b7818b4
GM
2074 * buffer.c (copy_overlays): New function.
2075 (clone_per_buffer_values): Use it.
2076
2077 * buffer.h (OVERLAY_PLIST): New macro.
2078
9bae8781
GM
2079 * keymap.c (Fsingle_key_description): Replace a build_string with
2080 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
2081
dbcf3c03
GM
2082 * fontset.c (Ffontset_info): Check that face is non-null
2083 before accessing its fields.
2084
8a1ae4dd
GM
20852001-05-15 Gerd Moellmann <gerd@gnu.org>
2086
18a0a39e
GM
2087 * keyboard.c (read_key_sequence): Prevent generating a fake
2088 prefix key twice.
2089
e335b66a
GM
2090 * xfaces.c (split_font_name): Handle `[...]' for the right
2091 font name fields.
2092
8a1ae4dd
GM
2093 * ccl.c (ccl_driver): Don't copy remaining bytes in case
2094 of CCL_STAT_INVALID_CMD.
2095
3cf80731
SM
20962001-05-14 Stefan Monnier <monnier@cs.yale.edu>
2097
33568849
SM
2098 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
2099 in <var> has no default value yet.
2100
3cf80731
SM
2101 * xfaces.c (try_alternative_families): First try the FAMILY.
2102 And if nothing is found in the end, try again with scalable fonts.
2103 (try_font_list): Let try_alternative_families do a bit more of
2104 the work. Only use FAMILY if it is not nil.
2105 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
2106
933b0249
GM
21072001-05-14 Gerd Moellmann <gerd@gnu.org>
2108
58e5af83
GM
2109 * xterm.c (note_mouse_highlight): Avoid changing the mouse
2110 pointer shape when show_mouse_face has already done it.
33568849 2111
58e5af83 2112 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
2113 full-width rows.
2114
7b16a6bf
GM
2115 * xfaces.c (split_font_name): Make sure to leave the loop
2116 with the right value of `i'.
3cf80731 2117
933b0249
GM
2118 * xfaces.c (split_font_name): Handle matrix transformations
2119 in the pixel and point size fields of XLFD font names.
2120 (xlfd_point_size): Likewise.
2121
dddcbf00
EZ
21222001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
2123
3cf80731 2124 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
2125 (x_to_w32_font): Add prototype.
2126
7689ef0b
EZ
2127 * regex.c (malloc, realloc, free) [emacs]: Undefine before
2128 redefining, to avoid compiler warnings.
2129
e7c15bba
EZ
2130 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
2131
dddcbf00
EZ
2132 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
2133 (w32_get_bdf_glyph): Cast between unsigned char and char when
2134 passing arguments to subroutines, to shut up compiler warnings.
2135 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
2136 GET_HEX_VAL.
2137
2138 * xfaces.c: Include keyboard.h before frame.h, not after it.
2139
2140 * widget.c: Include keyboard.h before frame.h.
2141
2142 * w32term.h (struct image, struct face): Forward declaration, to
2143 avoid compiler warnings.
2144
7bd2d083
GM
21452001-05-11 Gerd Moellmann <gerd@gnu.org>
2146
47e72862
GM
2147 * keyboard.c (read_key_sequence): Don't modify events when
2148 generating fake prefix keys (mode-line, scroll-bar, ...) since
2149 this prevents proper processing of such events when pushed back
2150 into unread-command-events.
2151
dd5f324b
GM
2152 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
2153 actually redrawn. Make the function static.
2154 (note_mouse_highlight): Fix a case where the mouse cursor
2155 was changed back to the text cursor.
2156
2157 * xterm.h (clear_mouse_face): Remove prototype.
2158
d88a79d4
GM
2159 * xdisp.c (try_window_id): Fix the fix and set the right
2160 window_end_vpos.
2161
2162 * xdisp.c (try_window_id): Fix computation of window end in the
2163 case that lines were deleted at the end of the window. Add some
2164 more debug_method_adds.
0416532f 2165
7bd2d083
GM
2166 * xfaces.c (try_alternative_families): New function.
2167 (try_font_list): Use it. If ATTRS specifies a family, check
2168 fonts from that family first.
2169 (choose_face_font): Remove code setting the family part of
2170 the pattern to nil.
2171
23fca891
GM
21722001-05-10 Gerd Moellmann <gerd@gnu.org>
2173
ff9aa2ca
GM
2174 * xdisp.c (try_window_id): Fix case of all changes before
2175 the window start.
7b2654b5 2176
23fca891
GM
2177 * xdisp.c (try_window_id): Add some xasserts.
2178
e9726794
GM
21792001-05-09 Gerd Moellmann <gerd@gnu.org>
2180
2181 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
2182
9e53a675
GM
21832001-05-09 Dave Love <fx@gnu.org>
2184
2185 * xdisp.c (GIVE_UP): Fix for K&R C.
2186
0d487c52
GM
21872001-05-09 Gerd Moellmann <gerd@gnu.org>
2188
fe88d421
GM
2189 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
2190
0d487c52
GM
2191 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
2192 back to the text cursor shape without need.
2193
1e9fc92e
GM
21942001-05-07 Gerd Moellmann <gerd@gnu.org>
2195
a2a6232e
GM
2196 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
2197
2198 * dispextern.h (inverse_video): Declare extern.
2199
1e9fc92e
GM
2200 * keyboard.c (delete_kboard): Handle the case that selected_frame
2201 has been deleted in the course of x_connection_closed.
2202
12949a7f
EZ
22032001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
2204
7b2654b5
SM
2205 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
2206 Fix the change from 2001-04-30.
12949a7f 2207
2fa2f461
GM
22082001-05-03 Gerd Moellmann <gerd@gnu.org>
2209
a779d213
GM
2210 * xfns.c (file_dialog_unmap_cb): New function.
2211 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
2212 where a dialog is closed via the window manager.
2213
7b2654b5 2214 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
2215 the window start or all below the window end mostly rewritten.
2216 (redisplay_window): Move the tests if try_window_id is
2217 applicable to try_window_id.
2218 (GIVE_UP): New macro.
2219
3356df63
GM
22202001-05-02 Gerd Moellmann <gerd@gnu.org>
2221
a39202f6 2222 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
2223 currently being updated, mark the frame garbaged.
2224 Fix computation of rows intersecting the exposed rectangle.
a39202f6 2225 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 2226
3356df63
GM
2227 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
2228 again if it has already been drawn.
2229
a9d2fd1d
SM
22302001-05-01 Stefan Monnier <monnier@cs.yale.edu>
2231
2232 * syntax.c (update_syntax_table): Check that oldi has the same
2233 properties as old_prop before deciding not to invalidate.
2234
c95fc5f1
GM
22352001-04-30 Gerd Moellmann <gerd@gnu.org>
2236
a9793e45
GM
2237 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
2238 read-only text that is so because of text properties.
2239
c95fc5f1 2240 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 2241 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
2242 windows that are components of a Lucid menu bar.
2243
5a5d9185
GM
22442001-04-27 Gerd Moellmann <gerd@gnu.org>
2245
2246 * term.c (turn_on_face): Fix reverse video handling on terminals
2247 that don't support colors.
2248
ba973f7a
GM
22492001-04-26 Gerd Moellmann <gerd@gnu.org>
2250
2251 * editfns.c (save_excursion_restore): Don't use XBUFFER on
2252 a non-buffer.
2253
8c56a983
GM
22542001-04-25 Gerd Moellmann <gerd@gnu.org>
2255
a728644c
GM
2256 * term.c (toggle_highlight): New function.
2257 (turn_on_face): Change handling of reverse video.
2258
7b2654b5
SM
2259 * process.c (wait_reading_process_input):
2260 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 2261
bfd8410f
GM
2262 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
2263 of the number of overlays to check.
2264
be2488ca
GM
2265 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
2266
8c56a983
GM
2267 * xdisp.c (try_window_id): Fix a case where window_end_pos
2268 and window_end_bytepos were not adjusted.
2269
522d42f7
GM
22702001-04-23 Gerd Moellmann <gerd@gnu.org>
2271
2272 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
2273 zero instead of -1.
2274
78c1afb6
EZ
22752001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
2276
a9d2fd1d
SM
2277 * process.c (wait_reading_process_input) [!subprocesses]:
2278 Don't reference waiting_for_user_input_p, it's not defined in the
2279 branch without async subprocesses support.
78c1afb6 2280
a2fab450
GM
22812001-04-19 Gerd Moellmann <gerd@gnu.org>
2282
a122a38e
GM
2283 * keyboard.c (delete_kboard): Prevent a dangling reference
2284 from current_kboard to KB, which is freed.
2285
a9d2fd1d
SM
2286 * process.c (wait_reading_process_input):
2287 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
2288 read_key_sequence aware of buffer changes from under it.
2289
0f8d6dc7
GM
22902001-04-18 Gerd Moellmann <gerd@gnu.org>
2291
eeffb293
GM
2292 * xfaces.c (Qscalable_fonts_allowed): New variable.
2293 (realizing_basic_faces_p): Removed.
2fa2f461
GM
2294 (x_face_list_fonts): Special handling for realizing_basic_faces_p
2295 removed.
eeffb293 2296 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
2297 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
2298 for scalable-fonts-allowed to t.
eeffb293 2299
0f8d6dc7
GM
2300 * fileio.c (Finsert_file_contents): If the file size returned from
2301 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 2302 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 2303
eec2d1de
EZ
23042001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
2305
2306 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
2307 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
2308 (__memalign_hook): Make the two prototypes consistent.
2309
f4f480bd
GM
23102001-04-17 Gerd Moellmann <gerd@gnu.org>
2311
2312 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
2313 matrix of mini-windows.
2314
52283633
SM
23152001-04-12 Stefan Monnier <monnier@cs.yale.edu>
2316
2317 * intervals.c (find_interval): Don't rebalance during signal handling.
2318
ec2423c9
GM
23192001-04-11 Gerd Moellmann <gerd@gnu.org>
2320
30cb0001 2321 * fns.c: Include blockinput.h.
52283633 2322
ec2423c9
GM
2323 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
2324
719d83ad
GM
23252001-04-10 Gerd Moellmann <gerd@gnu.org>
2326
60f8d735
GM
2327 * fns.c (Fcompare_strings): Fix return values.
2328
afffeb57
GM
2329 * window.c (window_scroll): Change the meaning of N to mean
2330 N screen-fulls or N lines.
2331 (window_scroll_pixel_based, window_scroll_line_based)
2332 (scroll_command, Fscroll_other_window): Change accordingly.
2333
52283633
SM
2334 * window.c (window_scroll_pixel_based, Frecenter):
2335 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
2336 height of the window.
2337
2338 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
2339 instead of using it.last_visible_y for the height of the window.
52283633 2340
719d83ad 2341 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 2342 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
2343
2344 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
2345 able to write to hidden and system files. From Dan Holmsand
2346 <dan@eyebee.com>.
719d83ad 2347
8ddf3ee1
GM
2348 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
2349 Holmsand <dan@eyebee.com>.
719d83ad 2350
522ed7fb
GM
23512001-04-09 Gerd Moellmann <gerd@gnu.org>
2352
9170e5d4
GM
2353 * fns.c (Fplist_get, Fplist_put): Add QUITs.
2354
522ed7fb
GM
2355 * window.c (window_internal_height): Return 1 less if the
2356 window has a header line.
2357
2358 * xdisp.c (try_window_id): When scrolling on a terminal, take
2359 the change of window_internal_height into account.
2360
ceeb3d7d
EZ
23612001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
2362
2363 * gmalloc.c (align): If the argument SIZE would overflow
2364 __malloc_ptrdiff_t, fail right away.
2365
63685b9d
GM
23662001-04-06 Gerd Moellmann <gerd@gnu.org>
2367
2368 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
2369 Make sure the tooltip is completely visible.
2370 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
2371
2372 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
2373
2374 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
2375
3ffb33bb
DL
23762001-04-06 Dave Love <fx@gnu.org>
2377
52283633
SM
2378 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
2379 Fix test of `from'.
3ffb33bb 2380
869fb12c
GM
23812001-04-06 Gerd Moellmann <gerd@gnu.org>
2382
52283633 2383 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 2384
869fb12c
GM
2385 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
2386
441bf856
GM
23872001-04-05 Gerd Moellmann <gerd@gnu.org>
2388
4d664b04
GM
2389 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
2390
52283633 2391 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 2392
30ca89f5
GM
2393 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
2394 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
2395
2396 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
2397 shell widget's position only if it is non-null.
2398
52283633
SM
2399 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
2400 Set f->output_data.x->widget to null after destroying it.
30ca89f5 2401
81a81c0f
GM
2402 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
2403 FILENAME to bring it in synch with the documentation.
2404
441bf856
GM
2405 * xfaces.c (realizing_basic_faces_p): Renamed from
2406 realize_default_face_p.
2407 (realize_basic_faces): Set/clear realizing_basic_faces_p.
2408 (realize_default_face): Don't set the flag.
2409
702a1e8e
GM
24102001-04-04 Gerd Moellmann <gerd@gnu.org>
2411
1013f4e3
GM
2412 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
2413
52283633
SM
2414 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
2415
1013f4e3
GM
2416 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
2417 the buffer that was used for echoing.
2418
702a1e8e
GM
2419 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
2420 (first_font_matching): Removed unused function.
2421 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
2422 (may_use_scalable_font_p): Remove parameter FONT; rename
2423 parameter NAME to FONT.
2424 (x_face_list_fonts): Fix missing bounds check.
2425 (realizing_default_face_p): New variable.
2426 (realize_default_face): Set and clear that flag.
2427 (x_face_list_fonts): When called during the realization of the
2428 default face, and no matching fonts are found when ignoring
2429 scalable fonts and fonts matching a regexp from
2430 face-ignored-fonts, try without ignoring fonts.
2431
f9dbcda4
GM
24322001-04-03 Gerd Moellmann <gerd@gnu.org>
2433
ad18ffb1
GM
2434 * xfns.c (postprocess_image): New function.
2435 (lookup_image): Call it for all image types except PostScript.
2436 (x_kill_gs_process): Call postprocess_image.
2437
f9dbcda4
GM
2438 * xterm.c (x_use_underline_position_properties): New variable.
2439 (x_draw_glyph_string): Use it.
2440 (syms_of_xterm): DEFVAR_BOOL it.
2441
651f03b6
GM
24422001-04-02 Gerd Moellmann <gerd@gnu.org>
2443
2444 * xterm.c (x_alloc_nearest_color_1): New function.
2445 (x_alloc_nearest_color): Use it.
2446 (x_color_cells): Take a Display as argument, instead of a frame.
2447 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
2448 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
2449 (x_initialize): Register cvt_string_to_pixel as resource converter
2450 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
2451
73d75a62
GM
24522001-03-30 Gerd Moellmann <gerd@gnu.org>
2453
b2046df8
GM
2454 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
2455 (set_iterator_to_next): If a string from a display property ends,
2456 consider the case that this might also be the end of an
2457 overlay string having the display property.
2458
52283633 2459 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 2460
87d8eba4
GM
2461 * xdisp.c (reseat_to_string): Undo last change.
2462
73d75a62
GM
2463 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
2464 matrix of a window when the header line changes, when
2465 new rows are allocated, or when the width changes.
2466
911a2406
EZ
24672001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
2468
52283633 2469 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 2470
aea51abe
EZ
24712001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
2472
2473 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
2474 deprecated.
2475
176bc847
GM
24762001-03-29 Gerd Moellmann <gerd@gnu.org>
2477
ed31fabf
GM
2478 * data.c (Fsubr_interactive_form): New function.
2479 (syms_of_data): Defsubr it.
2480
176bc847
GM
2481 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
2482 (live_float_p, live_misc_p): Return 1 only if the offset of the
2483 pointer in its block is >= 0.
2484
e59d0e9d
GM
24852001-03-28 Paul Eggert <eggert@twinsun.com>
2486
2487 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
2488 microseconds calcuation. Avoid double-rounding problem.
2489 In doc string, warn that the result is approximate.
2490
f827b862
GM
24912001-03-28 Gerd Moellmann <gerd@gnu.org>
2492
30a3f61c
GM
2493 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
2494 bind `inhibit-eval-during-redisplay' to t.
2495
2496 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
2497
2498 * xdisp.c (inhibit_eval_during_redisplay)
2499 (Qinhibit_eval_during_redisplay): New variables.
2500 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
2501 don't eval, return nil instead.
2502 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
2503 Initialize Qinhibit_eval_during_redisplay.
2504
e719f5ae
GM
2505 * xdisp.c (reseat_to_string): If STRING is multibyte, set
2506 the iterator's multibyte_p flag.
2507
deb2613a
GM
2508 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
2509 instead of setting it to zero; it's incremented for each frame
2510 where the menu face is changed.
2511
52283633
SM
2512 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
2513 change bottom shadow accordingly.
2514
2515 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
2516 intersections here.
2517 (expose_window): Do it here instead.
52283633 2518 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 2519
f827b862
GM
2520 * bytecode.c (BYTE_CODE_QUIT): New macro.
2521 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
2522
4bde0ebb
GM
25232001-03-27 Gerd Moellmann <gerd@gnu.org>
2524
607ec83c
GM
2525 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
2526 Give up if matrix starts in an ellipsis.
2527 (init_from_display_pos): Do nothing if POS doesn't specify
2528 a dpvec_index but the iterator has such a position.
2529
0245398f
GM
2530 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
2531
aba25348
GM
2532 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
2533 x/y position is (0, 0) after destroying the menu bar, restore
2534 its original position.
2535
4bde0ebb
GM
2536 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
2537 (init_from_display_pos): Use it.
2538 (try_window_reusing_current_matrix): Don't use cursor_row_p.
2539
8cdb267e
GM
25402001-03-26 Gerd Moellmann <gerd@gnu.org>
2541
2542 * xdisp.c (try_window_id): Undo last change.
2543
9948db79
EZ
25442001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
2545
2546 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
2547
2548 * buffer.c (syms_of_buffer): Doc fix.
2549
2eddf899
GM
25502001-03-26 Gerd Moellmann <gerd@gnu.org>
2551
2552 * xfaces.c (x_update_menu_appearance): Use local variable
2553 popup_path for setting font resources.
2554
6c145d35
EZ
25552001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
2556
6a65b1b5
EZ
2557 * frame.c (Fframe_list): Don't reference tip_frame if
2558 HAVE_WINDOW_SYSTEM is not defined.
2559
6c145d35
EZ
2560 * emacs.c (main): Update the copyright year. From Werner LEMBERG
2561 <wl@gnu.org>.
2562
d74c1900
GM
25632001-03-25 Gerd Moellmann <gerd@gnu.org>
2564
20fbd925
GM
2565 * xdisp.c (init_from_display_pos): Test invisible property
2566 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 2567
927c5b3b
GM
2568 * xdisp.c (redisplay_internal) <update one window>: Make sure
2569 last_arrow_position and last_arrow_string are set.
2570
d74c1900
GM
2571 * frame.c (Fframe_list): Don't return a tooltip frame.
2572
091f8878
GM
25732001-03-23 Gerd Moellmann <gerd@gnu.org>
2574
52283633
SM
2575 * xdisp.c (mark_window_display_accurate_1): New function,
2576 extracted from mark_window_display_accurate.
2577 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
2578 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
2579 (mark_window_display_accurate): Use it.
2580 (redisplay_internal): Use it for the selected window.
2581 (redisplay_internal): Avoid duplicate mark_window_display_accurate
2582 for the selected frame.
2583
ac90c44f
GM
2584 * xdisp.c Use make_number, for readability.
2585 (try_window_id): Disable rows below the window end.
2586 (try_window_reusing_current_matrix): Use cursor_row_p.
2587 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
2588 of rows.
2589 (init_from_display_pos): If POS specifies a position in a display
2590 vector, maybe get the iterator set up for that ellipsis.
43c09969 2591
091f8878
GM
2592 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
2593
991786dd
EZ
25942001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
2595
2596 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
2597
6c29b43c
GM
25982001-03-23 Gerd Moellmann <gerd@gnu.org>
2599
2600 * xfaces.c (x_update_menu_appearance): Use a different path
2601 for Lucid popup menus.
2602
d8731202
SM
26032001-03-22 Stefan Monnier <monnier@cs.yale.edu>
2604
2605 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
2606
2607 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
2608 (string_buffer_position): Use `make_number'.
2609
f61a541b
GM
26102001-03-22 Gerd Moellmann <gerd@gnu.org>
2611
3c9e997b
GM
2612 * xfaces.c (x_update_menu_appearance): Renamed from
2613 x_set_menu_face_resources. Use different resources for popups.
2614
2615 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
2616 (GC_CHECK_STRING_BYTES): Don't define.
2617
364cd450
GM
2618 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
2619 Removed, together with subroutines.
2620 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 2621 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 2622
d8731202
SM
2623 * dispextern.h (x_set_menu_resources_from_menu_face):
2624 Remove prototype.
364cd450 2625
d8731202 2626 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
2627 Remove calls to x_set_menu_resources_from_menu_face.
2628
d8731202
SM
2629 * xfaces.c (xm_set_menu_resources_from_menu_face):
2630 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
2631
2632 * xmenu.c: Include widget.h.
2633 (single_submenu): Return int. Some cleanup.
2634 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
2635
140330de
GM
26362001-03-21 Gerd Moellmann <gerd@gnu.org>
2637
2638 * xterm.c (x_update_window_end): Handle overwritten mouse face
2639 also for tool bar windows.
2640 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
2641 DRAW is DRAW_IMAGE_RAISED.
2642
1741905c
GM
26432001-03-20 Gerd Moellmann <gerd@gnu.org>
2644
fa88947e
GM
2645 * print.c (syms_of_print): Doc fixes.
2646
1741905c
GM
2647 * fns.c (Fmd5): Doc fix.
2648
ade0bee1
GM
26492001-03-19 Gerd Moellmann <gerd@gnu.org>
2650
357e7376
GM
2651 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
2652 Clear area of the frame not occupied by the scroll bar.
2653
c2c097cc
GM
2654 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
2655 tip frame's root window buffer to *tip* right after creating
2656 the frame.
2657
ade0bee1
GM
2658 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
2659 is an integer don't have to be for space characters.
2660
88c6e37e
GM
26612001-03-16 Gerd Moellmann <gerd@gnu.org>
2662
52283633
SM
2663 * indent.c (current_column, current_column_1, Fmove_to_column)
2664 (compute_motion): Handle characters from display vectors differently.
88c6e37e 2665
c62eed76
KH
26662001-03-15 Kenichi Handa <handa@etl.go.jp>
2667
2668 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
2669 drawing glyph string.
2670
c899e7e6
GM
26712001-03-15 Gerd Moellmann <gerd@gnu.org>
2672
d0bbfc99
GM
2673 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
2674 (command_loop_1): Undo last change.
2675
03d1a189
GM
2676 * xterm.c (fast_find_position): Return the correct vpos.
2677
c899e7e6 2678 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 2679 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
2680 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
2681 Call store_symval_forwarding with BUF null.
2682 (set_internal): Call store_symval_forwarding with the BUF
2683 parameter passed to set_internal. Formerly, the value was always
2684 set in the current buffer; the buffer recorded in specbind for
2685 this case wasn't used.
2686 (arith_driver): Reindent.
2687
52283633
SM
2688 * buffer.c (swap_out_buffer_local_variables):
2689 Call store_symval_forwarding with BUF null.
c899e7e6
GM
2690
2691 * lisp.h (store_symval_forwarding): Change prototype.
2692
2693 * eval.c (specbind): Call store_symval_forwarding with BUF null.
2694
57ac7c81
GM
26952001-03-14 Gerd Moellmann <gerd@gnu.org>
2696
697617d9
GM
2697 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
2698 FOR_DELETION. Avoid resizing the mini-window of the selected
2699 frame if FOR_DELETION is set.
2700 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
2701 (Fmake_frame_invisible): Change calls to do_switch_frame for new
2702 signature.
2703
2704 * window.c (Fset_window_configuration): Change call to
2705 do_switch_frame to new format.
2706
2707 * keyboard.c (quit_throw_to_read_char): Change call to
2708 do_switch_frame to new format.
2709
2710 * lisp.h (do_switch_frame): Change prototype.
2711
819dce0f
GM
2712 * frame.c (Fframe_parameters): In the `buffer-list' frame
2713 parameter, store the buffer list of FRAME, not the list of the
2714 selected frame.
2715
57ac7c81
GM
2716 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
2717 box just because the glyph row's full_width_p flag is set.
2718
65008712
GM
27192001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
2720
2721 * xdisp.c (highlight_trailing_whitespace): On character terminals,
2722 skip the padding blanks inserted in extend_face_to_end_of_line,
2723 before checking for trailing whitespace.
2724
159cf431
GM
27252001-03-13 Gerd Moellmann <gerd@gnu.org>
2726
52283633 2727 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
2728 Remove special handling for LessTif/Motif.
2729 (toplevel): Don't include Xm/Xm.h.
2730
52283633
SM
2731 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
2732 Remove workaround code for LessTif; it doesn't work anymore.
2733
2564ea1b 2734 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 2735 Xm/ScrollBarP.h.
afcdc0a1 2736
52283633
SM
2737 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
2738 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
2739 contemporary LessTif.
2740
52283633
SM
2741 * xfaces.c (xm_set_menu_resources_from_menu_face):
2742 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 2743
159cf431
GM
2744 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
2745 removing button grabs.
2746
c6f7429a
KH
27472001-03-13 Kenichi Handa <handa@etl.go.jp>
2748
cb82d767
KH
2749 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
2750 and clip-large-size-font as obsolete.
2751
c6f7429a
KH
2752 * lread.c (read_multibyte): Check the validity of multibyte
2753 sequence. If invalid, return the first byte.
2754
760cefb5
GM
27552001-03-12 Gerd Moellmann <gerd@gnu.org>
2756
2757 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
2758 before running the command; timer functions or process
2759 filters may have set it.
2760
5141f9d0
EZ
27612001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
2762
2763 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
2764 Doc fix.
2765
b6a15240
GM
27662001-03-12 Gerd Moellmann <gerd@gnu.org>
2767
2768 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
2769 to sprintf.
2770
95522746
GM
27712001-03-09 Gerd Moellmann <gerd@gnu.org>
2772
db14cfc5
GM
2773 * dispextern.h (string_buffer_position): Add prototype.
2774
52283633 2775 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
2776 (single_display_prop_string_p): New functions.
2777
2778 * xterm.c (note_mouse_highlight): If there's no help-echo on
2779 a string, look at the buffer text ``under'' it.
2780
2781 * keyboard.c (make_lispy_event): Add string info to the event,
2782 analogous to what's done on mode lines.
2783 (read_key_sequence): For a click on a string, consider `local-map'
2784 and `keymap' of that string.
2785
52283633
SM
2786 * keyboard.c (make_lispy_event, make_lispy_movement):
2787 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
2788
2789 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
2790
2791 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
2792 POS; return void.
2793
95522746
GM
2794 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
2795 flags argument to emacs_open; it seems to conflict with O_EXCL.
2796
898a399d
KH
27972001-03-09 Kenichi Handa <handa@etl.go.jp>
2798
28cd4910
KH
2799 * composite.h (struct composition): Change types of members;
2800 glyph_len to unsigned, width to unsigned short.
898a399d 2801
4cdf6a6c
AI
28022001-03-08 Andrew Innes <andrewi@gnu.org>
2803
2804 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
2805 menu titles.
2806
129004d3
GM
28072001-03-08 Gerd Moellmann <gerd@gnu.org>
2808
221dd3e7
GM
2809 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
2810 instead of nil.
2811
52283633 2812 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
2813 help-echo in strings.
2814 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
2815 (fast_find_string_pos): New function.
2816
52283633
SM
2817 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
2818 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
2819
2820 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
2821 Handle `mouse-face'.
2822
2823 * dispextern.h (face_at_string_position): Change prototype.
2824
52283633 2825 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 2826
129004d3
GM
2827 * keyboard.c (make_lispy_event): Avoid generating drag events
2828 if the mouse hasn't actually moved to another buffer position.
52283633 2829
80c8ab8c
DL
28302001-03-08 Dave Love <fx@gnu.org>
2831
129004d3 2832 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 2833
989521fd
GM
28342001-03-08 Gerd Moellmann <gerd@gnu.org>
2835
2836 * process.c (Fset_process_window_size): Fix a typo.
2837
bb5c338d
KH
28382001-03-08 Kenichi Handa <handa@etl.go.jp>
2839
2840 * coding.c (detect_coding_sjis): Do more rigid check.
2841 (detect_coding_big5): Likewise.
2842 (decode_coding_sjis_big5): Likewise.
2843 (Fdetect_coding_region): Call detect_coding_system with tailing
2844 anchor byte `\0' for more rigid detection.
52283633 2845 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
2846 (Fdetect_coding_string): Likewise.
2847
8b8f9197
SM
28482001-03-07 Stefan Monnier <monnier@cs.yale.edu>
2849
2850 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
2851 a string before extracting its data.
2852
3bdf2660
GM
28532001-03-07 Gerd Moellmann <gerd@gnu.org>
2854
2855 * window.c (Frecenter): Rewrite code handling negative values
2856 of ARG on graphical frames.
2857
28582001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
2859
2860 * window.c (displayed_window_lines): If W->start is outside the
2861 accessible portion of the buffer, call start_display with BEGV or
2862 ZV instead of W->start.
2863
471f86b9
GM
28642001-03-07 Gerd Moellmann <gerd@gnu.org>
2865
2ab62c6c
GM
2866 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
2867
471f86b9
GM
2868 * process.c (Fset_process_filter): Don't crash if the input
2869 file descriptor of PROCESS is closed.
2870 (Fset_process_window_size): Likewise.
2871
101922c3
GM
28722001-03-06 Kenichi Handa <handa@etl.go.jp>
2873
2874 * xterm.c (XTflash): Make the timeout of select shorter, and call
2875 select repeatedly until the desired time expires.
2876
45d051a7
GM
28772001-03-06 Gerd Moellmann <gerd@gnu.org>
2878
2879 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
2880
2881 * xfns.c (Fx_create_frame): Clear Vwindow_list.
2882
2883 * lisp.h (Vwindow_list): Declare extern.
2884
8f372c46
EZ
28852001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
2886
2887 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
2888
f16a7aa5
GM
28892001-03-06 Gerd Moellmann <gerd@gnu.org>
2890
157ae273
GM
2891 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
2892 to detect a case where we have to highlight a different region
2893 despite not having left the currently highlighted region.
2894 Set mouse_face_overlay in the x_display_info.
45d051a7 2895 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
2896
2897 * xterm.h (struct x_display_info): Add mouse_face_overlay.
2898
2899 * buffer.c (mouse_face_overlay_overlaps): New function.
2900
2901 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
2902 (Qmouse_face): Declare extern.
2903
f16a7aa5
GM
2904 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
2905 if face_change_count is non-zero.
2906
827afcac
KH
29072001-03-06 Kenichi Handa <handa@etl.go.jp>
2908
2909 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
2910 that the source is unibyte.
2911
14c7242e
DL
29122001-03-05 Dave Love <fx@gnu.org>
2913
827afcac 2914 * xterm.c (XTmouse_position): Fix typo.
14c7242e 2915
c28b847b
GM
29162001-03-05 Gerd Moellmann <gerd@gnu.org>
2917
2918 * minibuf.c (read_minibuf): Clean up the binding stack if
2919 called noninteractively.
2920
b86644f2
KH
29212001-03-05 Kenichi Handa <handa@etl.go.jp>
2922
2923 * coding.c (syms_of_coding): Docstring modified.
2924
203682cc 29252001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
2926
2927 * charset.c (char_to_string): If a single byte char has modifier
2928 bits that can't be reflected to the character code, ignore them
45d051a7 2929 instead of signaling an error.
b86644f2 2930
e30bd7b7
EZ
29312001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
2932
2933 * s/msdos.h: Update copyright notice.
2934
2935 * dosfns.h: Update copyright notice.
2936
2937 * dosfns.c: Update copyright notice.
2938
2939 * msdos.c: Update copyright notice.
2940
b52b65bd
GM
29412001-03-02 Gerd Moellmann <gerd@gnu.org>
2942
2943 * xterm.c (glyph_rect): New function.
2944 (XTmouse_position): Use it to raise the threshold for mouse
2945 movement event generation.
2946
53c4b1e6
EZ
29472001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
2948
2949 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
2950 specifies (reverse . t), reverse the initial screen colors.
2951 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
2952 but we are reversing the colors, set bg_set, not fg_set.
2953 Likewise for setting background-color and reversing: set fg_set.
2954 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
2955 in effect.
2956
2957 * xfaces.c (Finternal_set_lisp_face_attribute)
2958 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
2959 parameters alist.
2960
f964b4d7
GM
29612001-03-02 Gerd Moellmann <gerd@gnu.org>
2962
ef53d75e
GM
2963 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
2964 to a single slash in the middle of file names.
2965
52283633 2966 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
2967 Accept only alphanumeric time zone names.
2968
f964b4d7
GM
2969 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
2970 or width area.
2971 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
2972 a widget to zero height.
52283633 2973
c3c45f65
GM
29742001-03-01 Gerd Moellmann <gerd@gnu.org>
2975
2976 * window.c (Fwindow_end): Call move_it_past_eol only if
2977 ending up on a partially visible line.
2978
028d739a
DL
29792001-03-01 Dave Love <fx@gnu.org>
2980
2981 * ccl.c (Fccl_execute): Doc fix.
2982
57c5889c
GM
29832001-03-01 Gerd Moellmann <gerd@gnu.org>
2984
35f59f6b
GM
2985 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
2986 of the tool bar before calling x_figure_window_size.
2987
f84ff02c
GM
2988 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
2989 NULL after destroying it, otherwise XTread_socket can access a
2990 destroyed widget when input is unblocked.
2991
8b8f9197 2992 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 2993
57c5889c
GM
2994 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
2995 same name as before, although there was a change in fontsets.
2996
224227d1
KR
29972001-02-28 Ken Raeburn <raeburn@gnu.org>
2998
4560730a
KR
2999 * lisp.h (Fframe_parameter): Declare.
3000
224227d1 3001 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 3002 Lisp_Object.
224227d1 3003
ece93c02
GM
30042001-02-28 Gerd Moellmann <gerd@gnu.org>
3005
11ef99b9
GM
3006 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
3007 NULL instead.
3008
3009 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
3010 NULL instead.
3011
ece93c02
GM
3012 * alloc.c (toplevel): Include process.h.
3013 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
3014 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
3015 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
3016 (allocate_vector, allocate_hash_table, allocate_window)
3017 (allocate_frame, allocate_process, allocate_other_vector):
3018 New functions.
ece93c02
GM
3019 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
3020 (mark_maybe_pointer): New function.
52283633 3021 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
3022 remain and not Lisp_Objects.
3023 (min_heap_address, max_heap_address): New variables.
3024 (mem_find): Return MEM_NIL if START is below min_heap_address or
3025 above max_heap_address.
3026 (mem_insert): Compute min_heap_address and max_heap_address.
3027
3028 * process.c (make_process): Use allocate_process.
3029
3030 * frame.c (make_frame): Use allocate_frame.
3031
3032 * window.c (make_window, make_dummy_parent): Use allocate_window.
3033 (Fcurrent_window_configuration): Use allocate_other_vector.
3034
3035 * lisp.h (allocate_vectorlike): Remove prototype.
3036 (allocate_vector, allocate_other_vector, allocate_frame)
3037 (allocate_window, allocate_process, allocate_hash_table):
3038 Add prototypes.
3039
3040 * fns.c (Fdelete, larger_vector): Use allocate_vector.
3041 (make_hash_table, copy_hash_table): Use allocate_hash_table.
3042
063af457
KH
30432001-02-27 Kenichi Handa <handa@etl.go.jp>
3044
3045 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
3046 treat the produced bytes as a valid multibyte sequence.
3047
3048 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
3049 (ccl_driver) <CCL_WriteMultibyteChar2>:
3050 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
3051 <ccl_finish>: Set ccl->eight_bit_control properly.
3052
3053 * ccl.h (struct ccl_program): New member eight_bit_control.
3054
f58c6494
SM
30552001-02-26 Stefan Monnier <monnier@cs.yale.edu>
3056
3057 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
3058 accessible_keymaps_char_table.
3059 (accessible_keymaps_char_table): Obey `is_metized'.
3060 (where_is_internal, Fwhere_is_internal): Don't confuse int and
3061 Lisp_Object.
3062
c596c392
GM
30632001-02-26 Gerd Moellmann <gerd@gnu.org>
3064
3065 * dispnew.c: Check HAVE_TERM_H before including term.h.
3066
425de386
AI
30672001-02-24 Andrew Innes <andrewi@gnu.org>
3068
3069 * makefile.w32-in: Update copyright notice.
3070
2ba11bbd
SM
30712001-02-24 Stefan Monnier <monnier@cs.yale.edu>
3072
3073 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
3074
66c56ed1
KH
30752001-02-24 Kenichi Handa <handa@etl.go.jp>
3076
4c1593ce
KH
3077 * Makefile.in (lisp): Add international/utf-8.elc.
3078
66c56ed1
KH
3079 * fontset.c (Fnew_fontset): Fix handling of the case that an
3080 element of FONTLIST is a cons of family and registry.
3081
796ead7e
JR
30822001-02-23 Jason Rumney <jasonr@gnu.org>
3083
3084 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
3085 to height unconditionally.
3086
3087 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 3088 background face to the end of the drawing area in the text area, only.
796ead7e
JR
3089 (x_insert_glyphs): Call window_box_left to obtain the left
3090 x-coordinate of the area to shift.
3091
3092 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
3093 safe_run_hooks.
3094
f6839838
AI
30952001-02-22 Andrew Innes <andrewi@gnu.org>
3096
52283633 3097 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
3098 ($(BLD)\dispnew.obj):
3099 ($(BLD)\editfns.obj):
3100 ($(BLD)\fileio.obj):
3101 ($(BLD)\filelock.obj):
3102 ($(BLD)\keyboard.obj):
3103 ($(BLD)\w32proc.obj):
3104 ($(BLD)\process.obj):
3105 ($(BLD)\sysdep.obj): Ditto.
3106
3107 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
3108 header files.
52283633
SM
3109 ($(BLD)/dispnew.$(O)):
3110 ($(BLD)/editfns.$(O)):
3111 ($(BLD)/fileio.$(O)):
3112 ($(BLD)/filelock.$(O)):
3113 ($(BLD)/keyboard.$(O)):
3114 ($(BLD)/w32proc.$(O)):
3115 ($(BLD)/process.$(O)):
f6839838
AI
3116 ($(BLD)/sysdep.$(O)): Ditto.
3117
c224f70b
GM
31182001-02-22 Gerd Moellmann <gerd@gnu.org>
3119
51695746
GM
3120 * xdisp.c (forward_to_next_line_start): When taking the shortcut
3121 at the start of the function, check that the \n in it->c is
3122 from the iterator's current position.
52283633 3123
a61b7058
GM
3124 * xdisp.c (handle_single_display_prop): Add parameter
3125 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
3126 properties which replace the display of text with something else.
3127 (handle_display_prop): Call handle_single_display_prop with
3128 additional argument saying if we already replaced text display
3129 with something else. Use AREF.
52283633 3130 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
3131 (decode_mode_spec_coding): Use AREF and ASIZE.
3132
3473f362
GM
3133 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
3134 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
3135 * vmstime.h: Files removed.
52283633 3136
2bb58df3
GM
3137 * unexencap.c, unexfx2800.c: Files removed.
3138
c224f70b
GM
3139 * dispnew.c (direct_output_for_insert): Give up if we are showing
3140 a message or just cleared the message because we might need to
3141 resize the echo area window or display an empty echo area.
3142
ffc9ff0c
GM
31432001-02-21 Gerd Moellmann <gerd@gnu.org>
3144
0528abe1
GM
3145 * xdisp.c (redisplay_internal): Do the
3146 mark_window_display_accurate after all windows have been
3147 redisplayed because this call resets flags in buffers which are
3148 needed for proper redisplay.
3149
52283633
SM
3150 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
3151 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
3152 the old names.
3153
52283633
SM
3154 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3155 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3156
3157 * msdos.h (struct x_output): Rename busy_window to
3158 hourglass_window, busy_p to hourglass_p.
3159
52283633
SM
3160 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3161 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3162
3163 * xfns.c: Rename everything containing *busy_cursor* and similar
3164 to *hourglass*.
3165 (syms_of_w32fns): Rename x-busy-pointer-shape to
3166 x-hourglass-pointer-shape, display-busy-cursor to
3167 display-hourglass, busy-cursor-delay to hourglass-delay.
3168
3169 * w32fns.c: Rename everything containing *busy_cursor* and similar
3170 to *hourglass*.
3171 (syms_of_w32fns): Rename x-busy-pointer-shape to
3172 x-hourglass-pointer-shape, display-busy-cursor to
3173 display-hourglass, busy-cursor-delay to hourglass-delay.
3174
3175 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
3176 of its busy_p flag.
3177
3178 * dispextern.h (start_hourglass, cancel_hourglass)
3179 (display_hourglass_p): Renamed from *busy_cursor*.
3180
ab2c5f0a
GM
31812001-02-20 Gerd Moellmann <gerd@gnu.org>
3182
d17e49a8
GM
3183 * keyboard.c (read_char): When an event from unread-command-events
3184 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
3185
fa97adf6
GM
3186 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
3187 equal to the current buffer.
3188
ab2c5f0a
GM
3189 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
3190 nil, otherwise we're left with truncate_lines t when a message
3191 is printed with message-truncate-lines bound to t.
3192
aeac019e
GM
31932001-02-19 Gerd Moellmann <gerd@gnu.org>
3194
c8bc6f65
GM
3195 * window.c (Fmove_to_window_line): Undo last change.
3196 (displayed_window_lines): Call line_bottom_y to determine
3197 the line's bottom position.
3198
3199 * dispextern.h (line_bottom_y): Add prototype.
3200
52283633 3201 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
3202 (pos_visible_p): Use it.
3203
980a2d69
GM
3204 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
3205 set redisplaying_p to 0 here instead of in Frecursive_edit.
3206 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
3207 set redisplaying_p.
3208
52283633 3209 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
3210 New variables.
3211 (syms_of_xdisp): Initialize new variables.
3212 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
3213 Specbind `inhibit-menubar-update' when updating the menu bar.
3214
65048e97
GM
3215 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
3216 safe_run_hooks.
3217
3218 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
3219 safe_run_hooks.
3220
a57c4026
GM
3221 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
3222 is null.
3223
aeac019e
GM
3224 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
3225 to the start of the file.
3226
76846b31
GM
32272001-02-16 Gerd Moellmann <gerd@gnu.org>
3228
f3f053f3 3229 * window.c (set_window_buffer): Fix last change.
52283633 3230
f3f053f3
GM
3231 * window.c (set_window_buffer): Set window's vscroll to 0.
3232
dad75588
GM
3233 * window.c (coordinates_in_window): Increase width of area
3234 where the vertical line can be dragged.
3235
c220b753
GM
3236 * xterm.c (x_set_glyph_string_background_width): Extend the
3237 background face to the end of the drawing area in the text
3238 area, only.
3239
c56b1c1b
GM
3240 * xdisp.c (handle_single_display_prop): Set iterator's position
3241 to where the `display' property starts, like for images.
3242 (dump_glyph): New function.
3243 (dump_glyph_row): Use it. Dump info about marginal areas.
3244
3245 * dispnew.c (direct_output_for_insert): Recognize more cases where
3246 glyphs can be written instead of being inserted.
3247
3248 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
3249 the left x-coordinate of the area to shift.
3250
76846b31
GM
3251 * dired.c (directory_files_internal): Set result list to nil
3252 before retrying.
3253
0fc71a77
KH
32542001-02-15 Kenichi Handa <handa@etl.go.jp>
3255
3256 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
3257 invalid multibyte sequence, treat *SRC as a character of
3258 eight-bit-graphic.
3259
25078b54
EZ
32602001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
3261
3262 * textprop.c (Fset_text_properties): Doc fix.
3263
8399f8a0
GM
32642001-02-15 Gerd Moellmann <gerd@gnu.org>
3265
3266 * dispnew.c (update_text_area): Undo change of 2001-01-12.
3267
9a2a6f73
DL
32682001-02-14 Dave Love <fx@gnu.org>
3269
3270 * coding.c: Doc and message fixes.
3271
bf853fee
AI
32722001-02-14 Andrew Innes <andrewi@gnu.org>
3273
3274 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
3275 Emacs frame above the screen size.
3276
78c663d8
GM
32772001-02-14 Gerd Moellmann <gerd@gnu.org>
3278
3279 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
3280
7cc9f69f
GM
32812001-02-13 Gerd Moellmann <gerd@gnu.org>
3282
0a411995
GM
3283 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
3284 case that TO ends up beyond ZV after running before-change-functions.
3285
5ddc1b75
GM
3286 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
3287 the selected window if it is showing the buffer in question.
3288
7cc9f69f
GM
3289 * dired.c (directory_files_internal): Initialize errno.
3290 (toplevel): Include errno.h.
3291
2e6621ca
GM
32922001-02-13 Kenichi Handa <handa@etl.go.jp>
3293
3294 * xfaces.c (best_matching_font): New parameter width_ratio.
3295 Multiply avgwidth by width_ratio.
3296 (choose_face_font): Call best_matching_font with width_ratio
3297 calculated from the column width of C.
3298
60222d69
AI
32992001-02-12 Andrew Innes <andrewi@gnu.org>
3300
3301 The following changes are to draw box lines inside characters area
3302 if line-width is negative.
52283633 3303
60222d69
AI
3304 * w32term.c (x_produce_image_glyph): Pay attention to the case that
3305 face->box_line_width is negative.
3306 (x_produce_stretch_glyph): Likewise.
3307 (x_produce_glyphs): Likewise.
3308 (x_estimate_mode_line_height): Likewise.
3309 (x_draw_glyph_string_background): Likewise.
3310 (x_draw_glyph_string_foreground): Likewise.
3311 (x_draw_composite_glyph_string_foreground): Likewise.
3312 (x_draw_glyph_string_box): Likewise.
3313 (x_draw_image_foreground): Likewise.
3314 (x_draw_image_relief): Likewise.
3315 (x_draw_image_foreground_1): Likewise.
3316 (x_draw_image_glyph_string): Likewise.
3317
9804b846
KH
33182001-02-09 Kenichi Handa <handa@etl.go.jp>
3319
3320 The following changes are to draw box lines inside characters area
3321 if line-width is negative.
52283633 3322
9804b846
KH
3323 * xterm.c (x_produce_image_glyph): Pay attention to the case that
3324 face->box_line_width is negative.
3325 (x_produce_stretch_glyph): Likewise.
3326 (x_produce_glyphs): Likewise.
3327 (x_estimate_mode_line_height): Likewise.
3328 (x_draw_glyph_string_background): Likewise.
3329 (x_draw_glyph_string_foreground): Likewise.
3330 (x_draw_composite_glyph_string_foreground): Likewise.
3331 (x_draw_glyph_string_box): Likewise.
3332 (x_draw_image_foreground): Likewise.
3333 (x_draw_image_relief): Likewise.
3334 (x_draw_image_foreground_1): Likewise.
3335 (x_draw_image_glyph_string): Likewise.
3336
3337 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
3338 and :line-width can be negative.
52283633 3339 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 3340
49be9f70
JR
33412001-02-09 Jason Rumney <jasonr@gnu.org>
3342
3343 * w32term.c (w32_encode_char): Treat eight bit graphic and control
3344 characters the same as ASCII and latin-1.
3345 (x_display_and_set_cursor): Check for the focus frame's selected
3346 window instead of selected_window.
3347 (x_after_update_window_line): Don't clear if frame's internal
3348 border width is zero.
3349 (x_new_font): Don't change a tooltip's size.
3350 (w32_initialize): Set char_ins_del_ok to 1.
3351
3352 * w32fns.c (Fx_show_tip): Fix calls to make_number.
3353 (x_set_font): If font hasn't changed, avoid recomputing
3354 faces and other things.
52283633
SM
3355 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
3356 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
3357 (x_create_tip_frame): Prevent changing the tooltip's
3358 background color by specifying a color for the default font
3359 in .Xdefaults.
3360 (Qcancel_timer): New variable.
3361 (syms_of_w32fns): Initialize and staticpro it.
3362 (Fx_hide_tip, Fx_show_tip): Use it.
3363 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
3364 the timer.
3365 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
3366
3367 * w32.c (init_environment): Duplicate local string before putenv.
3368
555e35d2
SZ
33692001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
3370
3371 * charset.c (Fstring): A typo.
3372
19c92c94
KH
33732001-02-09 Kenichi Handa <handa@etl.go.jp>
3374
e47a1c33
KH
3375 * charset.c (Fstring): If all arguments are less than 256, return
3376 a unibyte string.
3377
3378 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
3379 return a unibyte string.
3380
19c92c94
KH
3381 * coding.c (code_convert_region): After detecting a coding, if
3382 nothing found, set coding->composing to COMPOSITION_NO.
3383 (decode_coding_string): Likewise.
3384
d8e675f5
SM
33852001-02-08 Stefan Monnier <monnier@cs.yale.edu>
3386
3387 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
3388 to avoid overflow.
3389
bd503487
KH
33902001-02-07 Kenichi Handa <handa@etl.go.jp>
3391
3392 * charset.c (parse_str_to_multibyte): New function.
3393
3394 * charset.h (parse_str_to_multibyte): Extern it.
3395
3396 * print.c (print_string): If we are going to print a unibyte
3397 string into a multibyte buffer, convert the string to multibyte by
3398 str_to_multibyte.
3399
a8370d72
AI
34002001-02-06 Andrew Innes <andrewi@gnu.org>
3401
3402 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
3403 been created. It seems we can get sent window messages such as
3404 WM_ERASEBKGND before we properly update a frame.
3405
c363a1d6
GM
34062001-02-06 Gerd Moellmann <gerd@gnu.org>
3407
3408 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
3409 Avoid some unnecessary cursor positioning.
3410
a08332c0
GM
34112001-02-05 Gerd Moellmann <gerd@gnu.org>
3412
52283633 3413 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
3414 (LFACE_AVGWIDTH): New macro.
3415 (LFACEP): Use AREF.
3416 (check_lface_attrs): Check LFACE_AVGWIDTH.
3417 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
3418 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
3419 (merge_face_vectors): Check LFACE_AVGWIDTH.
3420 (Finternal_make_lisp_face): Use AREF.
3421 (xm_set_menu_resources_from_menu_face)
3422 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
3423 (Finternal_lisp_face_empty_p): Use AREF.
3424 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
3425 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
3426 Compare average widths..
3427 (best_matching_font): Arrange for comparing average widths.
3428
52283633
SM
3429 * dispextern.h (enum lface_attribute_index):
3430 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
3431
5cb3c8d4
DL
34322001-02-05 Dave Love <fx@gnu.org>
3433
3434 * puresize.h: Revert last change following loadup.el change.
3435
193fba87
AI
34362001-02-05 Andrew Innes <andrewi@gnu.org>
3437
3438 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
3439 invocation of temacs, to work with Windows 2000.
3440 (bootstrap-emacs): Ditto.
3441
e16f52ce
GM
34422001-02-05 Gerd Moellmann <gerd@gnu.org>
3443
7a58ab59
GM
3444 * xterm.c (x_display_and_set_cursor): Check for the focus
3445 frame's selected window instead of selected_window.
3446
e89aaabd
GM
3447 * xdisp.c (try_scrolling): If point is in the line below the
3448 window, make sure to move the iterator at least a canonical
3449 char height down.
3450
52283633 3451 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 3452
789ce875
KH
34532001-02-05 Kenichi Handa <handa@etl.go.jp>
3454
52283633
SM
3455 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
3456 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
3457 (ccl_driver): If the CCL program is terminated because of
3458 CCL_STAT_INVALID_CMD, copy the remaining source data to the
3459 destination instead of throwing them away.
3460
20b28f82
GM
34612001-02-02 Gerd Moellmann <gerd@gnu.org>
3462
79fb38c0
GM
3463 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
3464 faces and other things.
3465
20b28f82
GM
3466 * xdisp.c (get_next_display_element): Fix case of empty
3467 display table entry.
3468
5a72551e
EZ
34692001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
3470
eb24d0bf
EZ
3471 * editfns.c (Fconstrain_to_field): Doc fix.
3472
6a3f48c7
EZ
3473 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
3474 into `thoroughly', to make it consistent with the doc string.
3475
5a72551e
EZ
3476 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
3477
01acdb05
GM
34782001-02-01 Gerd Moellmann <gerd@gnu.org>
3479
0353b28f
GM
3480 * search.c (search_buffer): Call set_search_regs with a byte
3481 position, not a character position.
3482
01acdb05
GM
3483 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
3484 minibuffer-only,
3485
e86b5133
EZ
34862001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
3487
3488 * frame.c (Fmodify_frame_parameters): Doc fix.
3489
7442878f
GM
34902001-01-31 Gerd Moellmann <gerd@gnu.org>
3491
01acdb05
GM
3492 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
3493 identifier which is not reserved by Standard C.
52283633 3494
7442878f
GM
3495 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
3496
3497 * window.c (enum window_part): New enumeration.
3498 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
3499 Qright_bitmap_area.
3500 (coordinates_in_window): Return an enumerator from enum
3501 window_part. Fix handling of right scroll bar.
3502 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
3503 `right-fringe' instead of `left-bitmap-area' and
3504 `right-bitmap-area'. Use enumerators from enum window_part
3505 instead of hard-coded integers.
52283633
SM
3506 (check_window_containing, window_from_coordinates):
3507 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
3508 (syms_of_window): Replace Qleft_bitmap_area and
3509 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
3510
7c132cba
EZ
35112001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
3512
3513 * editfns.c (Fformat_time_string): Doc fix.
3514
c359dd9e
SM
35152001-01-31 Stefan Monnier <monnier@cs.yale.edu>
3516
3517 * keymap.c (Fwhere_is_internal): Use the first valid binding
3518 if no ascii binding is found (when firstonly is t).
3519
ce070307
GM
35202001-01-31 Gerd Moellmann <gerd@gnu.org>
3521
b4f30ec5
GM
3522 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
3523 instead of Finteractive_p.
3524
3525 * lisp.h (interactive_p): Add prototype.
3526
3527 * eval.c (interactive_p): New function.
3528 (Finteractive_p): Use it.
3529
ce070307
GM
3530 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
3531
f57b6e64
DL
35322001-01-31 Dave Love <fx@gnu.org>
3533
d61c7afe
DL
3534 * .gdbinit (hook-run): Define to run xreload.
3535
f57b6e64
DL
3536 * textprop.c (Fset_text_properties): Fix newline in doc string.
3537
eef93f99
GM
35382001-01-30 Gerd Moellmann <gerd@gnu.org>
3539
52283633
SM
3540 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
3541 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
3542
3543 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 3544 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
3545 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
3546
3547 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
3548 height.
3549
d9c1f6f9
DL
35502001-01-30 Dave Love <fx@gnu.org>
3551
3552 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
3553 AFTER_POTENTIAL_GC.
3554
e8f044a0
GM
35552001-01-29 Gerd Moellmann <gerd@gnu.org>
3556
52283633
SM
3557 * bytecode.c (Fbyte_code) <Bcurrent_column>:
3558 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 3559
8e1db7b3
EZ
35602001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
3561
3562 * textprop.c (Fset_text_properties): Doc fix.
3563
4eefd9d2
GM
35642001-01-29 Gerd Moellmann <gerd@gnu.org>
3565
3566 * xdisp.c (forward_to_next_line_start): Remove xassert.
3567
fccb8288
EZ
35682001-01-29 Jason Rumney <jasonr@gnu.org>
3569
4eefd9d2 3570 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
3571 returning without releasing it.
3572
76581eab
KH
35732001-01-29 Kenichi Handa <handa@etl.go.jp>
3574
3575 * w32fns.c (w32_font_match): Allocate three more bytes to regex
3576 for '^', '$', and '\0'.
3577
83a96b4d
AC
35782001-01-28 Andrew Choi <akochoi@i-cable.com>
3579
5604ec34
AC
3580 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
3581 regex for '^', '$', and '\0'.
3582
83a96b4d
AC
3583 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
3584 only if current_sblock has been initialized.
3585
3586 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
3587 terminal frame even if it is the only visible frame.
3588
c09a6440
KH
35892001-01-28 Kenichi Handa <handa@etl.go.jp>
3590
3591 * fontset.c (font_family_registry): Even if FONTNAME conform to
3592 XLFD, if it specifies other fields than family and registry,
52283633 3593 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 3594 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
3595 a signle byte character. Don't set FAMILY part to nil here.
3596 It is handled by the caller choose_face_font.
c09a6440
KH
3597 (Fnew_fontset): Call font_family_registry with FORCE 0.
3598 (Fset_fontset_font): Likewise.
3599
4dcd74e6
GM
36002001-01-27 Gerd Moellmann <gerd@gnu.org>
3601
3602 * xdisp.c (display_line): Don't treat a newline as fitting
3603 on the line.
3604
d2906bf8
GM
36052001-01-26 Gerd Moellmann <gerd@gnu.org>
3606
0130fe1a
GM
3607 * window.c (size_window): Set the window's orig_top to nil when
3608 changing heights, so that a future shrink_mini_window won't
3609 restore a bogus height.
3610
550f0e6a
GM
3611 * frame.c (do_switch_frame): If selected frame has a mini-window,
3612 resize that to exact size.
3613
b7b20fbd
GM
3614 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
3615
a47b7816
GM
3616 * xdisp.c (display_line): Simplify check for glyphs fitting
3617 entirely in the line.
3618
d2906bf8
GM
3619 * xfns.c (xic_style): New variable.
3620 (create_frame_xic): Move static variable to global scope for
550f0e6a 3621 the case that `static' gets defined away.
d2906bf8 3622
73df2b1e
KH
36232001-01-26 Kenichi Handa <handa@etl.go.jp>
3624
3625 * coding.c (decode_coding): Set a flag for inhibiting
3626 inconsistent eol.
3627 (code_convert_region): Always set saved_coding_symbol.
3628 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 3629 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 3630
6613cfc4
GM
36312001-01-25 Gerd Moellmann <gerd@gnu.org>
3632
c5e6e06b
GM
3633 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
3634 XClearArea.
3635
3636 * xterm.c (x_after_update_window_line): Don't clear if frame's
3637 internal border width is zero.
3638 (x_clear_area): New function.
3639 (x_after_update_window_line, x_clear_end_of_line)
3640 (x_scroll_bar_create, x_scroll_bar_set_handle)
3641 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
3642 instead of XClearArea.
3643
3644 * xterm.h (x_clear_area): Add prototype.
3645
6613cfc4
GM
3646 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
3647 which doesn't seem necessary anymore with Lesstif 0.92.
3648
650cc6cc
DL
36492001-01-25 Dave Love <fx@gnu.org>
3650
34ac3367
DL
3651 * puresize.h (BASE_PURESIZE): Up to 720000.
3652
650cc6cc
DL
3653 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
3654
5e37dc22
GM
36552001-01-25 Gerd Moellmann <gerd@gnu.org>
3656
e1e441f9
GM
3657 * xdisp.c (echo_area_display): Don't call redisplay_internal
3658 when Emacs is shutting down. We can't run hooks etc. that
3659 would be necessary to do a redisplay.
3660
5e37dc22
GM
3661 * lread.c (read_integer): Use type EMACS_INT instead of int.
3662
0fb94c7f
EZ
36632001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
3664
3665 * ccl.c (ccl_driver): Fix last change.
3666
e3778624
KH
36672001-01-25 Kenichi Handa <handa@etl.go.jp>
3668
3669 * ccl.h (sturct ccl_program): New member suppress_error.
3670
bb264518 3671 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
3672 insert error message to the output.
3673 (setup_ccl_program): Initialize ccl->suppress_error to 0.
3674
3675 * coding.h (struct coding_system): New member suppress_error.
3676
3677 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
3678 (Fset_terminal_coding_system_internal): Set the member
3679 suppress_error to 1.
3680 (Fset_safe_terminal_coding_system_internal): Likewise.
3681
245ed2b1
SM
36822001-01-24 Stefan Monnier <monnier@cs.yale.edu>
3683
3684 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
3685 as if it was a `charset'.
3686
f9aaedb6
GM
36872001-01-24 Gerd Moellmann <gerd@gnu.org>
3688
3689 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
3690 value in where_is_cache; the next lookup in the cache returns
3691 something bogus if we do.
3692
c3902c3e
EZ
36932001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
3694
3695 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
3696 if HAVE_WINDOW_SYSTEM isn't defined.
3697
3497f73e
GM
36982001-01-24 Gerd Moellmann <gerd@gnu.org>
3699
e7e41584
GM
3700 * fns.c (sweep_weak_table): Fix code taking items out of
3701 the hash collision chain. Some cleanup.
3702
3497f73e
GM
3703 * xterm.c (x_new_font): Don't change a tooltip's size.
3704
3705 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
3706 background color by specifying a color for the default font
3707 in .Xdefaults.
3708
3d48e687
KH
37092001-01-24 Kenichi Handa <handa@etl.go.jp>
3710
96531b20
KH
3711 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
3712 a workaround for SunOS 4's cc.
3713 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
3714 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
3715 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
3716 statement.
3d48e687 3717
a30629d2
GM
37182001-01-23 Gerd Moellmann <gerd@gnu.org>
3719
3720 * xterm.c (x_set_window_size_1): New function extracted from
3721 x_set_window_size.
3722 (x_set_window_size): Use it.
3723 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
3724 doesn't have a widget, like tooltips.
3725
5a43decf
EZ
37262001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
3727
52283633 3728 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 3729
b0e98867
KH
37302001-01-23 Kenichi Handa <handa@etl.go.jp>
3731
3732 * fns.c (Fset_char_table_default): Fix to make sub char-table
3733 correctly.
3734
50606b4c
GM
37352001-01-22 Gerd Moellmann <gerd@gnu.org>
3736
cb2ddc53 3737 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
3738 a desired tool bar string, even if there are no tool bar items.
3739
57c28064
GM
3740 * xdisp.c (Ftool_bar_lines_needed): New function.
3741 (syms_of_xdisp): Defsubr it.
3742
50606b4c
GM
3743 * editfns.c (Fformat): Don't extend text properties from arguments
3744 to padding chars in the result.
3745
2f169c38
EZ
37462001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
3747
3748 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
3749
0f32f023
AI
37502001-01-20 Andrew Innes <andrewi@gnu.org>
3751
52283633 3752 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
3753 (w32_initialize): Don't set term hooks that aren't actually needed
3754 in windowed mode.
3755
3756 * xfaces.c (realize_default_face):
3757 (realize_face):
3758 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
3759
3760 * xdisp.c (handle_single_display_prop): Remove references to
3761 FRAME_W32_CONSOLE_P.
3762
52283633 3763 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
3764
3765 * frame.h (output_method): Remove output_w32_console method.
3766 (FRAME_W32_CONSOLE_P): Remove macro.
3767
3768 * frame.c (Qw32_console): Remove variable.
3769 (Fframep): Remove references to it.
3770 (syms_of_frame): Ditto.
3771 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
3772
3773 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
3774 redefinition.
3775
7173eada
KH
37762001-01-20 Kenichi Handa <handa@etl.go.jp>
3777
3778 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
3779
755b45ce
AI
37802001-01-19 Andrew Innes <andrewi@gnu.org>
3781
3782 * w32.c (init_environment): Add a version-independent site-lisp
3783 directory to EMACSLOADPATH, after the version dependent one.
3784
0a949811
GM
37852001-01-19 Gerd Moellmann <gerd@gnu.org>
3786
8501998a
GM
3787 * editfns.c (Fbuffer_substring): Doc fix.
3788
52283633
SM
3789 * xdisp.c (message_dolog, message2, message2_nolog):
3790 Rename parameter LEN to NBYTES.
0a949811 3791
e6ebcbbe
KH
37922001-01-19 Kenichi Handa <handa@etl.go.jp>
3793
200ecca2
KH
3794 * charset.c (strwidth): Use c_string_width.
3795 (c_string_width): New function.
3796 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
3797 Caller changed.
3798
3799 * charset.h (c_string_width, lisp_string_width): Extern them.
3800
52283633 3801 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 3802
e6ebcbbe
KH
3803 * indent.c (check_composition): Check validity of composition.
3804
200ecca2
KH
3805 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
3806 characters by calling c_string_width.
3807 (x_consider_frame_title): Get byte length of frame tile string
3808 correctly.
3809 (display_mode_element): Pay attention to width of non-ASCII
3810 characters by calling strwidth.
3811
8692ca92
GM
38122001-01-18 Gerd Moellmann <gerd@gnu.org>
3813
8962e303
GM
3814 * xfns.c (Qcancel_timer): New variable.
3815 (syms_of_xfns): Initialize and staticpro it.
3816 (Fx_hide_tip, Fx_show_tip): Use it.
3817 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
3818 the timer.
3819 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
3820
91523be9
GM
3821 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
3822
3823 * window.h (WINDOW_LIVE_P): New macro.
3824
b0b7ed0e
GM
3825 * window.c (window_size_fixed): New variable.
3826 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
3827 the doc string.
3828
06bccf8e
GM
3829 * eval.c (specbind): If binding a per-buffer variable which
3830 doesn't have a buffer-local value in the current buffer, change
3831 the global value by changing the value of the symbol bound in all
3832 buffers not having their own value, to make it consistent with
3833 what happens with other buffer-local variables.
3834
8692ca92
GM
3835 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
3836
3837 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
3838 when searching for a newline.
3839
bb3a3b50
KH
38402001-01-18 Kenichi Handa <handa@etl.go.jp>
3841
3842 * xdisp.c (display_string): Fix previous change.
3843
c2cc16fa
JR
38442001-01-18 Jason Rumney <jasonr@gnu.org>
3845
3846 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
3847 GLYPH_DEBUG is defined.
3848 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
3849 true for images with `:ascent 100'.
3850 (x_set_mouse_face_gc): If the last used mouse face has gone in the
3851 meantime, use face MOUSE_FACE_ID.
3852 If first glyph isn't a character glyph, use the ASCII NUL
3853 character to determine the face.
3854 (expose_area): Do not treat left margin specially.
3855 (note_mode_line_highlight): If no local_map, check global keymap.
3856 (note_mouse_highlight): Initialize overlay.
52283633 3857 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
3858 (show_scroll_bars): Remove unused function.
3859 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
3860 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
3861 Clip to row.
52283633 3862 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
3863 (x_free_frame_resources): Unload relief colors.
3864
9c11f79e
GM
38652001-01-17 Gerd Moellmann <gerd@gnu.org>
3866
3aec8722 3867 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
3868 get_next_display_element when the newline is already found.
3869 This may change the iterator's position, when its current position is
3aec8722
GM
3870 equal to the iterator's stop_charpos.
3871
f3ffc2c3
GM
3872 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
3873 zero, use this method only at the end of a line.
3874
52283633 3875 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
3876 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
3877 if SCALABLE_FONTS_P is set.
52283633 3878
d26d6fd9
GM
3879 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
3880 so that scalable fonts are included.
3881
9c11f79e
GM
3882 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
3883 In the cache, use a key containing the information if scalable
3884 fonts are included.
3885 (x_load_font): Adapt to change of keys in the font cache.
3886
38872001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 3888
d26d6fd9
GM
3889 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
3890 XListFonts to take advantage of font caching.
3891
9c11f79e
GM
3892 * xterm.c (x_list_fonts): Ensure caching font information when
3893 called for a null frame, which is the case frequently when Emacs
3894 starts.
3895
51446987
GM
38962001-01-17 Gerd Moellmann <gerd@gnu.org>
3897
f864120f
GM
3898 * xfns.c (QCconversion): Replaces QCalgorithm.
3899
3900 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
3901
3902 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
3903 of :algorithm.
52283633 3904
e37d1417
GM
3905 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
3906 not everything could be displayed.
3907
51446987
GM
3908 * line.h, x-list-font.c: Files removed because unused.
3909
9ad4f3e5
AI
39102001-01-17 Andrew Innes <andrewi@gnu.org>
3911
3912 * dired.c (directory_files_internal): Convert result from readdir
3913 to a unibyte string initially, to avoid possible misinterpretation
3914 of some bytes as the internal form of Emacs characters.
3915
2eda09b5
KH
39162001-01-17 Kenichi Handa <handa@etl.go.jp>
3917
3918 * fns.c (concat): Be sure to avoid putting the same `composition'
3919 property on the adjacent regions.
3920
826f3788
GM
39212001-01-16 Gerd Moellmann <gerd@gnu.org>
3922
52283633 3923 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
3924 (Fscroll_right, Fscroll_left): Set it here instead, if called
3925 interactively.
3926
d57b83b3
GM
3927 * buffer.c (Fset_buffer_modified_p): Set buffer's
3928 prevent_redisplay_optimizations_p flag.
3929
826f3788 3930 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
3931 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
3932 with additional arg.
3933
3934 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
3935 Change prototype.
826f3788 3936
826f3788
GM
3937 * xdisp.c (redisplay_preserve_echo_area): Add parameter
3938 FROM_WHERE, for debugging.
3939
261d788b
KH
39402001-01-16 Kenichi Handa <handa@etl.go.jp>
3941
3942 * ccl.c (Fregister_ccl_program): Handle the return value of
3943 resolve_symbol_ccl_program correctly.
52283633 3944 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 3945
bccee4f2
GM
39462001-01-15 Gerd Moellmann <gerd@gnu.org>
3947
e4ded23c
GM
3948 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
3949 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
3950
3951 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
3952 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
3953 the display; we didn't open it.
3954
bccee4f2
GM
3955 * dispnew.c (save_or_restore_current_matrices): Function removed.
3956 (save_current_matrix, restore_current_matrix): New functions.
3957 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
3958 restore the frame's current matrix. Due to the glyph pointer
3959 setup done in adjust_glyph_matrix, there is no easy way to make
3960 saving the current matrix in the desired matrix generally correct,
3961 so don't try it.
3962
ebeccffa
KH
39632001-01-15 Kenichi Handa <handa@etl.go.jp>
3964
3965 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
3966 truncation glyphs.
3967 (display_line): Optimize for wide characters.
e4ded23c 3968 (display_string): Don't try to display a multi-column character
ebeccffa
KH
3969 partially. On ttys, produce more than one truncation glyph for
3970 multi-column characters that don't fit on the line.
3971
64388126
KH
39722001-01-13 Kenichi Handa <handa@etl.go.jp>
3973
52283633
SM
3974 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
3975 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 3976
8edb0a6f
JR
39772001-01-13 Jason Rumney <jasonr@gnu.org>
3978
3979 * w32fns.c (Fimage_size, image_ascent, lookup_image)
3980 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
3981 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
3982 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 3983
52283633
SM
3984 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
3985 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
3986 (x_draw_image_glyph_string): Adapt to change of image margins.
3987
3988 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
3989 variables.
3990
3991 * w32bdf.c (search_file_line, get_cached_font_char)
3992 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
3993
3994 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
3995
3996 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
3997 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
3998 (Fw32_send_sys_command): Remove unused variables.
3999 (w32_msg_pump): Add parentheses.
4000
4001 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
4002 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
4003 Add parentheses.
4004
4956d1ef
GM
40052001-01-12 Gerd Moellmann <gerd@gnu.org>
4006
b30623be
GM
4007 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
4008 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
4009 being a pair of margins.
4010 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
4011 to DEFVAR_LISP. Extend doc.
4012
4013 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
4014 margins.
4015 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
4016 pair of integers `(X . Y)', use X for the horizontal and Y for the
4017 vertical margin.
4018 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
4019 (parse_image_spec): Check it.
52283633
SM
4020 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4021 (tiff_format, gif_format, gs_format):
4022 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 4023
52283633
SM
4024 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
4025 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
4026 (x_draw_image_glyph_string): Adapt to the change of image margins.
4027
4028 * dispextern.h (struct image): Replace member `margin' with
4029 `hmargin' and `vmargin'.
4030
4554cc79
GM
4031 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
4032 and GLYPHS.
4033
4034 * dispnew.c (update_text_area): Put code which decrements the
4035 stop position when the row's face extends to the end of the
3bffc665 4036 line in #if 0.
4554cc79 4037
3cccce8d
GM
4038 * xfns.c (x_set_mouse_color): Fix color allocation.
4039
4956d1ef
GM
4040 * keyboard.c: Call get_local_map with new argument list.
4041
4042 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
4043
4044 * intervals.h (enum map_property): Removed.
4045 (get_local_map): Change prototype.
4046
4047 * keymap.c: Call get_local_map with new argument list.
4048 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
4049
2c2ff7f2
GM
40502001-01-11 Gerd Moellmann <gerd@gnu.org>
4051
a23887b9
GM
4052 * xdisp.c (build_desired_tool_bar_string): Correct the computation
4053 of the size needed for the tool bar string. For the last image,
4054 use a `display' property that reaches to the end of the string.
4055
a7ee2d2e
GM
4056 * xselect.c (selection_request_dpyinfo): New variable.
4057 (x_handle_selection_request): Set it.
4058 (x_selection_request_lisp_error): Don't call
4059 x_decline_selection_request if selection request's display has
4060 been closed.
4061
52283633
SM
4062 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
4063 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 4064
457b792c
GM
40652001-01-10 Dave Love <fx@gnu.org>
4066
4067 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
4068 ${SOME_MACHINE_LISP}, not ${lisp}.
4069
c1efd260
GM
40702001-01-10 Gerd Moellmann <gerd@gnu.org>
4071
52283633
SM
4072 * xdisp.c (display_line): On ttys, produce more than one truncation
4073 glyph for multi-column characters that don't fit on the line.
a98b5ed9 4074
ac95a621
GM
4075 * xselect.c (x_reply_selection_request): Add a comment.
4076
c1efd260
GM
4077 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
4078 XkbGetNames instead of XkbGetKeyboard.
4079
1bfb1345
DL
40802001-01-10 Dave Love <fx@gnu.org>
4081
4082 * sysdep.c (random): Revert the declaration.
4083
38119822
GM
40842001-01-09 Gerd Moellmann <gerd@gnu.org>
4085
52283633
SM
4086 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
4087 Call function string_bytes.
35f464a7
GM
4088 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
4089
4090 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
4091 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
4092 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
4093 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
4094 the current sblock.
4095 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
4096 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
4097 after sweeping strings, and at the end.
4098 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
4099
38119822
GM
4100 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
4101 ensure that pop_message is called.
4102
4103 * keyboard.c (Fexecute_extended_command): Use a
4104 record_unwind_protect to ensure that pop_message is called.
4105
4106 * lisp.h (push_message_unwind): Add prototype.
4107
4108 * xdisp.c (push_message_unwind): New function.
4109
4110 * fileio.c (do_auto_save_unwind): Do the pop_message here
4111 instead of in Fdo_auto_save.
4112 (Fdo_auto_save): Don't call pop_message.
4113
f47a9ec4
KR
41142001-01-08 Ken Raeburn <raeburn@gnu.org>
4115
4116 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
4117 in inner block.
4118
a758f97d
GM
41192001-01-08 Gerd Moellmann <gerd@gnu.org>
4120
6d0afc03
GM
4121 * window.c (window_scroll_pixel_based): Adjust glyph matrices
4122 when increasing window's vscroll.
4123
a758f97d
GM
4124 * macros.c (Qkbd_macro_termination_hook): New variable.
4125 (syms_of_macros): Initialize and staticpro it.
4126 (pop_kbd_macro): Run kbd-macro-termination-hook.
4127
4128 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
4129
1bfb1345 41302001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
4131
4132 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
4133 arglist, for documentation's sake.
4134
0dac6924
AI
41352001-01-06 Andrew Innes <andrewi@gnu.org>
4136
4137 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
4138 of *.pdb.
4139
8182406a
AI
41402001-01-05 Andrew Innes <andrewi@gnu.org>
4141
4142 * term.c (update_end): Don't check updating_frame; for some reason
4143 this can be 0 sometimes, such as after dismissing a popup menu,
4144 and isn't necessary given the explicit frame argument.
4145
3828218c
GM
41462001-01-05 Gerd Moellmann <gerd@gnu.org>
4147
4148 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
4149 on some systems, and an unsigned long on others, like FreeBSD 4.1.
4150
2f5ded21
GM
41512001-01-04 Gerd Moellmann <gerd@gnu.org>
4152
52283633 4153 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
4154
4155 * xfns.c (x_create_tip_frame): Preserve the value of
4156 face_change_count around the creation of the tip frame.
52283633 4157
2f5ded21
GM
4158 * xfns.c (last_show_tip_args): New variable.
4159 (compute_tip_xy): New function.
4160 (Fx_show_tip): Reuse an existing tip frame, if possible.
4161 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
4162
dfad65fa
DL
41632001-01-04 Dave Love <fx@gnu.org>
4164
64d4ec0f
DL
4165 * editfns.c (Fformat): Doc fix.
4166
dfad65fa
DL
4167 * systime.h (set_file_times): Prototype.
4168
4169 * widget.h (EmacsFrameSetCharSize_): Prototype.
4170
4171 * sysdep.c (random, srandom): Declare explicitly.
4172
4173 * dispextern.h (move_it_vertically_backward): Declare.
4174
85fe3b5e
GM
41752001-01-04 Gerd Moellmann <gerd@gnu.org>
4176
0f2ac578
GM
4177 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
4178 like in Fx_create_frame.
4179
482cca61
GM
4180 * xfaces.c (set_font_frame_param): Don't do anything for
4181 non-graphical frames.
4182
85fe3b5e
GM
4183 * window.c (Fdelete_other_windows): Set window's window_end_valid
4184 to nil when changing the window's start. Don't change the
4185 window's start when its top position hasn't changed. If we do,
4186 this will set the window's optional_new_start, which act's like a
4187 force_start during redisplay with C-x 1 M-> under particular
4188 circumstances (see report from Per Starback to emacs-pretest-bug
4189 from 2000-12-13.).
4190
3e99d3b4
GM
41912001-01-03 Gerd Moellmann <gerd@gnu.org>
4192
a77dc1ec
GM
4193 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
4194 short cut at the start of the function. Add an assertion.
4195 (reseat_at_next_visible_line_start): Add an assertion.
4196
2f3cad6c
GM
4197 * window.c (Frecenter): When changing the window start, set the
4198 window's window_end_valid to nil.
4199 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
4200
4201 * dispextern.h (move_it_past_eol): Add prototype.
4202
4203 * xdisp.c (move_it_past_eol): New function.
4204
3e99d3b4
GM
4205 * window.c (Fwindow_end): Doc fix.
4206
42072001-01-03 Dave Love <fx@gnu.org>
4208
52283633 4209 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 4210
bafb434c
GM
42112001-01-03 Gerd Moellmann <gerd@gnu.org>
4212
4213 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
4214 the enabled_p flag of the glyph row at window_end_vpos to 0.
4215 (handle_single_display_prop): Fix last change.
4216
5297fb00
RS
42172001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
4218
4219 * window.c (Frecenter): Doc fix.
4220
13d6a61c
AI
42212001-01-02 Andrew Innes <andrewi@gnu.org>
4222
4223 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
4224
4225 * frame.h (output_method): Add output_w32_console method.
4226 (FRAME_W32_CONSOLE_P): New macro.
4227
4228 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
4229 use output_w32_console method.
4230 (Qw32_console): New Lisp_Object.
4231 (Fframep): Return it.
4232 (syms_of_frame): Init it.
52283633 4233 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
4234
4235 * xfaces.c (realize_default_face): Set face foreground and
4236 background to unspecified for w32_console frames.
4237 (realize_face): Realize face cache for w32_console frames.
4238 (realize_tty_face): Accept w32_console frames.
4239
52283633 4240 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
4241 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
4242 necessary, even if running interactively.
4243
4244 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
4245 w32_console frames.
4246
52283633
SM
4247 * w32term.c (x_update_begin):
4248 (x_update_end):
4249 (x_clear_frame):
4250 (x_ins_del_lines):
4251 (x_change_line_highlight):
4252 (x_delete_glyphs):
4253 (w32_ring_bell):
4254 (x_update_begin):
4255 (x_update_end):
4256 (w32_reassert_line_highlight):
4257 (w32_frame_rehighlight):
13d6a61c
AI
4258 (w32_frame_raise_lower): Do nothing if not w32 frame.
4259
4260 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
4261
4262 * w32fns.c (Fx_display_color_cells): Determine correct value, when
4263 system doesn't tell us directly.
4264 (Fx_display_visual_class): Implement properly.
4265
d6bb0c0d
GM
42662001-01-02 Gerd Moellmann <gerd@gnu.org>
4267
4268 * window.c (Frecenter): Handle centering in graphical frames
4269 specially. Centering on the basis of line counts doesn't work
4270 reliably with variable-height lines.
52283633 4271
315f5865
EZ
42722001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
4273
4274 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
4275 and al[].
4276
52283633 4277 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
4278 (update_compositions): Remove unused variable `hook'.
4279
4280 * intervals.c (get_local_map): Remove unused variable `tem'.
4281
4282 * doprnt.c (doprnt1): Remove unused variable `size'.
4283
4284 * fns.c (Flength): Remove unused variable `tail'.
4285 (Fdelete): Remove unused variable `size'.
4286
4287 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
4288 and `gcpro2'.
4289
52283633 4290 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
4291
4292 * data.c (find_symbol_value): Remove extra 3rd argument in the
4293 call to swap_in_symval_forwarding.
4294
52283633 4295 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
4296
4297 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
4298 (trivial_regexp_p): Remove unused variable `c'.
4299 (boyer_moore): Remove unused variable `k'.
4300
4301 * indent.c (current_column): Remove unused variable `stopchar'.
4302 (Fcompute_motion): Remove unused variable `contin'.
4303
4304 * casefiddle.c (casify_object): Remove unused variable `tolen'.
4305
4306 * dired.c (directory_files_internal): Fix a typo in a comment.
4307 Remove an unused variable `handler'.
52283633 4308 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
4309 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
4310 on BSD4_2.
4311
52283633 4312 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
4313
4314 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
4315 and `buf'.
4316 (Fmarker_insertion_type): Remove unused variable `buf'.
4317
4318 * insdel.c (make_gap): Remove unused variable `result'.
4319
52283633 4320 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
4321 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
4322 (menu_bar_items): Remove unused function-scope variable `tem'.
4323
4324 * fontset.c (fontset_ref): Remove unused variable `i'.
4325 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 4326 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
4327 (make_fontset_for_ascii_face): Remove unused variable `name'.
4328 (fs_load_font): Remove unused variable `font_idx'.
52283633 4329 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
4330 (list_fontsets): Remove unused variable `tail'.
4331 (Fnew_fontset): Remove unused variables `family' and `registry'.
4332 (accumulate_font_info): Remove unused variable `tmp'.
4333 (Ffontset_font): Remove unused variable `id'.
4334 (syms_of_fontset): Remove unused variable `i'.
4335
4336 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
4337 to x_term_init.
4338 (lookup_image): Remove unused variable `file'.
4339 (xbm_load): Remove unused variables `bitmap_data', `height', and
4340 `width'. Remove function-local variable `i', leave the
4341 block-local one.
4342 (gif_load): Remove unused variable `inc'.
4343
52283633 4344 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
4345 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
4346 leave only the one in the inner block.
4347
4348 * xfaces.c (face_fontset, realize_default_face): Remove unused
4349 variable `fontset'.
4350 (face_at_buffer_position): Remove unused variable `multibyte_p'.
4351
4352 * term.c (encode_terminal_code): Remove unused variable `c'.
4353
4354 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
4355 char *' instead of `char *'.
4356
4357 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 4358 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
4359 (Fchar_category_set): Remove unused variables `val', `charset',
4360 `c1' and `c2'.
4361
52283633
SM
4362 * coding.c (detect_coding_iso2022, setup_coding_system):
4363 Remove unused variable `i'.
315f5865
EZ
4364 (detect_coding_mask): Remove unused variable `idx'.
4365 (detect_coding): Remove unused variable `i'.
4366 (ccl_coding_driver): Remove unused variable `result'.
4367 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 4368 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
4369 (encode_coding_string): Remove unused variables `gcpro1' and
4370 `saved_coding_symbol'.
4371 (Ffind_coding_systems_region_internal): Remove function-local
4372 variable args[], leave only the block-local one.
4373 (code_convert_region1): Remove unused variable `len'.
4374
4375 * charset.c (char_printable_p): Remove unused variable `chars'.
4376 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
4377 (str_to_multibyte): Remove unused variable `c'.
4378
4379 * window.c (size_window): Remove block-local variable `min_size'.
4380
4381 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
4382 `header_line_height'.
4383 (append_space, extend_face_to_end_of_line): Declare `saved_what'
4384 enum display_element_type.
4385
1a8a9daf
GM
43862001-01-02 Gerd Moellmann <gerd@gnu.org>
4387
6dde6abc 4388 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
4389 statements that call X. Save away the error message in a local copy.
4390
1883b2c6
GM
4391 * xterm.c (x_connection_closed): Set handling_signal to 0 at
4392 the start.
4393
a13be207
GM
4394 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
4395 in or at the start of invisible text.
4396
1a8a9daf
GM
4397 * dispnew.c (update_window): Don't check_current_matrix_flags.
4398
3608c0f9
JR
43992001-01-01 Jason Rumney <jasonr@gnu.org>
4400
4401 * w32fns.c (x_figure_window_size): Do not allow new_height and
4402 new_width of frame to override specified values.
4403
abb1acc4
KH
44042000-12-30 Kenichi Handa <handa@etl.go.jp>
4405
52283633 4406 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 4407
762a68ec
GM
44082000-12-29 Gerd Moellmann <gerd@gnu.org>
4409
52283633 4410 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
4411 (update_window) [GLYPH_DEBUG]: Call it.
4412 (scrolling_window): Prevent including current rows which are below
4413 what's displayed in the window.
4414
4415 * xdisp.c (try_window_reusing_current_matrix)
4416 <new start <= old start>: Disable rows in the current matrix
4417 which are below the window after scrolling.
52283633 4418
762a68ec
GM
4419 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
4420 is zero. It's not worth the complexity.
4421 (invisible_text_between_p): Put in #if 0 because unused.
4422
2d5912c1
GM
44232000-12-28 Gerd Moellmann <gerd@gnu.org>
4424
46f6a258
GM
4425 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
4426 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
4427
89f93679
GM
4428 * keyboard.c (echo_char): If C is an integer, always call
4429 push_key_description. Former code could signal an invalid
4430 character error.
4431
4432 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
4433 If set, print multibyte text.
4434 (Fsingle_key_description): Call push_key_description with
4435 FORCE_MULTIBYTE set.
4436 (describe_buffer_bindings): Likewise.
4437
4438 * lisp.h (push_key_description): Add prototype.
4439
c06017fb
GM
4440 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
4441 around the call to redisplay_internal.
4442
f1d2ce7f
GM
4443 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
4444
2d5912c1
GM
4445 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
4446
9371f831
KH
44472000-12-28 Kenichi Handa <handa@etl.go.jp>
4448
4449 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
4450 (ccl_driver): New local variable `extra_bytes'.
4451
4452 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
4453
52283633
SM
4454 * coding.c (setup_coding_system):
4455 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
4456 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
4457
0c80628a
KH
44582000-12-28 Kenichi Handa <handa@etl.go.jp>
4459
4460 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
4461 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
4462 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
4463 (decode_composition_emacs_mule): New function.
4464 (decode_coding_emacs_mule): Decode composition sequence by calling
4465 decode_composition_emacs_mule.
4466 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
4467 (encode_coding_emacs_mule): Changed from macro to function.
4468 If a text contains compositions, encode them correctly.
0c80628a
KH
4469 (setup_coding_system): Set coding->commong_flags for emacs-mule so
4470 that decoding and encoding are required.
4471
3e32cc27
GM
44722000-12-27 Gerd Moellmann <gerd@gnu.org>
4473
5e25feee
GM
4474 * xfaces.c (PT_PER_INCH): New macro.
4475 (xlfd_point_size): Compute real point size from font's pixel size.
4476 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
4477 instead of 72.
4478
892d8fcd
GM
4479 * .gdbinit: Comment out the line pointing to the Lesstif source
4480 directory.
4481
12c8b416
GM
4482 * window.c (Frecenter): Use displayed_window_lines instead
4483 of window_internal_height.
4484
6061fbf0
GM
4485 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
4486 instead of x-toolkit-scroll-bars-p.
4487 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
4488
4489 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
4490 instead of x-toolkit-scroll-bars-p.
4491 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 4492
3e32cc27
GM
4493 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
4494 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
4495 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
4496 New variables.
4497 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
4498 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
4499 (build_frame_matrix_from_leaf_window): Remove unused code.
4500 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
4501 redisplay history.
4502 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
4503 (update_window) [GLYPH_DEBUG]: Likewise.
4504 (syms_of_display): Defsubr dump-redisplay-history.
4505
31798cfe
GM
45062000-12-23 Gerd Moellmann <gerd@gnu.org>
4507
f717c2ba
GM
4508 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
4509 the end of the prompt. Set echo_after_prompt to the offset
4510 of echoptr in echobuf.
4511
aeb2b8fc
GM
4512 * xdisp.c (init_from_display_pos): Pop until the iterator's
4513 stack is empty; there may be frames for stretch or images
4514 on the stack.
4515
31798cfe
GM
4516 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
4517 (save_or_restore_current_matrix): New function for the same
4518 purpose, but more efficient.
4519 (adjust_frame_glyphs_for_frame_redisplay): Use it.
4520
f8156156
EZ
45212000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
4522
4523 * xdisp.c (syms_of_xdisp): Fix last change.
4524
bdd6d4e8
GM
45252000-12-23 Gerd Moellmann <gerd@gnu.org>
4526
4527 * xdisp.c (syms_of_xdisp): Doc fix.
4528
4529 * xdisp.c (redisplay_window): Remove label restore_buffers;
4530 use finish_scroll_bars instead to make sure that scroll bars
4531 are redeemed. If we don't do this, flickering can result from
4532 scroll bars being destroyed and recreated.
4533
9436cdf9
JR
45342000-12-22 Jason Rumney <jasonr@gnu.org>
4535
4536 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
4537 in the wrong colors when the foreground is not black.
4538 (expose_window): Don't redraw the window that's currently being
4539 updated.
4540
951f9df5
GM
45412000-12-22 Gerd Moellmann <gerd@gnu.org>
4542
856ff7a7
GM
4543 * window.c (size_window): When setting the window's too_small_ok
4544 flag, compare old size with minimum size depending on WIDTH_P,
4545 don't compare with window_min_width.
52283633 4546
951f9df5
GM
4547 * window.c (delete_window): Simplify somewhat.
4548 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
4549 freeing window matrices. The flag windows_or_buffers_changed is
4550 set, so the next redisplay will consider all windows; this should
4551 suffice.
4552
886bc933
KH
45532000-12-22 Kenichi Handa <handa@etl.go.jp>
4554
4555 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
4556
4557 * ccl.h (struct ccl_program): New member cr_consumed.
4558
4559 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
4560 (CCL_READ_CHAR): Handle EOL conversion here.
4561 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
4562
177f4e88
GM
45632000-12-21 Gerd Moellmann <gerd@gnu.org>
4564
52283633 4565 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
4566
4567 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
4568 otherwise tabs of different size compare equal.
4569
4570 * callint.c (Fcall_interactively): Prevent a compiler warning.
4571
4572 * print.c (print_unwind): Return nil.
4573 (PRINTDECLARE): Initialize all local variables.
4574 (print_preprocess): Add a default case.
4575
8e15274f
GM
4576 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
4577
4578 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
4579
52283633 4580 * window.c (delete_window, Fsplit_window)
177f4e88
GM
4581 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
4582
4583 * dispextern.h (ensure_frame_matrix): Function declaration removed.
4584
4585 * dispnew.c (ensure_frame_matrix): Removed.
4586 (save_frame_matrix, restore_frame_matrix): New functions.
4587 (adjust_frame_glyphs_for_frame_redisplay): Use them.
4588
4589 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
4590 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
4591
99012074
AI
45922000-12-21 Andrew Innes <andrewi@gnu.org>
4593
4594 * w32term.c (x_update_begin): Regenerate the palette here, rather
4595 than for each window.
4596
4597 * w32xfns.c (select_palette): Avoid calling SelectPalette if
4598 palette is NULL, since this corrupts memory! Also get
4599 display_info reference from frame.
4600
29ef7d2d
JR
46012000-12-21 Jason Rumney <jasonr@gnu.org>
4602
4603 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
4604
4605 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
4606 to avoid returning without releasing it.
3e27fa1f 4607
3f9d67a6
KH
46082000-12-21 Kenichi Handa <handa@etl.go.jp>
4609
587fc3f9
KH
4610 * keymap.c (push_key_description): Don't convert eight-bit-control
4611 and eight-bit-graphic to multibyte character.
4612
3f9d67a6
KH
4613 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
4614 generic character and CODE1 is nil, return the smallest character
4615 in CHARSET.
4616
774ba8c9
DL
46172000-12-20 Dave Love <fx@gnu.org>
4618
4619 * s/osf5-0.h (NSIG): Don't redefine.
4620
88416888
SM
46212000-12-20 Stefan Monnier <monnier@cs.yale.edu>
4622
4623 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
4624 excluding menu-bar and tool-bar.
4625 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
4626 (menu_item_p): Remove.
4627 (where_is_internal_1): Don't ignore menu-items.
4628
a6426c6f
GM
46292000-12-20 Gerd Moellmann <gerd@gnu.org>
4630
03ff8aab
GM
4631 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
4632 into account.
4633
4634 * window.c (make_window): Initialize window's min_hscroll.
4635 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
4636 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
4637 to zero.
4638 (struct saved_window): New member min_hscroll.
4639 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
4640 (Fset_window_configuration): Set window's min_hscroll.
4641 (save_window_save): Save window's min_hscroll.
4642 (compare_window_configurations): Compare min_hscroll values.
4643
4644 * window.h (struct window): New member min_hscroll.
4645
4646 * keyboard.c (echo_prompt): Prevent a compiler warning.
4647
8de4aaf8
GM
4648 * xdisp.c (try_cursor_movement): Fix last change. The real
4649 condition is that PT is at the end of the row, and should
4650 be displayed at the start of the next row.
52283633 4651
3f7e3031
GM
4652 * xdisp.c (try_cursor_movement): If we end on a partially
4653 visible line, end we already decided to scroll, return -1.
4654
a6426c6f
GM
4655 * dispextern.h (ensure_frame_matrix): Add prototype.
4656
4657 * window.c (delete_window, Fsplit_window)
4658 (Fset_window_configuration): Call ensure_frame_matrix.
4659
52283633
SM
4660 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
4661 New functions.
a6426c6f
GM
4662 (adjust_frame_glyphs_for_frame_redisplay): If display has been
4663 completed, call fake_current_matrices instead of marking frame
4664 garbaged.
4665
57fa2774
JR
46662000-12-20 Jason Rumney <jasonr@gnu.org>
4667
4668 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
4669
d925df90
EZ
46702000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
4671
4672 * fns.c (Frequire): Doc fix.
4673
7b93a85b
GM
46742000-12-19 Gerd Moellmann <gerd@gnu.org>
4675
52283633 4676 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 4677
c74e645b
GM
4678 * dispnew.c (direct_output_for_insert): Fix check for mini-window
4679 currently displaying a message.
4680
7b93a85b
GM
4681 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
4682 xterm.h.
4683 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
4684
90d97e64
AI
46852000-12-18 Andrew Innes <andrewi@gnu.org>
4686
4687 * w32.c (w32_strerror): New function.
4688
4689 * w32.h (w32_strerror): New extern.
4690
4691 * w32fns.c (Fw32_shell_execute): Use it.
4692
91c9e6ce
GM
46932000-12-18 Gerd Moellmann <gerd@gnu.org>
4694
4695 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
4696
6f4745e2
EZ
46972000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
4698
4699 * msdos.c (IT_set_face): Obey inverse_video.
4700
c9e088ce
KH
47012000-12-18 Kenichi Handa <handa@etl.go.jp>
4702
4703 * dired.c (directory_files_internal): Always return decoded filenames.
4704
c3695f5f
GM
47052000-12-18 Gerd Moellmann <gerd@gnu.org>
4706
52d8e4ff
GM
4707 * xterm.c (x_connection_closed): Prevent being called recursively
4708 because of an error condition in XtCloseDisplay.
52283633 4709
62be9979
GM
4710 * xdisp.c (init_iterator): If noninteractive, and the frame's
4711 face cache is null, make one.
4712
52283633 4713 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 4714
c3695f5f
GM
4715 * process.c (wait_reading_process_input): Check for pending
4716 input when running timers.
4717
78555fbe
EZ
47182000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
4719
52283633 4720 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 4721
b2b36264
KH
47222000-12-18 Kenichi Handa <handa@etl.go.jp>
4723
4724 * process.c (read_process_output): Don't run a filter if the code
4725 decoder produces nothing but carryover.
4726
9c543fbf
AI
47272000-12-17 Andrew Innes <andrewi@gnu.org>
4728
4729 * w32.c (sys_rename): Only check errno against EEXIST, and not
4730 EACCES, when determining whether rename failed because the target
4731 exists. This was resulting in indefinite looping on Windows 9x if
4732 the source file was locked by another process.
4733
4734 * w32fns.c (Ffile_system_info): New function.
4735 (syms_of_w32fns): Defsubr it.
4736
10c2b5a8
GM
47372000-12-17 Gerd Moellmann <gerd@gnu.org>
4738
b0228ace
GM
4739 * window.c (coordinates_in_window): Fix computation for
4740 position on vertical line between mode lines.
4741
10c2b5a8
GM
4742 * xfns.c (unwind_create_frame): Return t if frame was deleted.
4743 Don't alter tip_frame or tip_window.
4744 (unwind_create_tip_frame): Set tip_frame to nil only if frame
4745 was deleted.
4746
c844a81a
GM
4747 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
4748 Don't alter tip_frame or tip_window.
4749 (unwind_create_tip_frame): Set tip_frame to nil only if frame
4750 was deleted.
4751
6c825f8e
EZ
47522000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
4753
4754 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
4755 be consistent with the doc string. Reported by NAKAJIMA Mikio
4756 <minakaji@osaka.email.ne.jp>.
4757
af4bb4c8
KH
47582000-12-16 Kenichi Handa <handa@etl.go.jp>
4759
4760 * xfaces.c (Vface_ignored_fonts): New variable.
4761 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
4762 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
4763
8062e53a
GM
47642000-12-15 Gerd Moellmann <gerd@gnu.org>
4765
e87b8809
GM
4766 * dispnew.c (update_window): Detect pending input every nth line
4767 updated, i.e. do it depending on real work done, and not on the
4768 vpos of the line.
4769
4770 * xterm.c (expose_window): Don't redraw the window that's
4771 currently being updated.
4772
a6768cc5
GM
4773 * window.c (Fset_window_point): Remove test for
4774 cursor_in_non_selected_windows.
4775
4ea7fdca
GM
4776 * lread.c (read1): Recognize end of file after `\\'.
4777
8062e53a
GM
4778 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
4779 not unwind_create_frame.
4780
bb7959c1
GM
47812000-12-15 Dave Love <fx@gnu.org>
4782
4783 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
4784 bcopy & al.
4785
4786 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
4787
ced04c42
KH
47882000-12-15 Kenichi Handa <handa@etl.go.jp>
4789
c5443913
KH
4790 * coding.c (setup_coding_system): Clear all members of the struct
4791 coding_system at first.
bc137305
KH
4792 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
4793 argument.
4794 (code_convert_region): Don't override coding->src_multibyte and
4795 coding->dst_multibyte.
c5443913 4796
ced04c42
KH
4797 * fns.c (Fmd5): Docstring improved.
4798
c2d7f289
MB
47992000-12-15 Miles Bader <miles@gnu.org>
4800
4801 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
4802 are actually marked as mode-lines; otherwise use
4803 estimate_mode_line_height.
4804
9d7d9263
GM
48052000-12-14 Gerd Moellmann <gerd@gnu.org>
4806
4807 * editfns.c (Fformat): Prevent a buffer overrun when the format
4808 specifies a precision.
4809
7cf0153a
EZ
48102000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
4811
4812 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
4813 argument is outside the range [2..3].
4814
1de0f662
AI
48152000-12-14 Andrew Innes <andrewi@gnu.org>
4816
4817 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
4818 nothing to do. Bind inhibit-quit.
4819 (tip_frame): Make it a Lisp_Object.
4820 (x_create_tip_frame): Set tip_frame after it has been added to
4821 Vframe_list.
4822 (Fx_show_tip): Don't set tip_frame here.
52283633 4823 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
4824 (unwind_create_frame, unwind_create_tip_frame): New functions.
4825 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
4826 while a frame is only partially constructed.
4827
4828 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
4829 (x_free_frame_resources): New function.
4830 (x_destroy_window): Use it.
4831
02387dcc
GM
48322000-12-14 Gerd Moellmann <gerd@gnu.org>
4833
4834 * xfns.c (Fx_backspace_delete_keys_p): New function.
4835 (syms_of_xfns): Defsubr it.
4836
4837 * config.in (HAVE_XKBGETKEYBOARD): Add.
4838
0544ef49
KH
48392000-12-14 Kenichi Handa <handa@etl.go.jp>
4840
98d62747
KH
4841 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
4842 Always store string in multibyte representation in echobuf.
4843 (echo_char): Always store string in multibyte representation in
4844 echobuf.
4845 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
4846 (read_key_sequence): Adjusted for the change of echo_prompt.
4847
a20193cd
KH
4848 * fns.c (Fmd5): Docstring improved.
4849
191b83b6
KH
4850 * lisp.h (detect_coding_system): Prototype adjusted.
4851
0544ef49
KH
4852 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
4853 (detect_coding_emacs_mule, detect_coding_iso2022,)
4854 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
4855 (detect_coding_utf_16, detect_coding_ccl): Make them static.
4856 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
4857 (detect_coding_mask, detect_coding_system): New argument
4858 MULTIBYTEP. Callers changed.
1da1bb05
KH
4859 (decode_coding_string): Set coding->src_multibyte and
4860 coding->dst_multibyte before calling detect_coding and detect_eol.
4861 Update them after some coding system is detected.
52283633 4862
d5b3eb1b
SM
48632000-12-13 Stefan Monnier <monnier@cs.yale.edu>
4864
4865 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
4866
4867 * keyboard.c (menu_bar_items, tool_bar_items):
4868 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
4869
f7f8bb69
GM
48702000-12-13 Gerd Moellmann <gerd@gnu.org>
4871
52283633 4872 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
4873 New variables.
4874 (unwind_create_frame, unwind_create_tip_frame): New functions.
4875 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
4876 while a frame is only partially constructed.
4877
4878 * xterm.h (x_free_frame_resources): Declare.
4879
4880 * xterm.c (x_free_frame_resources): New function.
4881 (x_destroy_window): Use it.
4882
e10da507
GM
4883 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
4884 don't interrupt the update for pending input initially, i.e.
4885 update at least some lines.
4886
4887 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 4888
d5b3eb1b 4889 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
4890
4891 * xfns.c (gray_bitmap_bits): Declare `char *'.
4892
90aa2856
GM
48932000-12-12 Gerd Moellmann <gerd@gnu.org>
4894
4895 * xdisp.c (display_tool_bar_line): Make sure that tool bar
4896 lines start with a relief line.
4897
a308c9cd
DL
48982000-12-12 Dave Love <fx@gnu.org>
4899
4900 * window.c (Fdisplay_buffer): Doc fix.
4901 (Fwindow_list): Remove unused var.
4902
4903 * buffer.h (mmap_set_vars): Declare.
4904
4905 * window.h (Fset_window_point): Declare.
4906
d575011f
EZ
49072000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
4908
bf6282d2 4909 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
4910 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
4911 variable `area'. When looking for a row under (X,Y), give up if some
4912 of the previous rows is not enabled.
d575011f 4913
ecf4d726
GM
49142000-12-12 Gerd Moellmann <gerd@gnu.org>
4915
2ebf6139
GM
4916 * window.c (Fset_window_point): If displaying cursors in windows
4917 other than the selected window, make sure redisplay updates
4918 other windows to show the new value of point in the window.
4919
4920 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
4921
bfdb75ee
GM
4922 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
4923 the buffer is the sole visible buffer when in the mini-buffer.
4924
52283633 4925 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
4926 Bind `inhibit-read-only' to t.
4927 (unwind_with_echo_area_buffer): Use AREF.
4928
c0006262
GM
4929 * xfns.c (Fx_hide_tip): Simplified.
4930
52283633
SM
4931 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
4932 instead of `1'.
e9a59cad 4933
ecf4d726
GM
4934 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
4935
e5959a9a
GM
49362000-12-11 Gerd Moellmann <gerd@gnu.org>
4937
a3642e49 4938 * xfns.c (Fx_hide_tip): Fix last change.
52283633 4939
44b5a125
GM
4940 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
4941 nothing to do. Bind inhibit-quit.
4942 (tip_frame): Make it a Lisp_Object.
4943 (x_create_tip_frame): Set tip_frame after it has been added to
4944 Vframe_list.
4945 (Fx_show_tip): Don't set tip_frame here.
4946
4947 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
4948
4949 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
4950 Lisp_Object.
4951
4952 * dispextern.h: Change external declaration of tip_frame.
4953
d990421f
GM
4954 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
4955 return an empty string.
4956
4db87380
GM
4957 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
4958 of the window's update_mode_line flag, since the former is set by
4959 force-mode-line-update, not the latter. This makes
4960 column-number-mode slightly faster.
52283633 4961
e5959a9a
GM
4962 * xdisp.c (try_window_id) <all changes above window start>:
4963 Set the cursor.
4964
169fe44e
GM
49652000-12-11 Paul Eggert <eggert@twinsun.com>
4966
4967 * config.in (HAVE_FTELLO): Remove.
4968 (HAVE_FSEEKO): Add.
4969 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
4970 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
4971 HAVE_FTELLO.
4972 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
4973 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 4974
59ec59ae
MB
49752000-12-11 Miles Bader <miles@gnu.org>
4976
4977 * window.c (displayed_window_lines): Don't round up when
4978 converting empty space at bottom to lines.
ff904dd6
MB
4979 Handle non-newline-terminated final lines properly.
4980 (Fwindow_text_height): New function (used to be in lisp).
4981 (syms_of_window): Initialize it.
59ec59ae 4982
42ebfa31
SM
49832000-12-09 Stefan Monnier <monnier@cs.yale.edu>
4984
4985 * syntax.c (scan_lists): Check that the right quote char has the
4986 right Sstring syntax when jumping over strings.
4987 (init_syntax_once): Use Smax rather than 13.
4988
5cdb3cf3
MB
49892000-12-09 Miles Bader <miles@gnu.org>
4990
4991 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
4992 with PARTIALLY, inverting the sense.
4993 (window_scroll_pixel_based): Scroll partially visible lines into
4994 place if we hit the beginning or end of the buffer.
a12167c5
MB
4995 (displayed_window_lines): Don't include partially visible lines.
4996 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 4997
842b2a94
GM
49982000-12-08 Gerd Moellmann <gerd@gnu.org>
4999
5000 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
5001
5002 * tparam.c (tparam1): Change the way buffers are reallocated to be
5003 portable and less obfuscated.
5004
5005 * termcap.c (tgetent): Change the way buffers are reallocated to
5006 be portable and less obfuscated.
5007
5008 * macros.c (store_kbd_macro_char): Change the way buffers are
5009 reallocated to be portable and less obfuscated.
5010
5011 * lread.c (read1): Change the way buffers are reallocated to be
5012 portable and less obfuscated.
5013
5014 * doc.c (Fsubstitute_command_keys): Change the way buffers
5015 are reallocated so that it is portable.
5016
137cad7c
EZ
50172000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
5018
5019 * dosfns.c (Ffile_system_info): New function.
5020 (syms_of_dosfns): Defsubr it.
5021
5c7f629c
SM
50222000-12-07 Stefan Monnier <monnier@cs.yale.edu>
5023
5024 * alloc.c (gc_sweep): Add comment.
5025
959e647d
GM
50262000-12-07 Gerd Moellmann <gerd@gnu.org>
5027
52283633
SM
5028 * sound.c (vox_configure): Change order of ioctls.
5029 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
5030 Ignore errors when changing volume.
5031 (vox_close): Don't reset the device.
5032
926b7e5e
GM
5033 * process.c (read_process_output): Make sure the process marker's
5034 position is valid when the process buffer is changed in
5035 after-change functions. W3 does that.
52283633 5036
959e647d
GM
5037 * xfns.c (x_free_gcs): New function.
5038
5039 * xterm.h (x_free_gcs): Add prototype.
5040
5041 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
5042 freeing GCs here.
5043
5044 * xterm.c (x_destroy_window): Call x_free_gcs so that
5045 resources of non-toolkit X windows will be freed.
5046
478ea067
AI
50472000-12-07 Andrew Innes <andrewi@gnu.org>
5048
5049 * w32fns.c (xlfd_charset_of_font): Fix last change.
5050
fbee3231
DL
50512000-12-06 Dave Love <fx@gnu.org>
5052
67292061
DL
5053 * md5.h (__P): Don't define -- it comes from config.h.
5054
fbee3231
DL
5055 * strftime.c: Change some #if foo to #ifdef foo.
5056
4ee87dbb
AI
50572000-12-06 Andrew Innes <andrewi@gnu.org>
5058
5059 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
5060
52283633 5061 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 5062 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 5063 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 5064
9765b4a4
GM
50652000-12-06 Gerd Moellmann <gerd@gnu.org>
5066
d285b373
GM
5067 * alloc.c (gc_sweep): Prevent symbols read during loadup
5068 from being freed.
5069
384333ee
GM
5070 * xdisp.c (underlying_face_id): New function.
5071 (handle_face_prop, face_before_or_after_it_pos): Use it
5072 to determine the face ``under'' a string. Let strings inherit
5073 the face of the buffer under them.
5074
5075 * xfaces.c (face_at_string_position): Update function comment.
52283633 5076
d4b72d58
GM
5077 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
5078 matrix if the window's left position has changed; we need to
5079 redraw it in this case.
5080
5081 * dispextern.h (struct glyph_matrix): Add member window_left_x.
5082
e1d05387
GM
5083 * window.c (coordinates_in_window): Check mouse on mode-line or
5084 header-line first.
5085
eb1b0c74
GM
5086 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
5087 advertized by the function documentation.
5088
d94d636f
GM
5089 * window.c (syms_of_window): Doc fix.
5090
3887b449
GM
5091 * sound.c (vox_configure): Set volume for left and right channel.
5092 (sound_cleanup): Return nil.
5093
efc8f57a
GM
5094 * xdisp.c (move_it_by_lines): Fix paren typo.
5095
9765b4a4
GM
5096 * xterm.c (x_load_font): Don't use the font's max_bounds for
5097 computing the height of the font. If max_bounds' ascent or
5098 descent are greater than the font's ascent or descent, this means
5099 glyphs overlap, which should be handled now by redisplay.
5100
6529ed87
GM
5101 * window.c (Veven_window_heights): New variable.
5102 (syms_of_window): DEFVAR_LISP it.
5103 (Fdisplay_buffer): Check Veven_window_heights before evening the
5104 window heights.
52283633 5105
0eb2ecde
MB
51062000-12-06 Miles Bader <miles@gnu.org>
5107
5108 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
5109 update `default-frame-alist' instead of setting no frame parameters.
5110
03d7a167
KH
51112000-12-06 Kenichi Handa <handa@etl.go.jp>
5112
5113 * composite.c (update_compositions): Fix typo (use the correct
5114 variable).
5115
5f8803c2
JR
51162000-12-05 Jason Rumney <jasonr@gnu.org>
5117
5118 * md5.h: Remove underscores from function declarations.
5119 (__attribute__, __alignof__) [!__GNUC__]: Define.
5120
5121 * md5.c: Delay include of md5.h until after namespace cleaning.
5122
c28a075b
JR
5123 * makefile.w32-in (fns.o): Depend on md5.h
5124 (md5.o): New target.
5125 (sunfns.o): Remove.
5126
5127 * makefile.nt: Likewise.
5128
ff3c7056
JR
51292000-12-05 Jason Rumney <jasonr@altavista.net>
5130
5131 * w32term.c (expose_area): Complete last change.
5132
0c21eeeb
KR
51332000-12-05 Ken Raeburn <raeburn@gnu.org>
5134
5135 * minibuf.c: Include intervals.h.
5136
f201d732
JR
51372000-12-05 Jason Rumney <jasonr@gnu.org>
5138
5139 * w32term.c (x_produce_glyphs): If a font for a component of
5140 a composition is not found, use 1 pixel dot ascent and 0 dot
5141 descent value to avoid displaying terribly tall empty boxes.
5142 (expose_area): Pass x-coordinate relative to the exposed
5143 area to x_draw_glyphs instead of a window-relative coordinate.
5144
21999ab9
GM
51452000-12-05 Gerd Moellmann <gerd@gnu.org>
5146
4d2036e4
GM
5147 * xdisp.c (next_element_from_ellipsis): Save face before selective
5148 display in saved_face_id, and set face_before_selective_p.
5149 (reseat_1): Reset face_before_selective_p.
5150 (append_space, extend_face_to_end_of_line): If iterator's
5151 face_before_selective_p is set, use the face from saved_face_id.
5152 (extend_face_to_end_of_line): For tty frames, make sure to
5153 use the right face id when producing spaces at the end of
5154 the line.
5155
5156 * dispextern.h (struct it): Add face_before_selective_p.
5157
52be17cc
GM
5158 * keyboard.c (record_char): Don't record identical help-echo
5159 events in recent_keys.
5160
8a4f36cc
GM
5161 * xterm.c [USE_X_TOOLKIT]: Close the display.
5162 (xim_close_dpy): Handle case that the display has been closed.
5163
57d6e381
GM
5164 * xterm.c (x_destroy_window): Reset the frame's X window after
5165 destroying it.
5166
21999ab9
GM
5167 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
5168 variable window_width.
5169 (line_draw_cost): Fix code skipping over spaces at the end of the
5170 line when must_write_spaces is not set.
5171 (scrolling_window): Fix code inserting runs in list of all runs.
5172
91372bb7
KH
51732000-12-05 Kenichi Handa <handa@etl.go.jp>
5174
5175 * coding.c (setup_coding_system): Be sure to initialize
5176 coding->category_idx.
5177
6c083b4c
GM
51782000-12-04 Gerd Moellmann <gerd@gnu.org>
5179
0c68ce6f 5180 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 5181
6452929e
GM
5182 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
5183 area to x_draw_glyphs instead of a window-relative coordinate.
5184
d7f31e22
GM
5185 * fileio.c (auto_save_error): Add parameter ERROR. Show the
5186 error in the message.
5187
ae18aa3b
GM
5188 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
5189 timer after having read a key. It's not good for code reading
5190 several keys in a loop, like an input method.
5191
caa15ef7
GM
5192 * fileio.c (Finsert_file_contents): When VISIT is t, don't
5193 record undo information for format-decode.
5194
5195 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
5196 current buffer is read-only, not if it isn't.
5197
6c083b4c
GM
5198 * keyboard.c (record_char): Record `help-echo' input events
5199 in recent_keys only if they display some help. Don't record
5200 `help-echo' events as macro char.
5201
caa15ef7
GM
52022000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5203
5204 * editfns.c (save_excursion_restore): Don't move point
5205 in another window if it is showing the wrong buffer.
5206 Avoid the call to Fwindow_live_p, for speed.
5207
5a13529b
KH
52082000-12-04 Kenichi Handa <handa@etl.go.jp>
5209
e225faa7
KH
5210 * xfaces.c (struct font_name): New member registry_priority.
5211 (split_font_name): Initialize the above member to zero.
5212 (concat_font_list): New function.
5213 (font_list): Include fonts of all alternative registries.
5214 (FONT_POINT_SIZE_QUANTUM): New macro.
5215 (better_font_p): Ignore point size difference less than
5216 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
5217
e89648b4
KH
5218 * xterm.c (x_produce_glyphs): If a font for a component of
5219 a composition is not found, use 1 pixel dot ascent and 0 dot
5220 descent value to avoid displaying terribly tall empty boxes.
5221
5a13529b
KH
5222 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
5223
d7935eb6
KR
52242000-12-03 Ken Raeburn <raeburn@gnu.org>
5225
5226 * coding.h (code_convert_string1): Declare.
5227
5228 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
5229
52283633 5230 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 5231
0dd5e255
JR
52322000-12-02 Jason Rumney <jasonr@gnu.org>
5233
5234 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
5235 correctly for single byte character case.
5236 (w32_per_char_metric): Do not try to make any assumptions about
5237 the metrics of BDF fonts.
250cfece 5238 (x_estimate_mode_line_height): If `mode-line' face
52283633 5239 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
5240 (note_mouse_highlight): Change the cursor shape on the vertical
5241 border between windows [not enabled].
5242
5243 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
5244
5245 * w32fns.c (Fx_create_frame): Reintroduce the call to
5246 face-set-after-frame-defaults.
5247 (Vx_window_horizontal_drag_shape): New variable.
5248 (syms_of_xfns): DEFVAR_LISP it.
5249 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
5250 enabled].
0dd5e255 5251
b5d8d2ca
GM
52522000-12-02 Simon Josefsson <simon@josefsson.org>
5253
5254 * fns.c (Fmd5): Use a different logic to decide the coding system
5255 to use.
5256
5257 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
5258
fbb87147
EZ
52592000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
5260
52283633 5261 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 5262
447e9da0
GM
52632000-12-01 Gerd Moellmann <gerd@gnu.org>
5264
7708ced0
GM
5265 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
5266 height for YNegative.
5267 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
5268 height; also see comment there.
5269
447e9da0
GM
5270 * window.c (coordinates_in_window): Handle computations for
5271 positions on the vertical bar and fringes differently for
5272 window-system frames. Consider some pixels near the vertical bar
5273 as on the bar if the frame doesn't have vertical scroll bars.
5274 Associate positions between mode or header lines with the
5275 right window, the left one.
5276
86d1db20
JR
52772000-12-01 Jason Rumney <jasonr@gnu.org>
5278
5279 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
5280
5281 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
5282 invalid frame.
5283
a1d58e5b
GM
52842000-12-01 Gerd Moellmann <gerd@gnu.org>
5285
52283633 5286 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
5287 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
5288 (save_window_save, Fset_window_configuration): Save/restore
5289 window's orig_top and orig_height.
5290
89c609af
JR
52912000-12-01 Jason Rumney <jasonr@gnu.org>
5292
4d177746 5293 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 5294
89c609af
JR
5295 * w32fns.c (x_set_cursor_color): Fix last change.
5296
eccc05db
GM
52972000-11-30 Gerd Moellmann <gerd@gnu.org>
5298
31b6671b
GM
5299 * xdisp.c (echo_area_display): If cursor is in the echo area, make
5300 sure that the next redisplay displays the minibuffer, so that
5301 the cursor will be replaced with what the minibuffer wants.
5302
eccc05db
GM
5303 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
5304 #ifndef instead of using #if.
5305 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
5306 USE_TOOLKIT_SCROLL_BARS is defined.
5307
162de750
JR
53082000-11-30 Jason Rumney <jasonr@gnu.org>
5309
5310 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
5311 x_display_cursor.
5312
693c4692
GM
53132000-11-30 Gerd Moellmann <gerd@gnu.org>
5314
5315 * fns.c (Fmd5): Doc fix.
5316
b5d8d2ca 53172000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
5318
5319 * fns.c (Fmd5): New function.
5320 (syms_of_fns): Defsubr md5.
5321
5322 * Makefile.in (obj): Add md5.o
5323
b02cd40b
GM
53242000-11-30 Gerd Moellmann <gerd@gnu.org>
5325
edfb795e
GM
5326 * md5.h, md5.c: New files, taken from glibc.
5327
df3aedcf
GM
5328 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
5329
b02cd40b 5330 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 5331 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 5332
8b5176cd
SM
53332000-11-29 Stefan Monnier <monnier@cs.yale.edu>
5334
5335 * eval.c (Frun_hooks): Allow 0 arguments.
5336
346598f1
GM
53372000-11-29 Gerd Moellmann <gerd@gnu.org>
5338
f9396e03
GM
5339 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
5340 is over the menu bar widget, say it's not on the frame.
5341
4a967a9b
GM
5342 * xfns.c (Fx_create_frame): Reintroduce the call to
5343 face-set-after-frame-defaults.
5344
346598f1
GM
5345 * eval.c (Fsignal): Reset handling_signal.
5346
222456a1
JR
53472000-11-28 Jason Rumney <jasonr@gnu.org>
5348
5349 * w32menu.c (add_menu_item): Reset menu item text when changing
5350 type to radio button.
5351
8049ddc0
GM
53522000-11-28 Gerd Moellmann <gerd@gnu.org>
5353
346598f1 5354 * xselect.c: Update copyright.
f4f4ee4d 5355
bebe4a2c
GM
5356 * window.c (coordinates_in_window): If on a mode or header line,
5357 but sufficiently close to its start, return ``on vertical
5358 border''. This gives us a way to drag windows horizontally when
5359 using toolkit scroll bars.
5360
5361 * xterm.c (note_mouse_highlight): Change the cursor shape
5362 on the vertical border between windows.
5363
5364 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
5365
5366 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
5367 (syms_of_xfns): DEFVAR_LISP it.
5368 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
5369
8d2c2642
GM
5370 * textprop.c (text_read_only): New function.
5371 (verify_interval_modification): Use it instead of signaling
5372 `text-read-only'. This makes it easier to catch this error
52283633 5373 with a breakpoint.:
8d2c2642 5374
52283633 5375 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
5376 not end of line, which includes CR.
5377
5a2bae6c
KH
53782000-11-28 Kenichi Handa <handa@etl.go.jp>
5379
5380 * coding.c (Ffind_coding_systems_region_internal): Be sure to
5381 include no-conversion.
5382
ae31f84d
JR
53832000-11-27 Jason Rumney <jasonr@gnu.org>
5384
5385 * w32fns.c (w32_load_system_font): Always mark font as double byte
5386 if codepage is unicode.
5387
67f1cf4c
GM
53882000-11-27 Gerd Moellmann <gerd@gnu.org>
5389
4a74d071 5390 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 5391 just consume it to avoid unintended skipping over invisible text below.
4a74d071 5392
902ae620
GM
5393 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
5394 `vertical-line', `mode-line' and `header-line' events.
5395
5396 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
5397 of a character, a TAB for instance. This is easier than to set
5398 up the iterator exactly, and it's not a frequent case, so the
5399 additional effort wouldn't really pay off.
5400
c1e279c2
AC
54012000-11-26 Andrew Choi <akochoi@i-cable.com>
5402
67f1cf4c 5403 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
5404 init_window_once.
5405
a609568a
JR
54062000-11-25 Jason Rumney <jasonr@gnu.org>
5407
52283633
SM
5408 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
5409 Args to window_from_coordinates should be pixel coordinates.
48b21762 5410
a609568a
JR
5411 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
5412 redisplay handles them properly.
5413
a658d039
MB
54142000-11-25 Miles Bader <miles@gnu.org>
5415
5416 * indent.c (compute_motion): Keep pos_byte in sync with pos.
5417
d3416cca
JR
54182000-11-24 Jason Rumney <jasonr@gnu.org>
5419
5420 * w32.c (init_environment): Set LANG environment variable based on
5421 locale settings, if not set.
5422
5423 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
5424 making tool bar smaller. When clearing the frame, also
5425 clear current matrices. Clear frame when tool bar disappears.
5426 Don't use more lines for the tool-bar than is available.
5427 (x_change_window_heights): New function.
5428
ba193890
GM
54292000-11-24 Gerd Moellmann <gerd@gnu.org>
5430
2be8f184
GM
5431 * xdisp.c (init_from_display_pos): If POS says we're already after
5432 an overlay string ending at POS, make sure to pop the iterator
5433 because it will be in front of that overlay string. When POS is
5434 ZV, we've thereby also ``processed'' overlay strings at ZV.
5435
ba193890
GM
5436 * xfaces.c (lface_from_face_name): Function comment fix.
5437
1862a24e
MB
54382000-11-24 Miles Bader <miles@gnu.org>
5439
5440 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
5441 apply `mode-line-inverse-video' -- zero means force display using
5442 the default face, non-zero means display using the specialized face.
5443 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
5444
f07fa1b8
KH
54452000-11-23 Kenichi Handa <handa@etl.go.jp>
5446
5447 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
5448 hard coded `4'.
5449
2bcdf662
EZ
54502000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
5451
5452 * coding.c (decode_coding_emacs_mule): Fix the case of
5453 CODING_EOL_LF, which used uninitialized value of c.
5454
ba8299ff
SM
54552000-11-23 Stefan Monnier <monnier@cs.yale.edu>
5456
5457 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
5458
f4117c4d
GM
54592000-11-22 Gerd Moellmann <gerd@gnu.org>
5460
03e757c1
GM
5461 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
5462 buffer object.
5463
f4117c4d
GM
5464 * frame.h (struct frame): Replace desired_tool_bar_items,
5465 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 5466 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
5467
5468 * frame.c (make_frame): Change initialization of tool bar
5469 items accordingly.
5470
5471 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 5472 Change references to members deleted from struct frame to use the
f4117c4d
GM
5473 new ones.
5474
5475 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 5476 references to members deleted from struct frame to use the new ones.
f4117c4d 5477
52283633 5478 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
5479
5480 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
5481
5482 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 5483 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
5484 from struct frame to use the new ones.
5485
f8e2f3f2
MB
54862000-11-23 Miles Bader <miles@gnu.org>
5487
5488 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
5489 the face's inverse-video attribute, rather than overriding it.
5490
60e8e0a5
GM
54912000-11-22 Gerd Moellmann <gerd@gnu.org>
5492
5493 * xfns.c (x_set_tool_bar_lines): Clear internal border when
5494 making tool bar smaller.
5495
92dd1b29
DL
54962000-11-22 Dave Love <fx@gnu.org>
5497
5498 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
5499
e672fdce
MB
55002000-11-22 Miles Bader <miles@gnu.org>
5501
3a17d6cc
MB
5502 * keyboard.c (Vminibuffer_message_timeout): New variable.
5503 (command_loop_1): Use it to determine message timeout.
5504 (syms_of_keyboard): Initialize it.
5505
60e8e0a5 5506 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 5507
e9655d81
KH
55082000-11-22 Kenichi Handa <handa@etl.go.jp>
5509
5510 * sysdep.c: Move the code for declaring h_errno after #include
5511 <netdb.h>.
5512
77270fac
GM
55132000-11-21 Gerd Moellmann <gerd@gnu.org>
5514
cd913aae
GM
5515 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
5516 the menu bar when the tooltip is unmapped.
5517
77270fac
GM
5518 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
5519 sole visible buffer when we're currently in the mini-buffer, and
5520 give up if so.
52283633 5521
556635d6
JR
55222000-11-21 Jason Rumney <jasonr@gnu.org>
5523
5524 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
5525 put on the clipboard.
5526 (Fw32_get_clipboard_data): Compare data on clipboard with saved
5527 copy of what Emacs last put there. If they are the same, do not
52283633 5528 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 5529
5b7bde64
MB
55302000-11-22 Miles Bader <miles@gnu.org>
5531
5532 * minibuf.c (Vminibuffer_prompt_properties): New variable.
5533 (syms_of_minibuf): Initialize it.
5534 (read_minibuf): Add properties from Vminibuffer_prompt_properties
5535 to prompt, don't make read-only.
5536
ff23e1dd
GM
55372000-11-21 Gerd Moellmann <gerd@gnu.org>
5538
52283633
SM
5539 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
5540 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 5541
7aaf4388
GM
5542 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
5543
f5f47add 5544 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 5545
ff23e1dd
GM
5546 * term.c, cm.c: Don't try to include termcap.h; see comment there.
5547
37c35586
KH
55482000-11-21 Kenichi Handa <handa@etl.go.jp>
5549
5550 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
5551 ... #endif scope.
5552
ff9ab414
GM
55532000-11-20 Gerd Moellmann <gerd@gnu.org>
5554
52283633 5555 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
5556 screen supports it.
5557
29a01b72
GM
5558 * s/gnu-linux.h: Don't use `#cpu'.
5559
09dfdf85
GM
5560 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
5561 not defined in mman.h.
5562
52283633 5563 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
5564 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
5565 and store an index in the XClientMessageEvent. Storing a
5566 Lisp_Object or pointer can fail on a 64 bit system, since X only
5567 transfers 32 bits.
52283633
SM
5568 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
5569
81459ac9
DL
55702000-11-20 Dave Love <fx@gnu.org>
5571
5572 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
5573
56c13ae6
GM
55742000-11-20 Gerd Moellmann <gerd@gnu.org>
5575
5576 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
5577
495a6df3
KH
55782000-11-20 Kenichi Handa <handa@etl.go.jp>
5579
2bcf3714
KH
5580 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
5581 by WIDTH.
5582
495a6df3
KH
5583 * alloc.c (make_string): Fix previous change. Be sure to make
5584 unibyte string correctly.
5585
6d950f4c
GM
55862000-11-19 Gerd Moellmann <gerd@gnu.org>
5587
39b39373
GM
5588 * window.c (Fwindow_list): Change parameter list to be XEmacs
5589 compatible.
5590 (window_list_1): New function.
5591 (window_loop): Use it instead of Fwindow_list.
5592
b95b34e5
GM
5593 * sysdep.c (emacs_ospeed): New variable.
5594 (toplevel): Don't declare ospeed extern.
5595 (init_baud_rate): Use emacs_ospeed instead of ospeed.
5596
5597 * termcap.c (ospeed): Remove.
5598 (tputs) [!emacs]: Remove unused code.
5599 (tgetent): Avoid a compiler warning.
5600
e83dc917
GM
5601 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
5602 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 5603 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
5604
5605 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
5606 removed.
5607 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
5608 Take the X display as additional argument.
5609 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
5610 `Widget' is a pointer type that's not easily stored in Lisp_Object
5611 form in a portable way.
52283633 5612
6d950f4c
GM
5613 * dispnew.c (update_text_area): Fix last change.
5614
e47306e6
GM
56152000-11-18 Gerd Moellmann <gerd@gnu.org>
5616
fb3cd89b
GM
5617 * xdisp.c: Use BINDING_STACK_SIZE throughout.
5618
5619 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
5620 clear current matrices.
5621
edaa9aed
GM
5622 * buffer.c (mmap_enlarge): Don't print a message on stderr
5623 if mapping new memory at the end of the existing region fails.
5624
e47306e6
GM
5625 * dispnew.c (update_text_area): Don't skip over equal glyphs
5626 when the last current glyph overlaps the glyph to its right.
5627
509633e3
MB
56282000-11-18 Miles Bader <miles@gnu.org>
5629
5630 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
5631 lines that *end* with "..." too (that's the most common case!).
5632
d392e9c5
GM
56332000-11-18 Gerd Moellmann <gerd@gnu.org>
5634
67988445
GM
5635 * xdisp.c (resize_mini_window): Temporarily change to the
5636 mini-window's buffer if necessary.
1bfdbe43 5637
d392e9c5
GM
5638 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
5639 the tooltip obscures less text under it.
5640
56412000-11-17 Gerd Moellmann <gerd@gnu.org>
5642
5643 * puresize.h (BASE_PURESIZE): Increase to 700000.
5644
92bb977f
JR
56452000-11-18 Jason Rumney <jasonr@gnu.org>
5646
5647 * w32term.c (w32_draw_bitmap): Use face to set colors.
5648
26fbf20b
DL
56492000-11-17 Dave Love <fx@gnu.org>
5650
5651 * lread.c (Fload): Fix #ifdef for pcc.
5652
100b593b
GM
56532000-11-17 Gerd Moellmann <gerd@gnu.org>
5654
5655 * xdisp.c (pos_visible_p): Compute the default character height
5656 differently.
5657
a288d0d1
GM
56582000-11-16 Gerd Moellmann <gerd@gnu.org>
5659
cac94de6 5660 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 5661 knowing the line's height; use the default font's height in that case.
cac94de6 5662
a288d0d1
GM
5663 * xfaces.c (weight_table): Add `demi' with the same meaning as
5664 `demibold'.
5665
981fb6f6
KH
56662000-11-16 Kenichi Handa <handa@etl.go.jp>
5667
2cca872d 5668 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
5669 (clear_glyph_row): Delete local static variable null_row.
5670
e5fa381b
JR
56712000-11-15 Jason Rumney <jasonr@gnu.org>
5672
5673 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
5674 (w32_alloc_lighter_color): Use new brightness calculations from
5675 xterm.c. Scale delta to be in the range expected by W32.
5676 (w32_draw_relief_rect): Use frame relief colors.
5677
8e42f043
GM
56782000-11-15 Gerd Moellmann <gerd@gnu.org>
5679
6d133d1f
GM
5680 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
5681 (Qinhibit_default_face_x_resources): New variable.
5682 (syms_of_frame): Initialize it.
5683 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
5684
5685 * xdisp.c (pos_visible_p): Improve function comment.
5686
5687 * lisp.h (BINDING_STACK_SIZE): New macro.
5688
8e42f043
GM
5689 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
5690 reading the directory if readdir returns null and errno is EAGAIN
5691 or EINTR.
5692
e8c87124
SM
56932000-11-14 Stefan Monnier <monnier@cs.yale.edu>
5694
5695 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
5696 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
5697 Set amount_to_scroll to max of dx and scroll_step so that
5698 scroll-conservatively doesn't defeat scroll-step>1.
5699 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
5700 scroll-conservatively for line-at-a-time scrolling.
5701
5f0c971d
GM
57022000-11-14 Gerd Moellmann <gerd@gnu.org>
5703
5704 * window.c (Fpos_visible_in_window_p): Call pos_visible with
5705 extra argument.
5706
5707 * xdisp.c (current_mode_line_height, current_header_line_height):
5708 New variables.
5709 (init_xdisp): Initialize them.
5710 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
5711 and use exact mode line heights if it is set.
5712
5713 * lisp.h (pos_visible_p): Change prototype.
5714
5715 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
5716 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
5717 and current_header_line_height first.
52283633
SM
5718 (current_mode_line_height, current_header_line_height):
5719 Declare extern.
5f0c971d 5720
d7361edf
MB
57212000-11-14 Miles Bader <miles@lsi.nec.co.jp>
5722
5723 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
5724 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
5725 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
5726
ee5e440a
MB
57272000-11-14 Miles Bader <miles@gnu.org>
5728
5729 * xterm.c (x_alloc_lighter_color): Include an additive component
5730 too for dark colors, because FACTOR isn't enough.
5731 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
5732 New macros.
5733
5ca020fc
GM
57342000-11-13 Gerd Moellmann <gerd@gnu.org>
5735
5736 * keyboard.c (show_help_echo): Call message3_nolog with number of
5737 bytes in the help string as 2nd parameter, instead of the number
5738 of characters.
5739
9d348294
MB
57402000-11-13 Miles Bader <miles@gnu.org>
5741
5742 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
5743 (Fload): Use new openp return protocol.
5744 Don't try to use Vload_source_file_function to load .elc files.
5745 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
5746 openp return protocol.
5747 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
5748
1729bb9a
KH
57492000-11-11 Kenichi Handa <handa@etl.go.jp>
5750
4e677396
KH
5751 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
5752
5753 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
5754 Defined these macros.
5755 (NLIST_STRUCT): Avoid re-defining it.
5756
1729bb9a
KH
5757 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
5758 -I/usr/contrib/X11R6/include.
5759 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
5760
a82fe213
JR
57612000-11-10 Jason Rumney <jasonr@gnu.org>
5762
5763 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
5764
5765 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
5766 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
5767
5768 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
5769 (Qw32_charset_vietnamese): New symbol.
5770 (xlfd_charset_of_font): New function.
5771 (w32_load_system_font): Use it.
5772 (x_to_w32_charset): Use Fassoc to find charset info. Special case
5773 when Vw32_charset_info_alist is nil to ensure default face always
5774 has font. Use Fcar and Fcdr for safety.
5775 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
5776 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
5777 pseudo-codepages for special cases.
5778 (w32_to_x_font): New parameter to allow charset portion to be
5779 specified where there is many to one mapping. Callers changed.
5780 (w32_list_fonts): Avoid listing fonts that won't display.
5781
52d89894
GM
57822000-11-10 Gerd Moellmann <gerd@gnu.org>
5783
5784 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
5785 (font_list_1): Renamed from font_list.
5786 (font_list): New function, trying alternative registries from
5787 Vface_alternative_font_registry_alist.
5788 (Finternal_set_alternative_font_registry_alist): New function.
5789 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
5790 Vface_alternative_font_registry_alist.
5791 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 5792
651cd3da
KR
57932000-11-09 Ken Raeburn <raeburn@gnu.org>
5794
5795 * lisp.h (Flooking_at): Declare.
5796
388ac098
GM
57972000-11-09 Gerd Moellmann <gerd@gnu.org>
5798
778fbc46 5799 * dired.c (directory_files_internal): Fix a braino.
52283633 5800
388ac098
GM
5801 * dired.c (directory_files_internal): Add missing GCPRO's.
5802 Some cleanup.
5803
ecaedde1
GM
58042000-11-08 Gerd Moellmann <gerd@gnu.org>
5805
f7eb32aa
GM
5806 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
5807 (resize_mini_window): Return quickly if Vresize_mini_window is
5808 nil. Don't return if Vmax_mini_window_height is nil.
5809
5810 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
5811 (syms_of_xdisp): Initialize them.
5812 (resize_mini_window): Act according to the setting of
5813 Vresize_mini_window.
5814 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
5815
ecaedde1
GM
5816 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
5817 scroll bar widget after configuring it, so that it will appear at
5818 the right position from the start.
5819 (XTredeem_scroll_bar): Cleaned up.
5820
3747ef2c
KH
58212000-11-08 Kenichi Handa <handa@etl.go.jp>
5822
5823 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 5824 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
5825 division by two.
5826
5827 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
5828
03391420
DL
58292000-11-07 Dave Love <fx@gnu.org>
5830
7758f1c1 5831 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
5832
5833 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
5834
b5de343d
GM
58352000-11-07 Gerd Moellmann <gerd@gnu.org>
5836
acad3c0b
GM
5837 * window.c (Fset_window_configuration): Don't try to preserve
5838 point in the current buffer, if that buffer is displayed in more
5839 than one window.
5840
b5de343d
GM
5841 * xfaces.c (lookup_named_face): If default face isn't realized,
5842 try to realize it. Return -1 if not successful.
5843 (Fx_list_fonts): Handle case that face cannot be determined.
5844 (Fface_font): Likewise.
5845
cdb1fe49
GM
58462000-11-06 Gerd Moellmann <gerd@gnu.org>
5847
5848 * window.c (displayed_window_lines): Detect partially
5849 visible lines at the bottom correctly.
5850
d3a67486
SM
58512000-11-06 Stefan Monnier <monnier@cs.yale.edu>
5852
5853 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
5854 when ensuring we don't do visit in indirect buffer.
5855
ff8dd5d5
KH
58562000-11-06 Kenichi Handa <handa@etl.go.jp>
5857
5858 * composite.h (compose_chars_in_text): Add prototype.
5859
5860 * composite.c (Vcomposition_function_table): New variable.
5861 (Qcomposition_function_table): New variable.
5862 (run_composition_function): Call
5863 Vcompose_chars_after_function with three arguments.
5864 (compose_chars_in_text): New function.
5865 (syms_of_composite): Modified the doc-string of
5866 Vcompose_chars_after_function. Declare composition-function-table
5867 as a lisp variable, and initialize it.
5868
5869 * xfns.c (x_encode_text): Suppress producing escape sequences for
5870 composition.
5871
5872 * xselect.c: Include composite.h.
5873 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
5874
d1145f85
AI
58752000-11-05 Andrew Innes <andrewi@gnu.org>
5876
5877 * w32term.c (x_produce_glyphs): Fix typo in enum name.
5878
5879 * sysdep.c (read_input_waiting): Remove extraneous argument to
5880 read_socket_hook.
5881
5882 * w32fns.c (Fx_server_version): Include w32_build_number in the
5883 return list.
5884
5885 * w32heap.c (w32_build_number): New variable.
5886 (cache_system_info): Set it.
5887
5888 * w32heap.h (w32_build_number): Add extern.
5889
5890 * emacs.c (syms_of_emacs): Update docstring for
5891 system-configuration, to reflect the actual usage on MS-Windows.
5892
e85ee976
GM
58932000-10-31 Gerd Moellmann <gerd@gnu.org>
5894
26dcb81b
GM
5895 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
5896 process idle timers while waiting for another event.
5897
52283633 5898 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
5899 the default face are colored.
5900
e85ee976
GM
5901 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
5902 window height hasn't changed.
5903
01b220b6
JR
59042000-10-31 Jason Rumney <jasonr@gnu.org>
5905
5906 * w32term.c (x_produce_glyphs): Handle composite characters.
5907 (x_draw_glyph_string_foreground)
5908 (x_draw_composite_glyph_string_foreground): Restore old font.
5909
4e6b7204
MB
59102000-10-31 Miles Bader <miles@lsi.nec.co.jp>
5911
5912 * minibuf.c (read_minibuf): Reset the undo history just before
5913 starting the recursive-edit.
5914
d4358b37
GM
59152000-10-30 Gerd Moellmann <gerd@gnu.org>
5916
563f68f1
GM
5917 * xfaces.c (menu_face_change_count): New variable.
5918 (Finternal_set_lisp_face_attribute): Increment it for changes
5919 of the `menu' face.
5920 (realize_basic_faces): Reflect changes in the `menu' faces
5921 in menu bars.
5922
82e274d1
GM
5923 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
5924 dy obtained from the iterator's y-position after moving from
5925 scroll_margin_pos to PT; see comment there.
52283633 5926
0dbf9fd2
GM
5927 * xdisp.c (safe_eval_handler): Call add_to_log.
5928
906b3b14
GM
5929 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
5930 is not a symbol or string.
5931
d4358b37
GM
5932 * xdisp.c (echo_area_display): Don't perform a display update from
5933 inside redisplay. The update will happen anyway at the end of
5934 redisplay, and it can confuse redisplay (GC messages while
5935 redisplaying, for instance.)
5936
70c825df
SM
59372000-10-30 Stefan Monnier <monnier@cs.yale.edu>
5938
cf9b4b0b
SM
5939 * xrdb.c (x_load_resources): Use the class name in the defaults.
5940
70c825df
SM
5941 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
5942 (regex_compile): Catch bogus \(\1\).
5943
a1d34b1e
GM
59442000-10-30 Gerd Moellmann <gerd@gnu.org>
5945
cae71efe
GM
5946 * xterm.c (x_alloc_nearest_color): Fix last change to compare
5947 RGB values.
52283633 5948
35efe0a1
GM
5949 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
5950 we have a color cache, check that the cached color equals the
5951 allocated color. If not, clear the color cache.
5952
1d3baf74
GM
5953 * window.c (displayed_window_lines): Change buffers if necessary.
5954 Fix computation of displayed lines.
5955
a1d34b1e
GM
5956 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
5957 update_menu_bindings to DEFVAR_BOOL.
5958
70737ea9
KH
59592000-10-30 Kenichi Handa <handa@etl.go.jp>
5960
70c825df 5961 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 5962
fa0cb51d
KH
5963 * puresize.h (BASE_PURESIZE): Increase to 680000.
5964
70737ea9
KH
5965 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
5966
0e4c08e8
JR
59672000-10-29 Jason Rumney <jasonr@gnu.org>
5968
5969 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
5970
5971 * w32term.c (w32_bdf_per_char_metric): Negate descent.
5972 (w32_cache_char_metrics): Handle possibility that 'x' does not
5973 exist in a BDF font.
5974 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
5975
5976 * w32bdf.h (bdffont): Add nchars.
5977
5978 * w32bdf.c (set_bdf_font_info): Set it.
5979 (w32_BDF_TextOut): Swap byte order of double byte characters.
5980 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
5981
45b84006
EZ
59822000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
5983
5984 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
5985 don't override the colors in frame's param_alist, unless they are
5986 unspecified.
5987
5988 * term.c (reassert_line_highlight): If inverse_video is non-zero,
5989 reverse the effect of the highlight flag.
5990
caf9deee
KR
59912000-10-27 Ken Raeburn <raeburn@gnu.org>
5992
5993 * window.h (Fwindow_live_p): Declare.
5994
ae0b9b46
KR
5995 * undo.c (record_delete): Check that last_undo_buffer is really a
5996 buffer before applying XBUFFER to it.
5997
5998 * keymap.c (where_is_internal): Pass lisp object, not integer, to
5999 Faref.
6000
02067692
SM
60012000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6002
6003 * lisp.h (KEYMAPP): New macro.
6004 (get_keymap): Remove.
6005 (get_keymap_1): Rename get_keymap.
6006
6007 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
6008
6009 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
6010
6011 * xmenu.c (single_submenu): Use KEYMAPP.
6012 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6013 Use KEYMAPP rather than Fkeymapp.
6014
6015 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
6016
6017 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
6018 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6019 Use KEYMAPP rather than Fkeymapp.
6020 (single_submenu): Use KEYMAPP.
6021 (w32_menu_show, w32_dialog_show): Use TRUE.
6022
6023 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
6024
6025 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
6026 (Fkeymapp): Use KEYMAPP.
6027 (get_keymap): Rename from get_keymap_1. Remove old def.
6028 Return t when autoload=0 and error=0 and the keymap needs autoloading.
6029 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
6030 (Fminor_mode_key_binding): Don't raise an error if the binding
6031 is not a keymap.
6032 (Fuse_global_map, Fuse_local_map): Allow autoloading.
6033 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
6034
6035 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
6036 Allow Vspecial_event_map to be autoloaded.
6037 (menu_bar_items): Fetch the keymap rather than using keymapp.
6038 (menu_bar_one_keymap): No need to follow func-indirect any more.
6039 (parse_menu_item): get_keymap_1 -> get_keymap.
6040 (tool_bar_items): Fetch the keymap rather than using keymapp.
6041 (read_key_sequence): Use KEYMAPP.
6042
6043 * intervals.c (get_local_map): Use get_keymap rather than following
6044 function-indirections explicitly.
6045
6046 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
6047
f9d80af3
JR
60482000-10-27 Jason Rumney <jasonr@gnu.org>
6049
6050 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
6051 point, as Windows has oversized fonts.
6052
6053 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
6054
a3ba27da
GM
60552000-10-27 Gerd Moellmann <gerd@gnu.org>
6056
6057 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
6058 (freehook, reallochook): Handle null pointer arguments.
6059 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
6060
aa3b80cc
SM
60612000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6062
6063 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
6064 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
6065 Giving in to popular pressure to shut up the compiler with casts.
6066
e24e84cc
GM
60672000-10-27 Gerd Moellmann <gerd@gnu.org>
6068
6069 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
6070 signed value, and use a default value computed from the font's
6071 maximum descent.
6072
05ea7ef2
MB
60732000-10-27 Miles Bader <miles@lsi.nec.co.jp>
6074
6075 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
6076 that specify a negative underline position can still use underlines.
6077
6078 * window.c (Fpos_visible_in_window_p): Make POS default to
6079 WINDOW's point, not the current buffer's point.
6080
0b95284b
DL
60812000-10-26 Dave Love <fx@gnu.org>
6082
6083 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
6084 when it's necessary.
6085
6c5b90af
GM
60862000-10-26 Gerd Moellmann <gerd@gnu.org>
6087
8b6d9dc9
GM
6088 * window.c (size_window): Compute size difference from sum of old
6089 child window sizes instead of from parent's size.
6090
6bc92b2e
GM
6091 * xdisp.c (pos_visible_p): Change current buffer if necessary.
6092 Handle obscured lines at the top of the window.
6093
6094 * frame.c (Fdelete_frame): Doc fix. Move running the hook
6095 down after the last error condition check.
6096
6c5b90af
GM
6097 * frame.c (Fdelete_frame): Run delete-frame-hook.
6098
42f92d4d
KH
60992000-10-26 Kenichi Handa <handa@etl.go.jp>
6100
6101 * coding.c (decode_coding): Fix previous change (check also
6102 CODING_MODE_LAST_BLOCK).
6103
d97151cb
SM
61042000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6105
e7efc503
SM
6106 * regex.c: More `unsigned char' -> `re_char' changes.
6107 Also change several `int' into `re_wchar_t'.
6108 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
6109 (PUSH_FAILURE_POINTER): Don't cast any more.
6110 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
6111 We want GCC to complain, since this piece of code makes
6112 re_match non-reentrant, which *should* be fixed.
6113 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
6114 (EXTEND_BUFFER): Use RETALLOC.
6115 (SET_LIST_BIT): Don't cast.
6116 (re_wchar_t): New type.
6117 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
6118 that those two functions will always properly return.
6119 (IMMEDIATE_QUIT_CHECK): Cast to void.
6120 (analyse_first): Use recursion rather than an explicit stack.
6121 (re_compile_fastmap): Can't fail anymore.
6122 (re_search_2): Don't check re_compile_fastmap for failure.
6123 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
6124 Now also sets the new value (passed in a new argument).
6125 (re_match_2_internal): Use it.
6126 Also, use a new var `reg' of type size_t when looping through regs
6127 rather than reuse the inappropriate `mcnt'.
6128
d97151cb
SM
6129 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
6130 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
6131 (where_is_internal): Renamed from Fwhere_is_internal.
6132 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
6133 (Fwhere_is_internal): New function wrapping where_is_internal.
6134 (where_is_internal_1): Handle the case where we're filling the cache.
6135 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
6136
d5789b65
MB
61372000-10-25 Miles Bader <miles@gnu.org>
6138
6139 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
6140
4ecda532
GM
61412000-10-25 Gerd Moellmann <gerd@gnu.org>
6142
6143 * window.c (pos_fully_visible_p): Removed.
6144 (Fpos_visible_in_window_p): Use pos_visible_p to determine
6145 if position is visible and/or fully visible.
6146
6147 * lisp.h (pos_visible_p): Add prototype.
6148
6149 * xdisp.c (pos_visible_p): New function.
6150
68c3a137
KH
61512000-10-25 Kenichi Handa <handa@etl.go.jp>
6152
6153 * process.c (send_process): If OBJECT is t, it means that the data
6154 is from C string, but we should encode it. Before calling
6155 setup_raw_text_coding_system, be sure to flush out data by the
6156 previous coding system.
6157
7ae1c032
MB
61582000-10-25 Miles Bader <miles@lsi.nec.co.jp>
6159
ff4dcd4b
MB
6160 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
6161 assignment of startpos to prev when startpos == pos.
6162
7ae1c032
MB
6163 * editfns.c (find_field): Set the field stickiness correctly from
6164 overlay fields. Use renamed `text_property_stickiness'.
6165 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 6166 Only check text properties, not overlays.
7ae1c032
MB
6167 * textprop.c (get_char_property_and_overlay): New function.
6168 (Fget_char_property): Use it.
6169 * intervals.h (get_char_property_and_overlay): Add declaration.
6170
49801145
SM
61712000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6172
6173 * keymap.c: Use AREF, ASET and ASIZE macros.
6174 (Fmake_sparse_keymap): Docstring fix.
6175 (synkey): Remove.
6176 (shadow_lookup): Move up.
6177 Handle the case where lookup-key returns an integer.
6178 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
6179 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
6180 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
6181 Simplify/rewrite the keymap-finding code.
6182 Add check for command shadowing, using shadow_lookup.
6183
39e776cd
SM
61842000-10-24 Stefan Monnier <monnier@cs.yale.edu>
6185
6186 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
6187 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
6188 a symbol.
6189
2488aba5
AI
61902000-10-24 Andrew Innes <andrewi@gnu.org>
6191
6192 * dired.c (directory_files_internal_unwind): New function.
6193 (directory_files_internal): Use it to ensure closedir is called
6194 even if expand-file-name or file-attributes throw, eg. because of
6195 a user interrupt. Also enable immediate_quit while calling
6196 re_search, so that matching can be interrupted as well.
6197
b94fdf61
AI
61982000-10-24 Andrew Innes <andrewi@gnu.org>
6199
6200 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
6201 NT-Emacs only.
6202 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
6203 so that re_search functions only quit when callers expect them to.
6204
62052000-10-24 Kenichi Handa <handa@etl.go.jp>
6206
6207 * regex.c (regex_compile): Change the way of handling a range from
6208 a char less than 256 to a char not less than 256.
6209
1946f901
GM
62102000-10-24 Gerd Moellmann <gerd@gnu.org>
6211
7ae2f10f
GM
6212 * window.c (size_window): Prevent setting window's width or
6213 height to a negative value (esp. with XSETFASTINT).
6214
5dcab13e
GM
6215 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
6216 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
6217 (protect_malloc_state) [GC_MALLOC_CHECK &&
6218 GC_PROTECT_MALLOC_STATE]: New function.
6219 (PROTECT_MALLOC_STATE): New macro.
6220 (__malloc_initialize, morecore, _malloc_internal)
6221 (_free_internal) _realloc_internal): Use it to make _heapinfo
6222 read-only outside of gmalloc.
6223
63e1b552
GM
6224 * keymap.c: Update copyright.
6225
1946f901
GM
6226 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
6227 a symbol.
6228
4fa09beb
GM
62292000-10-24 Colin Walters <walters@cis.ohio-state.edu>
6230
6231 * filelock.c (unlock_all_files): Use unlock_file to expand each
6232 buffer's file_truename before trying remove its lock file.
6233
23afac01
EZ
62342000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
6235
6236 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
6237 or CRLF, decode EOLs.
6238
04448b95
KH
62392000-10-24 Kenichi Handa <handa@etl.go.jp>
6240
6241 * window.c (Fdisplay_buffer): Fix doc.
6242
3090a5a5
JR
62432000-10-23 Jason Rumney <jasonr@gnu.org>
6244
6245 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
6246 ASCII font of default fontset on Windows.
6247
6248 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
6249 xterm.c comment below).
6250
6251 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
6252
a83fee2c
GM
62532000-10-23 Gerd Moellmann <gerd@gnu.org>
6254
6255 * xterm.c (x_connection_closed): Reset handling_signal.
6256
52283633 6257 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 6258
6ffdb539
MB
62592000-10-23 Miles Bader <miles@gnu.org>
6260
6261 * window.c (window_scroll_pixel_based, window_scroll_line_based):
6262 Pass nil for FULLY argument to Fpos_visible_in_window_p to
6263 maintain old behavior.
6264 * minibuf.c (Fminibuffer_complete): Likewise.
6265
7f1c969b
MB
62662000-10-23 Miles Bader <miles@lsi.nec.co.jp>
6267
6268 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
6269 that when a font can't be exactly centered, it errs up rather than
6270 down.
6271
23afac01 62722000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 6273
52283633 6274 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 6275
1a578e9b
AC
62762000-10-23 Andrew Choi <akochoi@i-cable.com>
6277
6278 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
6279
6280 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 6281 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
6282
6283 * emacs.c (main) [macintosh]: Call syms_of_textprop,
6284 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
6285 syms_of_search, x_term_init, and init_keyboard before calling
6286 init_window_once. Also, call syms_of_xmenu.
6287
6288 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
6289 default fontset to Monaco.
6290
6291 * frame.c [macintosh]: Include macterm.h. Remove declarations of
6292 NewMacWindow and DisposeMacWindow.
6293 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
6294 instead of calling NewMacWindow and setting fields of
6295 f->output_data.mac directly. Call init_frame_faces.
6296 (Fdelete_frame) [macintosh]: Remove unused code.
6297 (Fmodify_frame_parameters) [macintosh]: Call
6298 x_set_frame_parameters instead of mac_set_frame_parameters.
6299
6300 * frame.h [macintosh]: Define menu_bar_lines field in struct
6301 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
6302
6303 * keyboard.c [macintosh]: Include macterm.h.
6304 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
6305 and menu_bar_activate_event type events as for X and NT.
6306 (make_lispy_event) [macintosh]: Construct lisp events of type
6307 MENU_BAR_EVENT as for X and NT.
6308
6309 * sysdep.c [macintosh]: Remove declaration for sys_signal.
6310 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
6311 (sys_subshell) [macintosh]: Remove definition entirely.
6312 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
6313 Vwindow_system_version here. Remove initialization of
6314 Vx_bitmap_file_path.
6315 (read_input_waiting): Correct the number of parameters passed to
6316 read_socket_hook.
6317 Move all Macintosh functions to mac/mac.c.
6318
6319 * term.c [macintosh]: Include macterm.h.
6320
6321 * window.c [macintosh]: Include macterm.h.
6322
6323 * xdisp.c [macintosh]: Include macterm.h. Declare
6324 set_frame_menubar and pending_menu_activation.
6325 (echo_area_display) [macintosh]: Do not return if terminal frame
6326 is the selected frame.
6327 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
6328 Allow only the selected frame to set menu bar.
6329 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
6330 calling FRAME_EXTERNAL_MENU_BAR (f).
6331 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
6332
6333 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
6334 and check_x. Declare XCreateGC. Define x_create_gc and
6335 x_free_gc. Initialize font_sort_order.
6336 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
6337 but call x_list_fonts instead of w32_list_fonts.
6338 (Finternal_face_x_get_resource) [macintosh]: Do not call
6339 display_x_get_resource.
6340 (prepare_face_for_display) [macintosh]: Set xgcv.font.
6341 (realize_x_face) [macintosh]: Load the font if it is specified in
6342 ATTRS.
52283633 6343 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 6344
1ffbabe3
SM
63452000-10-22 Stefan Monnier <monnier@cs.yale.edu>
6346
6347 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
6348 is nil: since we go to the end of submap anyway, we'd end up
6349 setting nil to nil.
6350 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
6351 doesn't obey autoload.
6352
bed43f1d
EZ
63532000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
6354
1ffbabe3 6355 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 6356
ea4233a7
JR
63572000-10-21 Jason Rumney <jasonr@gnu.org>
6358
6359 * w32term.c (w32_cache_char_metrics): Double check that font is
6360 really fixed pitch before trusting tmPitchAndFamily.
6361
f3d3c491
AI
63622000-10-21 Andrew Innes <andrewi@gnu.org>
6363
6364 * w32gui.h (w32_char_font_type): Move enum from w32term.c
6365
6366 * w32term.h: Extern decl for w32_cache_char_metrics.
6367
6368 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
6369
6370 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
6371 (w32_unload_font): Free per_char array if present.
6372
6373 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
6374 cached information in emulated XFontStruct to handle common cases
6375 quickly. Do not allocate XCharStruct for return.
6376 (w32_native_per_char_metric): New function.
6377 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
6378 allocating one.
6379 (x_produce_glyphs): Don't get an HDC. Change calls to
6380 w32_per_char_metric to match arg change above. Remove calls to
6381 free results.
6382 (w32_get_glyph_overhangs): Ditto.
6383 (w32_cache_char_metrics): New function.
6384
6385 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
6386 ($(BLD)/casefiddle.$(O)): Remove compile command.
6387 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
6388 ($(BLD)/dispnew.obj):
6389 ($(BLD)/keyboard.obj):
6390 ($(BLD)/w32inevt.obj):
6391 ($(BLD)/w32bdf.obj):
6392 ($(BLD)/alloc.obj):
6393 ($(BLD)/buffer.obj):
6394 ($(BLD)/editfns.obj):
6395 ($(BLD)/emacs.obj):
6396 ($(BLD)/fileio.obj):
6397 ($(BLD)/fns.obj):
6398 ($(BLD)/indent.obj):
6399 ($(BLD)/insdel.obj):
6400 ($(BLD)/intervals.obj):
6401 ($(BLD)/minibuf.obj):
6402 ($(BLD)/print.obj):
6403 ($(BLD)/scroll.obj):
6404 ($(BLD)/sysdep.obj):
6405 ($(BLD)/textprop.obj):
6406 ($(BLD)/widget.obj):
f3d3c491
AI
6407 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
6408 ($(BLD)/term.obj): Add dependency on dispextern.h.
6409
52283633
SM
6410 * makefile.nt ($(BLD)\dispnew.obj):
6411 ($(BLD)\keyboard.obj):
6412 ($(BLD)\w32inevt.obj):
6413 ($(BLD)\w32bdf.obj):
6414 ($(BLD)\alloc.obj):
6415 ($(BLD)\buffer.obj):
6416 ($(BLD)\editfns.obj):
6417 ($(BLD)\emacs.obj):
6418 ($(BLD)\fileio.obj):
6419 ($(BLD)\fns.obj):
6420 ($(BLD)\indent.obj):
6421 ($(BLD)\insdel.obj):
6422 ($(BLD)\intervals.obj):
6423 ($(BLD)\minibuf.obj):
6424 ($(BLD)\print.obj):
6425 ($(BLD)\scroll.obj):
6426 ($(BLD)\sysdep.obj):
6427 ($(BLD)\textprop.obj):
6428 ($(BLD)\widget.obj):
f3d3c491
AI
6429 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
6430 ($(BLD)\term.obj): Add dependency on dispextern.h
6431
18ad4821
EZ
64322000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
6433
6434 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
6435 with an additional argument of Qt.
6436
de54681a
MB
64372000-10-21 Miles Bader <miles@gnu.org>
6438
6439 * window.c (pos_fully_visible_in_window_p): New function.
6440 (Fpos_visible_in_window_p): Add FULLY argument.
6441 Use pos_fully_visible_in_window_p.
6442 (window_scroll_pixel_based, window_scroll_line_based): Update
6443 calls to Fpos_visible_in_window_p.
6444 * lisp.h (Fpos_visible_in_window_p): Update prototype
6445
13c844fb
GM
64462000-10-20 Gerd Moellmann <gerd@gnu.org>
6447
6448 * alloc.c (toplevel): Conditionalize compilation of mem_*
6449 functions differently.
52283633 6450
d9506268
JR
64512000-10-20 Jason Rumney <jasonr@gnu.org>
6452
6453 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
6454 mem_init where it used to be. mem_z etc not defined otherwise.
6455
8094989b
GM
64562000-10-20 Gerd Moellmann <gerd@gnu.org>
6457
6458 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
6459 GC_MALLOC_CHECK.
6460 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
6461 structure definition and related variabled to the top of the file.
6462 Include this code when GC_MALLOC_CHECK is defined.
6463 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
6464 register/unregister allocated region.
6465 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
6466 which isn't allocated.
6467 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
6468 something which is already in use.
6469 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
6470 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
6471 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
6472 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
6473
6474 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
6475 _malloc_internal instead of malloc.
6476 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
6477 of free.
6478
ea456eb4
AI
64792000-10-20 Andrew Innes <andrewi@gnu.org>
6480
6481 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
6482 Windows.
6483 (my_strftime) <macro>: Don't use macro arg list when redefining as
6484 _strftime_copytm.
6485 (my_strftime) <function>: Supply 0 as ut argument.
6486
e64c3a75
JR
64872000-10-19 Jason Rumney <jasonr@altavista.net>
6488
6489 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
6490 including dispextern.h, as it stops faces from working.
6491
6492 * w32fns.c (Fx_create_frame): Don't bother calling
6493 face-set-after-frame-default since the caller does it for us
6494 anyway. Clean up calls to x_get_arg to be consistent with X.
6495
6496 * w32term.c (x_produce_glyphs): Handle
6497 unibyte_display_via_language_environment correctly.
6498 (w32_draw_box_rect): Fix the calculation of width and height.
6499
6500 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
6501 as it has stopped working.
6502 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
6503 menu-bar.
6504
17401c97
GM
65052000-10-19 Gerd Moellmann <gerd@gnu.org>
6506
6507 * eval.c (skip_debugger): Prevent a compiler warning.
6508 (Fcondition_case): Likewise.
6509 (Fbacktrace_frame): Use a null interactive spec.
6510
773272d8
KH
65112000-10-19 Kenichi Handa <handa@etl.go.jp>
6512
6513 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
6514
a42943e9
GM
65152000-10-18 Gerd Moellmann <gerd@gnu.org>
6516
e50517d9
GM
6517 * strftime.c: Sync with glibc, file version 1.78.
6518 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
6519 should no longer be used according to ISO 8601.
6520
9035a35a
GM
6521 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
6522 no map for meta_prefix_char, don't try to use it as a keymap.
6523 Instead, if T_OK is non-zero, look up a default binding, if any,
6524 otherwise, if T_OK is zero, return nil.
6525
a42943e9
GM
6526 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
6527 (x_to_xcolors, png_load): Use x_query_color.
6528
52283633
SM
6529 * xterm.c (x_color_cells, x_query_colors, x_query_color):
6530 New functions.
a42943e9
GM
6531 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
6532 which can be slow.
6533 (x_copy_color, x_alloc_lighter_color): Likewise.
6534
6535 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
6536 (x_query_color, x_query_colors): Add prototype.
6537
6538 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
6539 check_string_bytes only if not noninteractive, increase count to 50.
6540
00de2987
MB
65412000-10-18 Miles Bader <miles@lsi.nec.co.jp>
6542
6543 * insdel.c (adjust_markers_for_delete): Handle before-insertion
6544 markers correctly.
6545
54918e2b
GM
65462000-10-17 Gerd Moellmann <gerd@gnu.org>
6547
1f0b3fd2
GM
6548 * alloc.c (pure_bytes_used): Renamed from pureptr.
6549 (ALIGN): New macro.
6550 (pure_alloc): New function.
6551 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
6552 Use it.
6553 (Fpurecopy): Use PURE_POINTER_P.
6554
68c5d1db
GM
6555 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
6556 PT has moved backward.
52283633 6557
9a038881
GM
6558 * xdisp.c (cursor_row_p): Take continued lines into account.
6559
361b097f
GM
6560 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
6561 string's size_byte.
6562 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
6563 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
6564 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
6565 string allocated.
6566
54918e2b
GM
6567 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
6568 of selective display off while searching for the next line start.
6569
03ed0806
KH
65702000-10-17 Kenichi Handa <handa@etl.go.jp>
6571
6572 * Makefile.in (term.o): Depend on dispextern.h.
6573
7e05cdaf
SM
65742000-10-16 Stefan Monnier <monnier@cs.yale.edu>
6575
6576 * keymap.c (keymap_memberp): Ensure that nil is not a member.
6577
a6801fd1
GM
65782000-10-16 Gerd Moellmann <gerd@gnu.org>
6579
483de32b
GM
6580 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
6581 the iterator at the beginning, so that they can be set later on,
6582 for instance in reseat_at_next_visible_line_start, without being
6583 overwritten.
6584
a6801fd1
GM
6585 * xfns.c (pbm_format): Add :foreground and :background keywords.
6586 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 6587 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 6588
dbf1fcc1
EZ
65892000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
6590
6591 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
6592
52283633 6593 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
6594
6595 * msdos.c (IT_set_face): Compare highlighted face with the default
6596 face, and invert colors if these faces' colors are identical.
6597 (Fmsdos_remember_default_colors): Don't swap foreground and
6598 background colors in initial_colors[].
6599 (IT_set_frame_parameters): Don't swap frame's foreground and
6600 background pixels. If ALIST includes "(reverse . t)", swap
6601 foreground-color and background-color properties in frame's
6602 param_alist. If the original frame's param_alist doesn't specify
6603 the colors, store unspecified-fg and unspecified-bg, reversed if
6604 required.
6605
6606 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
6607 the colors are unspecified and reversed, reverse fore- and back-
6608 ground in the returned value.
6609 (Fframe_parameter): Ditto.
6610
b41fe2c3 66112000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 6612
3a6b59d9
GM
6613 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
6614 get_last_unchanged_at_beg_row.
6615 (find_first_unchanged_at_end_row): Renamed from
6616 get_first_unchanged_at_end_row.
6617 (find_first_unchanged_at_end_row): Convert assertions to
6618 unconditional tests which abort. When looking for a row in
6619 unchanged text, don't go further back than first_text_row.
6620
b41fe2c3
GM
6621 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
6622 Don't add in the last line's height when deciding if the new
6623 position is below the scroll margin.
9d1af64f 6624
b41fe2c3 66252000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
6626
6627 * editfns.c (Fconstrain_to_field): Check carefully for field
6628 boundaries if either OLD_POS or NEW_POS has a non-nil field
6629 property, even if they're the same.
6630
c412cb7b
KH
66312000-10-16 Kenichi Handa <handa@etl.go.jp>
6632
6633 * xterm.c (x_draw_box_rect): Fix the calculation of width and
6634 height for XFillRectangle.
6635
5586f3eb
SM
66362000-10-15 Stefan Monnier <monnier@cs.yale.edu>
6637
6638 * syntax.c (Fstring_to_syntax): New function extracted from
6639 Fmodify_syntax_entry.
6640 (Fmodify_syntax_entry): Use it and document the ! and | fences.
6641 (skip_chars, Fforward_comment): Remove unused variables.
6642 (syms_of_syntax): Add defsubr for string-to-syntax.
6643 (describe_syntax): Add code for comment and string fences.
6644
db785038
SM
66452000-10-14 Stefan Monnier <monnier@cs.yale.edu>
6646
6647 * keymap.c (access_keymap): Add AUTOLOAD parameter.
6648 Do the meta->esc mapping. Call get_keyelt before returning.
6649 Start scanning from the second element (the first is always `keymap')
6650 to make it easier to detect when we reach a parent map.
6651 Handle the case of inheriting from a symbol whose function is a map.
6652 (Fkeymap_parent): Also handle the `inherit from symbol' case.
6653 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
6654 (get_keyelt, Flookup_key): Update call to access_keymap.
6655 Remove the meta->esc mappings.
6656 (define_as_prefix): Delete old disabled code.
6657 (menu_item_p): New function.
6658 (where_is_internal_1): Skip over the few remaining menu items.
6659 * lisp.h (access_keymap): Update prototype.
6660 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
6661 Update call to access_keymap.
6662 (follow_key, read_key_sequence): Update calls to access_keymap.
6663 Remove the meta->esc mappings.
6664
cafafe0b
GM
66652000-10-13 Gerd Moellmann <gerd@gnu.org>
6666
a2e2a7f6
GM
6667 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
6668 with additional argument.
6669
cafafe0b
GM
6670 * xdisp.c (cursor_row_p): New function.
6671 (try_cursor_movement, display_line): Use it.
52283633 6672
cafafe0b
GM
6673 * xdisp.c (append_space): Also save/restore iterator's current
6674 character and its length.
6675
6676 * xdisp.c (init_from_display_pos): Add an assertion.
6677 (handle_stop): Don't set iterator's add_overlay_start.
6678 (handle_invisible_prop): Likewise.
6679 (load_overlay_strings): If text under an overlay is invisible,
6680 take both before- and after-strings into account when the iterator
6681 is positioned either at the start or at the end of the overlay.
6682 (forward_to_next_line_start): Rewritten.
6683 (reseat_at_next_visible_line_start): Rewritten.
6684 (set_iterator_to_next): Add parameter RESEAT_P.
6685
6686 * dispextern.h (struct it): Remove member add_overlay_start.
6687 (set_iterator_to_next): Change prototype.
6688
c744452b
KH
66892000-10-13 Kenichi Handa <handa@etl.go.jp>
6690
6691 * coding.c (code_convert_region): Be sure to initialize
6692 coding->category_idx.
e4a3f4e1
KH
6693 (decode_coding_string): Set coding->src_multibyte and
6694 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
6695 (encode_coding_string): Set coding->src_multibyte and
6696 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 6697
321fd26f
SM
66982000-10-12 Stefan Monnier <monnier@cs.yale.edu>
6699
6700 * xfns.c (Fx_create_frame): Don't bother calling
6701 face-set-after-frame-default since the caller does it for us anyway.
6702
76832439
EZ
67032000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
6704
6705 * window.c (coordinates_in_window): Fix detection of vertical line
6706 on character terminals.
6707
2483cf58
GM
67082000-10-12 Gerd Moellmann <gerd@gnu.org>
6709
6710 * editfns.c (save_excursion_save): Additionally record the
6711 selected window.
6712 (save_excursion_restore): If buffer was visible in a window, and a
6713 different window was selected, and the old selected window is
6714 still live, restore point in that window.
6715
eb991b25
KH
67162000-10-12 Kenichi Handa <handa@etl.go.jp>
6717
8a0eba09
KH
6718 * xterm.c (x_produce_glyphs): Handle
6719 unibyte_display_via_language_environment correctly.
6720
20401fcc
KH
6721 * regex.c (regex_compile): Change the way of handling a range from
6722 unibyte char to multibyte char.
6723
6724 * syntax.c (skip_chars): Change the way of handling a range from
6725 unibyte char to multibyte char.
6726
eb991b25
KH
6727 * process.c (read_process_output): Cancel previous change.
6728
365dd325
EZ
67292000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
6730
c1b096cb
EZ
6731 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
6732
365dd325
EZ
6733 * charset.c (Ffind_charset_string): Doc fix.
6734 (Ffind_charset_region): Doc fix.
6735
eb483c2b
KH
67362000-10-11 Kenichi Handa <handa@mule.m17n.org>
6737
6738 * process.c (read_process_output): Fix previous change. Adjust
6739 multibyteness of text to insert in a buffer by
52283633 6740 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 6741
b40bfb99
AS
67422000-10-10 Andreas Schwab <schwab@suse.de>
6743
6744 * alloc.c (mark_object): Remove all workarounds installed on
6745 1993-08-08.
6746
caff31d4
KH
67472000-10-10 Kenichi Handa <handa@etl.go.jp>
6748
52283633 6749 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
6750 (base64_encode_1): Make it work for a text of multibyte form.
6751 (Fbase64_decode_region): Allocate sufficient memory for multibyte
6752 case. Don't call str_to_multibyte because base64_decode_1
6753 produces correct multibyte form for eight-bit codes.
52283633 6754 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
6755 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
6756 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
6757 codes.
6758
6759 * charset.h (CHAR_STRING): Optimized for single byte characters.
6760
cba026ef
AS
67612000-10-09 Andreas Schwab <schwab@suse.de>
6762
6763 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
6764 -1 after socket is closed, to fall through to error processing.
6765
1e21fe48
EZ
67662000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
6767
6768 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 6769 variables. If ALIST includes foreground-color or
1e21fe48
EZ
6770 background-color, change also the colors of the default face for
6771 this frame.
6772
a640322e
EZ
67732000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
6774
6775 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
6776 them extern (they are defined on xfaces.c).
6777 (syms_of_msdos): Don't intern and don't staticpro
6778 Qbackground_color and Qforeground_color.
6779
a115794c
EZ
67802000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
6781
6782 * frame.c (Fframe_parameter): For non-windowed frames, if
6783 f->param_alist says foreground or background color is unspecified,
6784 call tty_color_name to return the color name computed from the
6785 frame's current colors.
6786
f5533b63
DL
67872000-10-06 Dave Love <fx@gnu.org>
6788
6789 * terminfo.c (ospeed): Don't declare.
6790
6791 * sysdep.c: Don't include string.h.
6792 (h_errno): Declare conditional also on TRY_AGAIN.
6793
6794 * charset.c (Ffind_charset_string): Doc fix.
6795
52283633 6796 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
6797 (Fbase64_decode_region, Fbase64_decode_string): More explicit
6798 error messages.
6799
2b06561a
DL
68002000-10-05 Dave Love <fx@gnu.org>
6801
6802 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
6803 position like menu-bar.
6804
ca839c85
GM
68052000-10-05 Gerd Moellmann <gerd@gnu.org>
6806
6807 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
6808
6809 * xdisp.c (handle_single_display_prop): Use safe_call1.
6810 (safe_call): Renamed from call_function.
6811 (safe_call1): New function.
6812 (handle_fontified_prop): Use safe_call1 instead of call1.
6813 (safe_eval): Renamed from eval_form.
6814 (safe_eval_handler): Renamed from eval_handler.
6815 (handle_single_display_prop, display_mode_element): Use safe_eval
6816 instead of eval_form.
6817
6818 * xfaces.c (merge_face_heights): Use safe_call instead of
6819 call_function.
6820
6821 * keyboard.c (show_help_echo): Use safe_call instead of
6822 call_function; use safe_eval instead of eval_form.
6823
6824 * lisp.h (safe_call): Renamed from call_function.
6825 (safe_eval): Renamed from eval_form.
6826 (safe_call1): Add prototype.
6827
a3489ece
MB
68282000-10-05 Miles Bader <miles@lsi.nec.co.jp>
6829
6830 * xfns.c (image_ascent): Rearrange ascent calculation for the
6831 has-a-font case.
6832
35810b6f
SM
68332000-10-04 Stefan Monnier <monnier@cs.yale.edu>
6834
6835 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
6836 (where_is_internal_1): Don't bother ignoring menu-items any more.
6837
3dc78168
GM
68382000-10-04 Gerd Moellmann <gerd@gnu.org>
6839
6840 * keyboard.c (update_menu_bindings): New variable.
6841 (parse_menu_item): Use AREF. If update_menu_bindings
6842 is 0, don't update menu bindings.
6843 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
6844
1efc2bb9
EZ
68452000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
6846
6847 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
6848 to `mark_object'.
6849
3f679f55
SM
68502000-10-02 Stefan Monnier <monnier@cs.yale.edu>
6851
6852 * syntax.c (forw_comment): Match nestedness of ender/starter.
6853 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
6854 (prev_char_comstart_first): Remove.
6855 (back_comment): Check two-char comment markers more carefully
6856 to better handle overlapping cases like *//* or /* */* */ ...
6857 Match nestedness of ender/starter.
6858
2021ab61
DL
68592000-10-02 Dave Love <fx@gnu.org>
6860
6861 * config.in (HAVE_GAI_STRERROR): Add undef.
6862
6863 * process.c (Fopen_network_stream): Use it.
6864
6865 * m/alpha.h (NO_REMAP): Don't define.
6866
64e6cc18
GM
68672000-10-02 Gerd Moellmann <gerd@gnu.org>
6868
6869 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
6870 return with a string converted to an integer or vice versa when
6871 Vmocklisp_arguments is t.
6872 (Fsignal): Likewise. The function can return for `quit'.
6873 (struct gcpro): Declare member `var' to point to a volatile
6874 Lisp_Object.
6875
6876 * eval.c (error): Prevent compiler warning.
6877
b1904cd9
SM
68782000-09-30 Stefan Monnier <monnier@cs.yale.edu>
6879
6880 * keymap.c (keymap_memberp): New function.
6881 (Fset_keymap_parent): Use it.
6882 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
6883 Use keymap_memberp to avoid creating cycles.
6884 (access_keymap): Use KEYMAPP.
6885
71c9ec51
GM
68862000-09-30 Gerd Moellmann <gerd@gnu.org>
6887
6888 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
6889 gai_strerror. Make sure xerrno is set if connect fails. Improve
6890 error recovery.
71c9ec51 6891
c70c6b58
JR
68922000-09-29 Jason Rumney <jasonr@gnu.org>
6893
6894 * w32term.c (w32_char_font_type, w32_encode_char)
6895 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
6896 (w32_bdf_per_char_metric): New function.
6897 (w32_per_char_metric): Use it.
6898 (x_draw_glyph_string_background): Always draw background for BDF
6899 glyphs.
6900
6901 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
6902 GDI object which is a scarce resource.
6903
6904 * w32bdf.c (search_file_line): Fix skipping of whitespace.
6905 (get_quoted_string): Fix limit on memchr search.
6906 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
6907 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
6908 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
6909 (get_cached_font_char, cache_char_offset): Use macro
6910 BDF_CODEPOINT_RANGE_COVER_P.
6911 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
6912 (clear_cached_bitmap_slots): New function.
6913 (GET_HEX_VALUE): G-Z, g-z are not hex.
6914 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
6915 (get_bitmap_with_cache): Use new cache implementation.
6916 (create_offscreen_bitmap): New function.
6917 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
6918
6919 * w32term.c (x_produce_glyphs): If the distance from the current
6920 position to the next tab stop is less than a canonical character
6921 width, use the tab stop after that.
6922 (x_draw_glyphs): Handle case START and END are out of bounds more
6923 carefully.
6924 (x_clear_mouse_face): Block/unblock input.
6925 (x_display_and_set_cursor): Don't show a hollow box cursor for
6926 buffers whose cursor_type is nil.
6927
fe01239f
GM
69282000-09-29 Gerd Moellmann <gerd@gnu.org>
6929
52283633 6930 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
6931
6932 * dispextern.h (updating_frame): Declare extern.
6933
e7c52f1f
AS
69342000-09-29 Andreas Schwab <schwab@suse.de>
6935
6936 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
6937
de6e1f7c
GM
69382000-09-29 Gerd Moellmann <gerd@gnu.org>
6939
25126faa
GM
6940 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
6941 use its function definition.
6942 (tool_bar_items): Likewise.
6943
de6e1f7c 6944 * lisp.h (fatal): Declare NO_RETURN.
52283633 6945
454ee39b
KH
69462000-09-29 Kenichi Handa <handa@etl.go.jp>
6947
6948 * keymap.c: Remove the line "#undef NULL".
6949
96301c5f
GM
69502000-09-28 Gerd Moellmann <gerd@gnu.org>
6951
52283633 6952 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 6953
efffeeb4
DL
69542000-09-28 Dave Love <fx@gnu.org>
6955
ecb8b666
DL
6956 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
6957
dc3cd20f
DL
6958 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
6959
6960 * .gdbinit (xreload): Note its need on GNU/Linux.
6961
efffeeb4
DL
6962 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
6963 r_alloc, r_alloc_free.
6964
8610d903
KH
69652000-09-28 Kenichi Handa <handa@etl.go.jp>
6966
6967 * syntax.c (skip_chars): Handle negation correctly.
6968
8901d1ac
GM
69692000-09-27 Gerd Moellmann <gerd@gnu.org>
6970
6f22f1ad
GM
6971 * xfaces.c (realize_default_face): Call set_lface_from_font_name
6972 with non-zero FORCE_P argument.
6973
52283633 6974 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
6975 Add assertions.
6976
6977 * xdisp.c (window_box_height): Add an assertion.
6978
6979 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
6980 tool-bar than is available.
6981 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
6982
36f1966f
DL
69832000-09-27 Dave Love <fx@gnu.org>
6984
efffeeb4 6985 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 6986
31d929e5
GM
69872000-09-26 Gerd Moellmann <gerd@gnu.org>
6988
c98863bf
GM
6989 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
6990 instead of BITS_PER_INT.
6991 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
6992 EMACS_UINT, respectively.
6993 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
6994
6995 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
6996
6997 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
6998
77072ab1
GM
6999 * window.c (freeze_window_starts): Construct last argument for
7000 foreach_window differently.
7001
7002 * xfns.c (x_decode_color): Don't return a Lisp_Object.
7003
7004 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
7005 EMACS_UINT instead of `int' and `unsigned int'.
7006 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
7007
7008 * frame.h (struct frame): Make the `nothing' member of union
7009 output_data an EMACS_INT.
7010
52283633 7011 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
7012 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
7013 size in the sdata structure.
7014 (SDATA_NBYTES, SDATA_DATA): New macros.
7015 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
7016 differently for the different layout of the sdata structure.
7017 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
7018 in sdata.
7019 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
7020 Check that size recorded in the string size and size recorded in
7021 the sdata structure agree.
7022
3e60b029
DL
70232000-09-25 Dave Love <fx@gnu.org>
7024
7025 * buffer.c: Include stdio.h.
7026
7027 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 7028
3e60b029
DL
7029 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
7030
7031 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 7032 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
7033 (__malloc_extra_blocks): Declare as __malloc_size_t.
7034
8ff16b4e
GM
70352000-09-25 Gerd Moellmann <gerd@gnu.org>
7036
755a2ccd
GM
7037 * alloc.c (mark_image): Use GC_NILP instead of NILP.
7038
d8b4516f
GM
7039 * keyboard.c (show_help_echo): Set help_echo_showing_p.
7040 (read_char): If help-echo is showing, preserve the echo area
7041 when redisplaying.
7042
7043 * xdisp.c (help_echo_showing_p): New variable.
7044 (set_message): Reset it to 0.
7045 (init_xdisp): Initialize help_echo_showing_p.
7046
7047 * dispextern.h (help_echo_showing_p): Declare extern.
7048
7049 * config.in: Fix typo in __GNUC_MINOR__.
7050
7051 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
7052
b11af2dd
GM
7053 * s/freebsd.h (POSIX_SIGNALS): Define.
7054
8ff16b4e
GM
7055 * xterm.c (x_clear_mouse_face): Block/unblock input.
7056
844eb643
DL
70572000-09-24 Dave Love <fx@gnu.org>
7058
7059 * fns.c (base64_encode_1): Fix last change.
7060
b30ab1b3
GM
70612000-09-22 Gerd Moellmann <gerd@gnu.org>
7062
7063 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
7064
7065 * xdisp.c (try_window_reusing_current_matrix): More fixes
7066 for the case window has a header-line.
7067
c6cbe5f0
DL
70682000-09-22 Dave Love <fx@gnu.org>
7069
4c7c1f3f
DL
7070 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
7071 a doc string.
7072
7073 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
7074
c6cbe5f0
DL
7075 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
7076
550a625e
GM
70772000-09-21 Gerd Moellmann <gerd@gnu.org>
7078
4c7c1f3f 7079 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
7080 for GCC >= 2.5.
7081
52283633
SM
7082 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
7083 Declare NO_RETURN.
fca99116 7084
80d26f99
GM
7085 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
7086 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
7087 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
7088 warnings.
52283633 7089
80d26f99
GM
7090 * marker.c (byte_char_debug_check): Return void.
7091
623a0aae
GM
7092 * xfns.c (Fx_create_frame): Set default frame parameter value
7093 for tool-bar-lines to 1.
7094
7095 * dispnew.c (scrolling_window): Compare y-positions of rows
7096 equal at the start. Some simplification.
7097
7098 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
7099 reused rows' y-position in the case window has a header-line, and
7100 new window start is greater than old window start.
7101
42ac0ae5
GM
7102 * process.c (process_sent_to): New variable.
7103 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
7104 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
7105 Declare more parameters volatile.
7106
550a625e
GM
7107 * lread.c (Vrecursive_load_depth_limit): New variable.
7108 (Fload): Check recursive loads whose recursion depth exceeds
7109 Vrecursive_load_depth_limit.
7110 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
7111
8320414c
GM
71122000-09-20 Gerd Moellmann <gerd@gnu.org>
7113
f46c275e
GM
7114 * fileio.c (Fread_file_name): Doc fix.
7115
7116 * editfns.c (Fmessage_or_box): Doc fix.
7117
7118 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
7119
b7e11c5b 7120 * xfns.c (xbm_scan): Allow C-style comments.
52283633 7121
8320414c
GM
7122 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
7123 symbols are specified, add color translations to the cache.
52283633 7124 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
7125 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
7126 xpm_cache_color.
7127 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
7128 structures to xpm_init_color_cache.
7129
da1608d9
GM
71302000-09-19 Gerd Moellmann <gerd@gnu.org>
7131
52283633 7132 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 7133
6badfa25
AI
71342000-09-19 Andrew Innes <andrewi@gnu.org>
7135
7136 * makefile.nt (bootstrap-emacs): Don't change directory.
7137
3a5f42bb
KH
71382000-09-19 Kenichi Handa <handa@etl.go.jp>
7139
1b7649bd
KH
7140 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
7141
3a5f42bb
KH
7142 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
7143 If output buffer is too small, signal an appropriated error.
7144
9f83cf0b
DL
71452000-09-18 Dave Love <fx@gnu.org>
7146
52283633 7147 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
7148 (current_active_maps): Remove redundant get_local_map call.
7149
28c7826c
GM
71502000-09-18 Gerd Moellmann <gerd@gnu.org>
7151
5cefa566
GM
7152 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
7153 cursor for buffers whose cursor_type is nil.
52283633 7154
6fed3546
GM
7155 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
7156 a feature to implement that is already implemented.
7157 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
7158 warnings.
7159
7160 * xfns.c (x_clear_image_1): New function.
7161 (x_clear_image): Use it.
52283633 7162 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 7163
05b1f851
GM
7164 * dispnew.c (update_window): Move test for invisible lines
7165 at the top to update_window_line.
7166 (update_window_line): Handle invisible lines here.
7167
f4779de9
GM
7168 * xfns.c (clear_image_cache): Clear current matrices of all
7169 frames sharing an image cache. Block input while freeing
7170 images. Fix timestamp comparison.
7171 (x_clear_image): Also free the mask.
7172
28c7826c
GM
7173 * xfns.c (lookup_image): Block input while loading the image so
7174 that we won't get interrupted in a state where the image isn't yet
7175 set up completely.
7176 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
7177 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
7178 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 7179 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 7180
b7412313
GM
71812000-09-16 Gerd Moellmann <gerd@gnu.org>
7182
7183 * dispnew.c (update_window): Make sure to make desired rows
7184 current even if they are completely invisible at the top
7185 of a window.
7186
47e351a3
GM
71872000-09-15 Gerd Moellmann <gerd@gnu.org>
7188
7f8f1edc
GM
7189 * xfns.c (lookup_image): Build mask before applying an algorithm.
7190 Recognize algorithm `disabled'.
7191 (cross_disabled_images): New variable.
7192 (COLOR_INTENSITY): New macro.
7193 (x_detect_edges): Use COLOR_INTENSITY.
7194 (x_disable_image): New function.
7195 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
7196
7197 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
7198 disabled state, don't apply an image transformation algorithm if
7199 the user specified an image for the disabled state. Use
28c7826c 7200 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
7201 user hasn't specified an image.
7202
ebb8f116
GM
7203 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
7204 allocation functions with the XPM lib.
7205 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
7206 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
7207 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
7208 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 7209 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
7210 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
7211 functions, if possible, because these handle color allocation
7212 failure more gracefully.
7213 (Fimage_mask_p): New function.
7214
47e351a3
GM
7215 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
7216 (Qedge_detection, Qheuristic): New symbols.
7217 (syms_of_xfns): Initialize new symbols.
7218 (lookup_image): Handle `:mask X', `:algorithm emboss', and
7219 `algorithm (edge-detection ...)'.
7220 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
7221 (tiff_format, gif_format, gs_format): Add `:mask'.
7222 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
7223 (GIF_MASK, GS_MASK): New enumerators.
7224 (x_laplace_read_row, x_laplace_write_row): Functions removed.
7225 (emboss_matrix, laplace_matrix): New variables.
7226 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
7227 (x_edge_detection): New functions.
7228 (x_laplace): Rewritten in terms of x_detect_edges.
7229 (x_build_heuristic_mask): If image has a mask, free it.
7230
fe83b953
AI
72312000-09-14 Andrew Innes <andrewi@gnu.org>
7232
7233 * makefile.w32-in: Revert to Unix line endings.
7234
3021e816
AI
72352000-09-14 Andrew Innes <andrewi@gnu.org>
7236
7237 * makefile.w32-in: Standardize indentation somewhat.
7238 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
7239 cater for differences between shells.
7240
7241 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
7242
2a32b5ea
GM
72432000-09-14 Gerd Moellmann <gerd@gnu.org>
7244
7245 * xterm.c (x_produce_glyphs): If the distance from the current
7246 position to the next tab stop is less than a canonical character
7247 width, use the tab stop after that.
7248
b4331e96
DL
72492000-09-14 Dave Love <fx@gnu.org>
7250
7251 * buffer.c (alloc_buffer_text): Fix xmalloc call.
7252
ef9e4345
GM
72532000-09-14 Gerd Moellmann <gerd@gnu.org>
7254
085536c2
GM
7255 * xdisp.c (handle_fontified_prop): While running fontification
7256 functions, bind `fontification-functions' and
7257 `after-change-functions' to nil.
7258
ef9e4345
GM
7259 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
7260 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
7261
7262 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
7263
7264 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
7265 USE_MMAP_FOR_BUFFERS.
7266
7267 * insdel.c (make_gap): Use enlarge_buffer_text.
7268
7269 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
7270 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
7271 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
7272 from former r_alloc_* functions in ralloc.c.
52283633 7273 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
7274 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
7275 (mmap_init) [REL_ALLOC_MMAP]: New function.
7276 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
7277 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
7278 BUFFER_FREE.
7279
7280 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
7281 (enlarge_buffer_text): Add prototype.
7282
7283 * ralloc.c: Remove everything having to do with the use of mmap.
7284
f8608968
GM
72852000-09-13 Gerd Moellmann <gerd@gnu.org>
7286
2a494b2d
GM
7287 * sound.c (Fplay_sound): Doc fix.
7288
8c907a56
GM
7289 * keyboard.c: Avoid some more compiler warnings.
7290 (parse_tool_bar_item): Ignore cached key bindings.
7291
f8608968
GM
7292 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
7293 and allocation of Lisp data.
7294
6ab70e9a
GM
72952000-09-12 Gerd Moellmann <gerd@gnu.org>
7296
d12d0a9b
GM
7297 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
7298 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
7299 defaults first.
7300
6ab70e9a
GM
7301 * lread.c (Fload): Put code checking for recursive loads in #if 0.
7302
63c36c3c
KH
73032000-09-12 Miyashita Hisashi <himi@meadowy.org>
7304
7305 * ccl.c: Comment fixed.
7306 (MAX_MAP_SET_LEVEL): Increased to 30.
7307 (PUSH_MAPPING_STACK): Enclose with do-while block.
7308 (POP_MAPPING_STACK): Likewise.
7309 (stack_idx_of_map_multiple): New variable.
7310 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
7311 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 7312 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
7313 (ccl_driver) <CCL_MapSingle>: Likewise.
7314 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
7315 with the case where looking up process reaches to the end of
7316 map-set, and call CCL programs as the above change.
7317
7ee3bd7b
GM
73182000-09-11 Gerd Moellmann <gerd@gnu.org>
7319
8ec8a5ec
GM
7320 * xfns.c (png_load, jpeg_load): Declare some variables volatile
7321 that might be clobbered by longjmp.
7322 (check_x_display_info, x_decode_color, create_frame_xic)
7323 (Fx_display_backing_store, Fx_display_visual_class)
52283633 7324 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 7325
f74b0705
GM
7326 * lread.c (init_lread): Set Vloads_in_progress to nil.
7327 (Fload): Show list of recursively loaded files, when signaling an
7328 error.
7329
7ee3bd7b
GM
7330 * lread.c (Vloads_in_progress): New variable.
7331 (record_load_unwind): New function.
7332 (Fload): Check for recursive loads.
7333 (syms_of_lread): Initialize Vloads_in_progress.
7334 (read_integer, read1): Avoid some compiler warnings.
7335
7336 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
7337 compiler warnings.
7338
974e1e5b
MB
73392000-09-11 Miles Bader <miles@gnu.org>
7340
7341 * editfns.c (Fbuffer_string): Doc fix.
7342
9824c4e3
GM
73432000-09-10 Gerd Moellmann <gerd@gnu.org>
7344
7345 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
7346
6a72fdd1
KR
73472000-09-09 Ken Raeburn <raeburn@gnu.org>
7348
7349 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
7350 whether to include other header files.
7351
28e6fb66
GM
73522000-09-09 Gerd Moellmann <gerd@gnu.org>
7353
52283633 7354 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 7355 by Fmemq as a boolean.
28e6fb66 7356
7f8b6551
SM
73572000-09-08 Stefan Monnier <monnier@cs.yale.edu>
7358
7359 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
7360
a8710abf
GM
73612000-09-08 Gerd Moellmann <gerd@gnu.org>
7362
d1a02881
GM
7363 * ralloc.c (mmap_fd): Remove initializer which can make it
7364 read-only in a dumped Emacs.
7365 (mmap_fd_1): New variable.
7366 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
7367 restore it from there.
7368 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
7369 unconditionally so that mmap_fd can be initialized there.
7370 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
7371 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
7372 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
7373
c454aac1
GM
7374 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
7375
7376 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 7377 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 7378
fc653ef2
GM
7379 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
7380
3015eec0
GM
7381 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
7382 inheritance.
7383
bfe0ee88
GM
7384 * xdisp.c (try_window_id): When trying to locate cursor in
7385 unchanged rows at the top, handle the case that we can't find it.
7386
a8710abf
GM
7387 * xterm.c (x_draw_glyphs): Handle case START and END are out
7388 of bounds more carefully.
7389
6b7d4ae4
DL
73902000-09-08 Dave Love <fx@gnu.org>
7391
423193c5
DL
7392 * s/sol2.h (REL_ALLOC_MMAP): Define.
7393 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
7394
7395 * ralloc.c: Don't include string.h (redundant).
7396 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
7397 [!MAP_ANON]: Include fcntl.h.
7398 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
7399 (r_alloc, r_re_alloc, r_alloc_free)
7400 (mmap_enlarge, mmap_set_vars): Use it.
7401 (r_alloc_init_fd): New function.
7402 (__morecore) [SYSTEM_MALLOC]: Don't declare.
7403 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
7404 malloc type.
7405
7406 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
7407 Remove vm-limit.o.
7408
6b7d4ae4
DL
7409 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
7410 change to __NetBSD__.
7411
44d31981
KH
74122000-09-08 Kenichi Handa <handa@etl.go.jp>
7413
7414 * search.c (compile_pattern): Check the multibyteness of cached
7415 string and PATTERN.
7416
aad40737
MB
74172000-09-08 Miles Bader <miles@gnu.org>
7418
7419 * xfaces.c (default_face_vector): Function removed.
7420 (Finternal_merge_in_global_face): Restore old global/local
7421 attribute override order. Use inline loop instead of calling
7422 default_face_vector.
7423
91a211b5
GM
74242000-09-07 Gerd Moellmann <gerd@gnu.org>
7425
7426 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
7427 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
7428 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
7429 where necessary, in case POINTER_TYPE is `void'.
7430
03419440
EZ
74312000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
7432
7433 * frame.c (make_terminal_frame): Initialize frame foreground and
7434 background colors to unspecified, for the initial instance of an
7435 MSDOS frame.
7436
f46f845b
GM
74372000-09-07 Gerd Moellmann <gerd@gnu.org>
7438
24f76fbf
GM
7439 * ralloc.c (mmap_find): Fix overlap computation.
7440 (mmap_enlarge): Compute nbytes before trying to find an
7441 overlapping region.
7442
f46f845b
GM
7443 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
7444 instead of `!='.
7445
7446 * lread.c (syms_of_lread): Change value of regexp
7447 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
7448
7449 * xmenu.c (xdialog_show): When looking up the selection in
7450 menu_items, take `quote' boundaries into account; this corresponds
7451 to a nil ITEM in x-popup-dialog.
7452
3c014385
KH
74532000-09-07 Kenichi Handa <handa@etl.go.jp>
7454
fd6f711b
KH
7455 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
7456 not 0x81.
7457 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
7458
3c014385 7459 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
7460 encoding, not decoding. Fix the handling of latin-jisx0201.
7461 Check for the charset katakana-jisx0201 too.
3c014385 7462 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 7463 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 7464
0da3ecef
GM
74652000-09-07 Gerd Moellmann <gerd@gnu.org>
7466
ab0ee409
GM
7467 * xfaces.c (Vparam_value_alist): New variable.
7468 (syms_of_xfaces): Initialize it.
7469 (Finternal_set_lisp_face_attribute): Avoid more consing.
7470
7471 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
7472 specially.
7473 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
7474 (Qbackground_mode): New variable.
7475 (syms_of_frame_1): Initialize Qbackground_mode.
7476
7477 * lisp.h (Qdisplay): Declare extern.
1091dd67 7478
0da3ecef
GM
7479 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
7480 change face on all frames, and change the default for new frames.
7481
b14654b9
DL
74822000-09-07 Dave Love <fx@gnu.org>
7483
7484 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
7485
d24fd56f
KH
74862000-09-07 Kenichi Handa <handa@etl.go.jp>
7487
794f3670
KH
7488 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
7489
0fddd0dc
KH
7490 * charset.c: Include composite.h
7491 (lisp_string_width): New function.
7492 (Fstring_width): Call lisp_string_width instead of strwidth.
7493
7494 * Makefile.in (charset.o): Depends on composite.h.
7495
d24fd56f
KH
7496 * process.c (read_process_output): Before inserting the decoded
7497 text in the buffer, adjust the multibyteness.
7498
fa0b693c
GM
74992000-09-06 Gerd Moellmann <gerd@gnu.org>
7500
52283633 7501 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
7502 buffer's text buffer is null, map new memory.
7503
0a58f946
GM
7504 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
7505 POINTER_TYPE and size_t.
7506 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
7507 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
7508 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
7509 [REL_ALLOC_MMAP]: New macros.
7510 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
7511 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
7512 [REL_ALLOC_MMAP]: New functions.
7513
7514 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
7515 before and after unexec.
7516
7517 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
7518 text buffers if necessary.
7519
7520 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
7521 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
7522 in prototypes.
7523
fa0b693c
GM
7524 * config.in (HAVE_MMAP): Add #undef.
7525
877055f6
GM
75262000-09-05 Gerd Moellmann <gerd@gnu.org>
7527
08ba3862
GM
7528 * frame.c (Qdisplay_type): New variable.
7529 (syms_of_frame_1): Initialize it.
7530 (Fframe_parameter): New function that avoids consing.
7531 (syms_of_frame): Defsubr it.
7532
66ffe51c
GM
7533 * buffer.c (Fother_buffer): Consider buffers as invisible when
7534 they are displayed in a window on an invisible frame.
7535
877055f6
GM
7536 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
7537 get-largest-window always return nil.
7538
bb970e67
GM
75392000-09-04 Gerd Moellmann <gerd@gnu.org>
7540
7541 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
7542 variable; recognize Emacs 19 elc files.
7543
7a3d0e0e
MB
75442000-09-04 Miles Bader <miles@gnu.org>
7545
7546 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
7547 before initially popping up the menu, so the menu doesn't flash
52283633 7548 when the face settings are significantly different from the defaults.
7a3d0e0e 7549
14473664
SM
75502000-09-04 Stefan Monnier <monnier@cs.yale.edu>
7551
7552 * regex.c (WIDE_CHAR_SUPPORT): New macro.
7553 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
7554 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
7555 (BIT_UNIBYTE): Remove.
7556 (re_match_2_internal): Delete corresponding code and streamline the
7557 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
7558 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
7559 (re_wctype_t): New type.
7560 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
7561 (regex_compile): Use them and fix handling of overly long char classes.
7562
c1174479
AI
75632000-09-03 Andrew Innes <andrewi@gnu.org>
7564
f8803e97
AI
7565 * makefile.w32-in: Change to DOS line endings.
7566
c1174479
AI
7567 * s/ms-w32.h (ORDINARY_LINK): New define.
7568
7569 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
7570 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
7571
7572 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
7573 (distclean): Delete them here instead.
7574
44ef7cf6
AI
7575 * w32proc.c (compare_env): Convert to uppercase for comparison,
7576 not lowercase, to match how the native Windows shell works.
7577
49b3bd82
JR
75782000-09-03 Jason Rumney <jasonr@gnu.org>
7579
7580 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
7581 CVS changes the line-ends when checking in/out on DOS/Windows.
7582
7583 * makefile.nt (emacs): Do not change directory to run temacs, as
7584 the load-path is set relative to current directory.
7585
a3d35a39
MB
75862000-09-03 Miles Bader <miles@gnu.org>
7587
7588 * xterm.c (x_alloc_lighter_color_for_widget): New function.
7589
d276b0cf
GM
75902000-09-02 Gerd Moellmann <gerd@gnu.org>
7591
715e84c9
GM
7592 * xdisp.c (redisplay_mode_lines): New function.
7593 (display_mode_lines): Return number of mode lines displayed.
7594 (echo_area_display): Use redisplay_mode_lines to draw garbaged
7595 mode lines. Don't temporarily bind redisplay-dont-pause to t.
7596
8892f40b
GM
7597 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
7598 string.h and strings.h.
7599 (index) [HAVE_INDEX]: Add prototype.
7600
d276b0cf
GM
7601 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
7602 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
7603
7604 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
7605 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
7606
38404229
GM
76072000-09-01 Gerd Moellmann <gerd@gnu.org>
7608
7609 * lread.c (read1): Accept `?' as symbol constituent, for
7610 compatiblity with XEmacs.
7611
c0f9ea08
SM
76122000-08-31 Stefan Monnier <monnier@cs.yale.edu>
7613
7614 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
7615 (struct re_pattern_buffer): Remove newline_anchor.
7616 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
7617 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
7618 (re_max_failures, fail_stack): Use size_t rather than unsigned.
7619 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
7620 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
7621 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
7622 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
7623 Get rid of references to newline_anchor.
7624 (regcomp): Allocate and precompute a fastmap.
7625
8c0f83fe
GM
76262000-08-31 Gerd Moellmann <gerd@gnu.org>
7627
7628 * lread.c (openp): GCPRO local variable `filename'.
7629
4bb91c68
SM
76302000-08-30 Stefan Monnier <monnier@cs.yale.edu>
7631
7632 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
7633
7634 * regex.c: Merge some changes from GNU libc. Add prototypes.
7635 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
7636 Use memcmp and memcpy instead of bcopy and bcmp.
7637 (init_syntax_once): Use ISALNUM.
7638 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
7639 (REG_UNSET_VALUE): Remove. Use NULL instead.
7640 (REG_UNSET, re_match_2_internal): Use NULL.
7641 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
7642 New macros.
7643 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
7644 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
7645 (regex_compile): In handle_interval, return an error rather than try to
7646 unfetch the interval if we can't find the closing brace.
7647 Obey the RE_NO_GNU_OPS syntax bit.
7648 (TOLOWER): New macro.
7649 (regcomp): Use it.
7650 (regexec): Allocate regs.start and regs.end as one block.
7651
5226a931
GM
76522000-08-30 Gerd Moellmann <gerd@gnu.org>
7653
868dd24b
GM
7654 * xdisp.c (echo_area_display): Check display_completed instead
7655 of calling detect_input_pending.
7656
7657 * dispnew.c (update_frame): Only set display_completed here; move
7658 the update_begin and update_end calls here from update_frame_1.
7659 (update_frame_1): Don't set display_completed here, don't call
7660 update_begin/update_end.
7661
5226a931
GM
7662 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
7663 instead of store_frame_param.
7664
2a8bd25f
GM
76652000-08-29 Gerd Moellmann <gerd@gnu.org>
7666
7667 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
7668 desired window matrix hasn't been displayed, use the current row
7669 instead. Make sure that only those frame rows are updated for
7670 which there exists a corresponding enabled desired row.
52283633 7671
ba3478d9
MB
76722000-08-29 Miles Bader <miles@gnu.org>
7673
7674 * xfaces.c (default_face_vector): New function.
7675 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
7676
87d0f685
GM
76772000-08-29 Gerd Moellmann <gerd@gnu.org>
7678
7679 * lread.c (openp): Prevent temporary string passed to
7680 Ffile_readable_p from being garbage collected.
7681
6fa86045
DL
76822000-08-28 Dave Love <fx@gnu.org>
7683
7684 * keymap.c (store_in_keymap): Add `static' to declaration.
7685
bb17930d
GM
76862000-08-28 Gerd Moellmann <gerd@gnu.org>
7687
7688 * emacs.c, callint.c, doc.c, editfns.c
7689 (toplevel) [HAVE_STRING_H]: Include string.h.
7690 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
7691 (index): Remove prototypes which might conflict with non-standard
7692 definitions of index/strchr.
7693
7694 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
7695 (rindex): Define only if !HAVE_RINDEX.
7696
7697 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
7698
7699 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
7700
87188200
MB
77012000-08-28 Miles Bader <miles@gnu.org>
7702
7703 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
7704 made inconsistent by a font-related attribute in FROM.
7705 (merge_face_inheritance): Add function comment.
7706
41a68aef
KH
77072000-08-28 Kenichi Handa <handa@etl.go.jp>
7708
7709 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
7710 the 4th arg (PREV_EVENT) Qt to suppress input method.
7711
f7c436c1
SM
77122000-08-27 Stefan Monnier <monnier@cs.yale.edu>
7713
0b32bf0e
SM
7714 * regex.c: Indent cpp directives and remove parens after `defined'.
7715 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
7716 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
7717 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
7718 (re_compile_pattern): Use size_t for length.
7719 (init_syntax_once): Move to a better place.
7720 * regex.h: Merge changes from GNU libc. Indent cpp directives.
7721 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
7722
f7c436c1
SM
7723 * syntax.c (back_comment): Detect cases where a comment-starter is
7724 actually inside another comment as in: /* a // b */ c // d \n.
7725 Make it clear that `comstart_pos' is unused for nested comments.
7726
7727 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
7728 (KEYMAPP): New macro.
7729 (Fkeymap_parent, Fset_keymap_parent): Use it.
7730 (fix_submap_inheritance): Mark it static.
7731 (define_as_prefix, describe_buffer_bindings, describe_command)
7732 (describe_translation, describe_map): Complete prototypes.
7733
7734 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
7735
7736 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
7737 to better match the key-lookup behavior.
7738
6288c62f
GM
77392000-08-27 Gerd Moellmann <gerd@gnu.org>
7740
7741 * xfaces.c (lface_fully_specified_p): Handle :inherit.
7742 (Finternal_set_lisp_face_attribute): Fix typo in error message.
7743
e931344e
EZ
77442000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
7745
7746 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
7747 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
7748 (xterm.o): Depend on coding.h
7749
d10dfeef
KH
77502000-08-26 Kenichi Handa <handa@etl.go.jp>
7751
7752 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
7753 the corresponding '#endif'.
7754
2d73e8d3
MB
77552000-08-26 Miles Bader <miles@gnu.org>
7756
7757 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
7758 * xfaces.c (QCinherit): New variable.
7759 (syms_of_xfaces): Initialize it.
7760 (LFACE_INHERIT): New macro.
7761 (Finternal_get_lisp_face_attribute)
52283633 7762 (merge_face_vector_with_property)
2d73e8d3
MB
7763 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
7764 (check_lface_attrs): Allow new types of face height. Check
7765 inherit attribute.
7766 (CYCLE_CHECK): New macro.
7767 (merge_face_inheritance): New function.
7768 (merge_face_vectors): Merge inherited faces too. Add F and
7769 CYCLE_CHECK arguments.
7770 (merge_face_vector_with_property, Finternal_merge_in_global_face)
7771 (lookup_named_face, lookup_derived_face, realize_named_face)
7772 (face_at_string_position, face_at_buffer_position): Supply
7773 new F and CYCLE_CHECK arguments to merge_face_vectors.
7774 (merge_face_heights): New function.
52283633 7775 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
7776 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
7777 handle relative face heights.
7778 (lface_same_font_attributes_p): Compare heights using EQ.
7779
6ce974d4
KH
77802000-08-26 Kenichi Handa <handa@etl.go.jp>
7781
7782 * charset.c (char_to_string): Check the character validity.
52283633 7783 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 7784
dc1e502d
SM
77852000-08-25 Stefan Monnier <monnier@cs.yale.edu>
7786
7787 * regex.c (PUSH_FAILURE_COUNT): New macro.
7788 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
7789 Handle popping of a register's or a counter's data.
7790 (POP_FAILURE_POINT): Use the new name.
7791 (re_match_2_internal): Push counter data on the stack for succeed_n,
7792 jump_n and set_number_at and remove misleading dead code in succeed_n.
7793
bd9d0f3f
GM
77942000-08-25 Gerd Moellmann <gerd@gnu.org>
7795
7796 * xdisp.c (redisplay_internal): If considering all windows on all
7797 frames, update the display for each frame as soon as possible,
7798 instead of first building all desired matrices for all frames, and
7799 then updating them all.
7800 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
7801
aa5b8e15
GM
78022000-08-24 Gerd Moellmann <gerd@gnu.org>
7803
17494071
GM
7804 * bytecode.c (mark_byte_stack): Add a comment.
7805
52283633
SM
7806 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
7807 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
7808 a graphical frame.
7809
c543db81
KH
78102000-08-24 Kenichi Handa <handa@etl.go.jp>
7811
d246d5f5
KH
7812 * minibuf.c (do_completion): Always use compare-string, not
7813 string-equal because the latter doesn't pay attention to
7814 multibyteness of strings.
7815
c543db81
KH
7816 * process.c (create_process): Don't setup raw-text coding here.
7817 (Fopen_network_stream): Don't set coding->src_multibyte and
7818 coding->dst_multibyte here.
7819 (read_process_output): For process filter, return unibyte string
7820 if default-enable-multibyte-characters is nil.
7821 (send_process): If OBJECT is multibyte text, be sure to encoded it
7822 by the specified coding system for the process. Otherwise, setup
7823 raw-text coding.
52283633 7824 (init_process): Don't initialize default-process-coding-system here.
c543db81 7825
9b47cfe0
EZ
78262000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
7827
7828 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
7829 <scroll-down-aggressively>: Likewise.
7830
f5a36960
KH
78312000-08-23 Kenichi Handa <handa@etl.go.jp>
7832
7833 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
7834 zero. Set coding->produced_char correctly.
7835
69a7ffa7
AI
78362000-08-22 Andrew Innes <andrewi@gnu.org>
7837
7838 * makefile.w32-in: New file.
7839
7840 * unexw32.c (unexec): Ignore old_name, and use the actual location
7841 of the current executable instead. Base new_name on this.
7842
7843 * w32proc.c (create_child): Remove reference to security
7844 descriptor, which isn't needed and doesn't compile with mingw32.
7845
7846 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7847 up dllimport attributes.
7848 (x_update_window_end): Update prototype.
7849
7850 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
7851 extern, which screws up dllimport attributes.
7852
7853 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7854 up dllimport attributes.
7855
7856 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
7857 screws up dllimport attributes.
7858
7859 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7860 up dllimport attributes.
7861 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
7862 screws up dllimport attributes.
7863
7864 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7865 up dllimport attributes.
7866
7867 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
7868 screws up dllimport attributes.
7869
7870 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
7871 screws up dllimport attributes.
7872
7873 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7874 up dllimport attributes.
7875
7876 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
7877 unnecessary extern, which screws up dllimport attributes.
7878 (main): Ditto.
7879
7880 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7881 up dllimport attributes.
7882
7883 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
7884 unnecessary extern, which screws up dllimport attributes.
7885
7886 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
7887 screws up dllimport attributes.
7888
7889 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7890 up dllimport attributes.
7891
7892 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
7893
52283633
SM
7894 * w32bdf.c (search_file_line):
7895 (set_bdf_font_info):
7896 (seek_char):
7897 (w32_get_bdf_glyph):
69a7ffa7
AI
7898 (w32_BDF_to_x_font): Fix compile warnings.
7899
52283633 7900 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
7901
7902 * w32select.c: Include keyboard.h before frame.h.
7903
7904 * w32fns.c (max): Define macro.
7905 (JOHAB_CHARSET): Define if not known.
7906 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
7907 (Fx_show_tip): Synch with X version.
7908
7909 * w32xfns.c: Include keyboard.h before frame.h.
7910
7911 * w32fns.c: Include keyboard.h before frame.h.
7912
7913 * w32term.c: Include keyboard.h before frame.h.
7914
7915 * fontset.c: Include keyboard.h before frame.h.
7916
7917 * w32inevt.c: Include keyboard.h before frame.h.
7918 (MOUSE_MOVED): Define if not known.
7919
7920 * minibuf.c: Include keyboard.h before frame.h.
7921
7922 * keyboard.c: Include keyboard.h before frame.h.
7923
7924 * indent.c: Include keyboard.h before frame.h.
7925
7926 * dispnew.c: Include keyboard.h before frame.h.
7927
7928 * buffer.c: Include keyboard.h before frame.h.
7929
7930 * alloc.c: Include keyboard.h before frame.h.
7931
7932 * print.c: Include keyboard.h before frame.h.
7933
7934 * process.c: Include keyboard.h before frame.h.
7935
7936 * scroll.c: Include keyboard.h before frame.h.
7937
7938 * sysdep.c: Include keyboard.h before frame.h.
7939
7940 * term.c: Include keyboard.h before frame.h.
7941
7942 * window.c: Include keyboard.h before frame.h.
7943
7944 * xdisp.c: Include keyboard.h before frame.h.
7945 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
7946
7947 * frame.c: Include keyboard.h before frame.h.
7948
7949 * w32heap.h: Undefine min, max.
7950
7951 * w32gui.h: Undefine min, max.
7952
7953 * unexw32.c: Change PUCHAR to PCHAR.
7954 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
7955 (relocate_offset):
7956 (get_section_info):
69a7ffa7
AI
7957 (copy_executable_and_dump_data): Remove unnecessary static defs.
7958 (copy_executable_and_dump_data): Fix compile warnings.
7959
7960 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
7961
7962 * w32console.c (min): Define macro.
7963 (clear_frame, write_glyphs): Fix compile warning.
7964
52283633 7965 * w32proc.c (compare_env):
69a7ffa7
AI
7966 (find_child_console): Fix compile warning.
7967
7968 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
7969 sys_errlist instead of _sys_errlist.
7970 (get_emacs_configuration_options): New function.
7971
7972 * s/ms-w32.h (sys_nerr): Provide default definition.
7973 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
7974 name with _ prepended.
7975 (NSIG): Define if not known.
7976 (get_emacs_configuration): Provide extern declaration.
7977 (get_emacs_configuration_options): Provide extern declaration.
7978 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
7979
7980 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 7981 (map_w32_filename):
69a7ffa7
AI
7982 (read_unc_volume): Fix compile warning.
7983
7984 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
7985 definitions from being used.
7986
7987 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
7988
52283633 7989 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
7990 (open_unc_volume): Make arg const.
7991
7992 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
7993 (read_input_waiting): Remove excess parameter.
7994
7995 * w32.c (init_environment): Call _access.
7996 (check_windows_init_file): Call _close.
7997 (init_user_info): Call _putenv.
7998 (init_environment): Call _putenv and _strdup.
7999 (init_ntproc): Reset volume info cache on startup.
8000
8001 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
8002 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
8003 cannot override the CRT malloc.
8004
8005 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
8006 (LINK_FLAGS): Append to original value of LINK_FLAGS.
8007
8008 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
8009 unless we are linking with a static CRT.
8010 (RVA_TO_PTR): Cast result to unsigned char*.
8011
8012 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
8013 (add_volume_info): Use xstrdup.
8014
25060080
SM
80152000-08-22 Stefan Monnier <monnier@cs.yale.edu>
8016
8017 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
8018 (do_completion, Fminibuffer_complete_word): Use it.
8019 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
8020 var so it can take non-boolean values.
8021
6917e6bb
GM
80222000-08-21 Gerd Moellmann <gerd@gnu.org>
8023
acb7cc89 8024 * editfns.c (find_field): Formatting changes.
52283633 8025 (toplevel): Some old-style function forward declarations
acb7cc89
GM
8026 changed to prototypes, some new protypes added, some functions
8027 made static.
8028
8029 * lisp.h (set_time_zone_rule): Add prototype.
8030 (use_dialog_box): External declaration.
8031
0bbfdc25
GM
8032 * keyboard.c (gen_help_event): Add parameter SIZE.
8033 (kbd_buffer_events_waiting): Slightly rewritten.
8034 (clear_event): New function.
8035 (kbd_buffer_get_event): Use it, and clear the input_events of
8036 HELP_EVENTs.
8037 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
8038 don't fill the newly created array with nils.
8039 (toplevel): Convert some old-style function forward declarations
8040 to prototypes.
8041
8042 * keyboard.h (gen_help_event): Change prototype.
8043
8044 * xterm.c (XTread_socket): Change calls to gen_help_event.
8045
8046 * w32term.c (w32_read_socket): Change calls to gen_help_event.
8047
6917e6bb
GM
8048 * eval.c (Fmacroexpand): Doc fix.
8049
e5cd3d11
JR
80502000-08-20 Jason Rumney <jasonr@gnu.org>
8051
8052 * w32term.h (x_display_info_for_display): Remove as this function
8053 does not exist on W32.
8054
8055 * w32term.c (help_echo_window): New variable.
8056 (syms_of_w32term): staticpro it.
8057 (note_mode_line_highlight): Set it.
8058 (XTextExtents16): Removed as there is no equivalent on W32.
8059 (x_compute_glyph_string_overhangs): Incomplete body removed, as
8060 the X way of doing this will not work for W32.
8061 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
8062 (x_draw_image_foreground): Avoid drawing outside of the clip area
8063 when image doesn't have a mask.
8064 (note_mouse_highlight): Process overlays in the right order of
8065 priority. Set help_echo_window.
8066 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
8067 because that's more visible for large images.
8068
8069 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
8070 name to single_keymap_panes.
8071 (w32_menu_show): Set wv->title when dealing with titles.
8072 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
8073
6e69ab8c
MB
80742000-08-21 Miles Bader <miles@gnu.org>
8075
8076 * minibuf.c (do_completion): Try again if we rewrite the input
8077 string, but no completion was done, so that any completion message
8078 will be correct.
8079
511bd4eb
GM
80802000-08-20 Gerd Moellmann <gerd@gnu.org>
8081
8082 * xfaces.c (lface_equal_p): Compare strings differently.
8083 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
8084 (realize_tty_face): Use them.
8085 (syms_of_xfaces): Initialize new variables.
8086 (map_tty_color): New function, extracted from realize_tty_face.
8087 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
8088 foreground or background color, store the new color name in the
8089 realized face; previous code trying to do this had no effect.
8090 (realize_tty_face): Use map_tty_color.
8091 (Fclear_face_cache): Set face_change_count and ensure thorough
8092 redisplay.
8093
1433385f
GM
80942000-08-19 Gerd Moellmann <gerd@gnu.org>
8095
511bd4eb
GM
8096 * undo.c (record_first_change, record_marker_adjustment): Don't
8097 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 8098
419ac0a2
KH
80992000-08-18 Kenichi Handa <handa@etl.go.jp>
8100
8101 * coding.c (decode_coding_string): Set members consumed,
8102 consumed_char, produced, produced_char of *coding correctly. If
8103 decode_coding doesn't consume any byte, don't try anymore.
8104 (encode_coding_string): Likewise.
8105
7eb9e30d
GM
81062000-08-18 Gerd Moellmann <gerd@gnu.org>
8107
511bd4eb
GM
8108 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
8109 conditional have void type, for Standard C compilers.
7eb9e30d
GM
8110
8111 * xdisp.c (redisplay_internal): Compare windows for equality with
8112 EQ, instead of applying XWINDOW to something that might not
8113 be a window.
52283633 8114
dd34a735
KH
81152000-08-18 Kenichi Handa <handa@etl.go.jp>
8116
8117 * fontset.c (Finternal_char_font): Search only the selected frame
8118 for a window of the current buffer.
8119
385ff9e3
GM
81202000-08-18 Gerd Moellmann <gerd@gnu.org>
8121
511bd4eb 8122 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
8123 Lisp_Objects.
8124
385ff9e3
GM
8125 * keyboard.c (kbd_buffer_get_event): Handle the case that the
8126 second half of a HELP_EVENT is found at the start of kbd_buffer.
8127
d6abb4c7
MB
81282000-08-18 Miles Bader <miles@gnu.org>
8129
4618074a
MB
8130 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
8131
d6abb4c7
MB
8132 * editfns.c (save_restriction_save): Rewrite to use markers.
8133 (save_restriction_restore): Rewrite to understand new form of data
8134 saved by save_restriction_save.
8135 (Fsave_restriction): Remove cautionary note in doc-string.
8136
a7b28523
GM
81372000-08-17 Gerd Moellmann <gerd@gnu.org>
8138
8139 * fileio.c (build_annotations): Add a comment explaining the
8140 return value of format-annotate-function. Replace a spurious call
8141 to Flength with a CONSP test. Call format-annotate-function with
8142 a fifth arg specifying how many times the function is been called
8143 in a row, to let it choose temporary buffers appropriately.
8144
03c9ed77
DL
81452000-08-17 Dave Love <fx@gnu.org>
8146
8147 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
8148 declare make_temp_name twice.
8149
52283633 8150 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
8151 (unreadpure): Give it an arg.
8152
8153 * unexalpha.c: Prototype fatal_unexec, mark_x,
8154 update_dynamic_symbols. Declare unexec as void.
8155
8156 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
8157 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
8158
8159 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 8160 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
8161
8162 * alloca.c: Use #error.
8163 [POINTER_TYPE]: Use it.
8164
8165 * eval.c (Fdefvar): Doc fix.
8166
8167 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
8168 INITIALIZE_INTERVAL.
8169
8170 * buffer.h: Avoid DECLARE_INTERVALS.
8171
8172 * config.in: Add size_t.
8173
aae41d97
EZ
81742000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
8175
8176 * w16select.c (set_clipboard_data): If there's not enough memory
8177 to put text into clipboard, return 1, as Fw16_set_clipboard_data
8178 expects. In case of other failures, return 3.
8179 (system_error_msg): New error message.
8180 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
8181 system_error_msg.
8182
65aa5e85
GM
81832000-08-16 Gerd Moellmann <gerd@gnu.org>
8184
8185 * term.c (write_glyphs): Also turn off inverse video after turning
8186 off other appearances in case TS_exit_attribute_mode is not equal
8187 to TS_end_standout_mode.
8188 (insert_glyphs): Turn inverse video on/off for each run of glyphs
8189 with the same face.
8190 (turn_off_face): Reset standout_mode only if
8191 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
8192 is equal to TS_end_standout_mode.
8193
ece23901
KH
81942000-08-16 Kenichi Handa <handa@etl.go.jp>
8195
9d7bcb2e
KH
8196 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
8197 sequence at the end of the source block.
8198
ece23901
KH
8199 * ccl.c (Fccl_program_p): Docstring modified.
8200 (Fccl_execute): Likewise.
8201 (Fccl_execute_on_string): Likewise.
8202
5e30eaa2
EZ
82032000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
8204
8205 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
8206
290602fd
KH
82072000-08-16 Kenichi Handa <handa@etl.go.jp>
8208
8209 The following changes are mainly to fix bugs of
8210 encode/decode-coding-string failing if encoding/decoding return
8211 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
8212 variable conversion_buffer.
8213
8214 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
8215 decrement dst_end to avoid buffer overflow in the later call of
8216 string_as_multibyte
8217
8218 * coding.h (conversion_buffer_size, conversion_buffer)
8219 (get_conversion_buffer): Extern deleted.
8220
8221 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
8222 (conversion_buffer, conversion_buffer_size): Variables deleted.
8223 (get_conversion_buffer): Function deleted.
8224 (struct conversion_buffer): New structure.
8225 (MAX_ALLOCA): New macro.
8226 (allocate_conversion_buffer): New macro.
8227 (extend_conversion_buffer, free_conversion_buffer): New functions.
8228 (ccl_coding_driver): Set coding->result.
8229 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
8230 this is the last block of source.
8231 (encode_coding): Likewise. Handle the source block as the last
8232 one only when the whole source text is consumed.
8233 (decode_coding_string): Handle the case that the output buffer is
8234 too small to decode the whole source text. Use
8235 allocate_conversion_buffer, extend_conversion_buffer and
8236 free_conversion_buffer, not get_conversion_buffer.
8237 (encode_coding_string): Likewise.
8238 (init_coding): Function deleted.
52283633 8239 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
8240
8241 * emacs.c (main): Don't call init_coding.
8242
52283633 8243 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
8244
8245 * term.c (write_glyphs): Use a locally declared conversion_buffer.
8246 (insert_glyphs): Likewise.
8247
8248 * w32console.c (write_glyphs): Use a locally declared
8249 conversion_buffer.
8250
b9f80d41
EZ
82512000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
8252
8253 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
8254 member of display_info is NULL.
8255
32dc52f7
GM
82562000-08-15 Gerd Moellmann <gerd@gnu.org>
8257
52283633 8258 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 8259
32dc52f7 8260 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 8261 appearances with capability `me'.
32dc52f7
GM
8262 (write_glyphs): Switch on inverse video before each face change.
8263
4eb22d33
DL
82642000-08-14 Dave Love <fx@gnu.org>
8265
8266 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
8267 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
8268 (lisp_free): Declare and make static.
8269
8270 * window.c: Fix embedded comment.
8271 (syms_of_window): Fix doc string.
8272
90cbf47e
GM
82732000-08-14 Gerd Moellmann <gerd@gnu.org>
8274
52283633 8275 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
8276 make sure to print `C-' before `M-', like in the manual.
8277
440fc135
GM
82782000-08-11 Gerd Moellmann <gerd@gnu.org>
8279
8280 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
8281 since they aren't relocated anymore.
52283633 8282 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
8283
8284 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 8285 partially visible line which is smaller than the window's height.
440fc135 8286
6e264fad
KH
82872000-08-11 Kenichi Handa <handa@etl.go.jp>
8288
8289 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 8290 the multibyte form of eight-bit-control characters.
6e264fad
KH
8291 (Fccl_execute_on_string): Initialize ccl->multibyte.
8292
8293 * ccl.h (struct ccl_program): New member multibyte.
8294
8295 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
8296
c371f69a
KH
82972000-08-11 Kenichi Handa <handa@etl.go.jp>
8298
8299 * regex.c (regex_compile) <normal_char>: Pay attention to
8300 multibyteness.
8301 (analyse_first) <exactn>: Setup fastmap correctly for
8302 eight-bit-control characters.
8303
83042000-08-11 Kenichi Handa <handa@etl.go.jp>
8305
52283633 8306 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
8307
8308 * keyboard.c (make_lispy_event): Handle the new event type
8309 multibyte_char_keystroke.
8310
8311 * xterm.c: Include coding.h.
8312 (XTread_socket): Work around a bug of XmbLookupString. If the
8313 input is from XIM, decode it according to the current locale. In
8314 that case, generate multibyte_char_keystroke events.
8315
b8ddbe71
KH
83162000-08-11 Kenichi Handa <handa@etl.go.jp>
8317
8318 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
8319 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
8320
47589c8c
GM
83212000-08-10 Gerd Moellmann <gerd@gnu.org>
8322
8323 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
8324 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
8325 (move_it_in_display_line_to): Record iterator's ascent and descent
8326 before producing glyphs, and restore them when we know the glyph
8327 doesn't fit on the line.
8328 (move_it_to): Restructured so that it's easier to debug. If
8329 moving to a vpos, and not moving to an x or character position,
8330 stop as soon as the specified vpos is reached; don't move further
8331 into that line because that might change the computed line height.
8332 (try_cursor_movement): New function, extracted from the cursor
8333 movement branch of redisplay_window. If ending on a partially
8334 visible line, don't try to scroll if the cursor line is taller
8335 than the window.
8336 (redisplay_window): Use try_cursor_movement.
8337
8338 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
8339 because that function doesn't cope with variable-height lines.
8340
8341 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
8342 box cursor because that's better visible for large images.
52283633 8343
c51bacd6
MB
83442000-08-10 Miles Bader <miles@gnu.org>
8345
8346 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
8347
bea56df7
GM
83482000-08-10 Gerd Moellmann <gerd@gnu.org>
8349
8350 * xdisp.c (Vmessages_buffer_name): New variable.
8351 (message_dolog): Use it.
8352 (syms_of_xdisp): Initialize it.
8353
99cd7364
EZ
83542000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
8355
52283633 8356 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
8357 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
8358 redundant now that keyboard.h is included.
8359
7d093d56
EZ
83602000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
8361
8362 * keyboard.c (kbd_buffer_events_waiting): New function.
8363
8364 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
8365
8366 * msdos.c: Include keyboard.h.
8367 (XMenuActivate): Empty no_event events from the event buffer. If
8368 no events are left after that, call clear_input_pending.
8369 (mouse_clear_clicks): New function, code moved from mouse_init.
8370 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
8371 mouse driver to ``forget'' any past clicks.
8372
8373 * Makefile.in (msdos.o): Depend on keyboard.h.
8374
41e757a6
GM
83752000-08-09 Gerd Moellmann <gerd@gnu.org>
8376
8e7bd231
GM
8377 * lisp.h (input_pending): External declaration.
8378
8379 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 8380
8e7bd231
GM
8381 * xdisp.c (echo_area_display): Display thoroughly if input is
8382 pending. Bind redisplay-dont-pause to t during the redisplay.
8383 in case input is pending.
8384
8385 * dispnew.c (Qredisplay_dont_pause): New variable.
8386 (syms_of_display): Initialize and staticpro it.
8387 (update_frame_1): Don't interrupt the display for pending input if
8388 redisplay_dont_pause is set.
52283633 8389
43028b7e
GM
8390 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
8391
41e757a6
GM
8392 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
8393
2f2174fa
KH
83942000-08-09 Miles Bader <miles@lsi.nec.co.jp>
8395
8396 * callproc.c (Fcall_process): Terminate the unwind-protect around
8397 the post-read-conversion of coding system.
8398
0a6fd67e
MB
8399 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
8400 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
8401 * buffer.h (overlays_at): Update prototype.
8402 * xdisp.c (next_overlay_change): Update call to overlays_at.
8403 * xfaces.c (face_at_buffer_position): Likewise.
8404 * textprop.c (Fget_char_property): Likewise.
8405 * xterm.c (note_mouse_highlight): Likewise.
8406
0c80756e
MB
8407 * minibuf.c (do_completion): Don't consider a simple change of
8408 case as `completion'.
8409
975f250a
KR
84102000-08-08 Ken Raeburn <raeburn@gnu.org>
8411
52283633 8412 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
8413 * undo.c (record_delete): Make sure last_point_position_buffer is
8414 a buffer before comparing pointers.
8415
8416 * coding.h (decode_coding_string): Declare.
8417
8418 * intervals.h (Fprevious_single_char_property_change): Declare.
8419
8420 * textprop.c (Fprevious_single_char_property_change): Don't do
8421 arithmetic directly on lisp objects.
8422
52283633 8423 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
8424
8425 * keyboard.h (menu_item_eval_property): Declare.
8426
8427 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
8428 reuse as buffer name, instead of recreating (and discarding) every
8429 time a message is logged.
8430 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
8431 (current_message_1, truncate_message_1, set_message_1)
8432 (display_echo_area_1, resize_mini_window_1): Signatures changed.
8433 (current_message, truncate_echo_area, display_echo_area)
8434 (resize_echo_area_axactly): Changed calls.
b347b3fd 8435
975f250a 8436 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 8437 Lisp object.
975f250a 8438 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 8439 must be an integer, not a Lisp object.
975f250a 8440
46dc9912
KH
84412000-08-08 Kenichi Handa <handa@etl.go.jp>
8442
8443 * charset.c (Fchar_width): Doc fix.
8444
9f6d1a6c
GM
84452000-08-08 Gerd Moellmann <gerd@gnu.org>
8446
8447 * charset.c (Fstring_width): Doc fix.
8448
ff3d9573
GM
84492000-08-07 Gerd Moellmann <gerd@gnu.org>
8450
41e757a6 8451 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
8452 line, clear ascent and descent members of the iterator structure;
8453 the height of the continued line does not affect the height of the
8454 continuation line.
8455 (make_cursor_line_fully_visible): Do nothing if cursor is on a
8456 line taller than the window.
8457 (redisplay_window) <forced window start>: Handle case that the
8458 middle of the window is not found in any row.
8459 (dump_glyph_row): Show more information.
8460 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
8461 first text line in a glyph matrix.
8462
8463 * xterm.c (x_draw_image_foreground): Avoid drawing outside
8464 of the clip area when image doesn't have a mask.
8465
70fc58b3
GM
8466 * fns.c (sweep_weak_table): Fix survival conditions for
8467 key-or-value and key-and-value weakness.
8468
8469 * .gdbinit (xhashtable): New command.
8470
ac0e96ee
GM
8471 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
8472 tables out of the list of all weak hash tables.
8473
ff3d9573
GM
8474 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
8475 a new buffer is created, make sure echo_area_buffer[] references
8476 the new buffer.
8477
e0d8827b
EZ
84782000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
8479
8480 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
8481 the doc string.
8482
c6f35378
KH
84832000-08-07 Kenichi Handa <handa@etl.go.jp>
8484
8485 * syntax.c (skip_chars): Fix previous change. Make the handling
8486 of unibyte string consistent with that of regex search.
8487
1fd4c450
GM
84882000-08-05 Gerd Moellmann <gerd@gnu.org>
8489
e49aa397
GM
8490 * xmenu.c (popup_get_selection): Use xfree instead of free.
8491
8492 * fileio.c (Finsert_file_contents): Use xfree instead of free.
8493
8494 * editfns.c (Ftranspose_regions): Use xfree instead of free.
8495
8496 * callproc.c (child_setup): Use xfree instead of free.
8497
8498 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
8499 instead of malloc.
8500 (run_mac_command, closedir): Use `xfree' instead of `free'.
8501
8502 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
8503
8504 * eval.c (error): Use xfree instead of free.
8505
1fd4c450
GM
8506 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
8507
8508 * fns.c: Replace `illegal' with `invalid'.
e49aa397 8509 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 8510
82d497fc
KH
85112000-08-05 Kenichi Handa <handa@etl.go.jp>
8512
8513 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
8514 conversion.
8515
59f953a2
NF
85162000-08-04 Noah Friedman <friedman@splode.com>
8517
8518 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
8519 docstring.
8520
688351f2
GM
85212000-08-04 Gerd Moellmann <gerd@gnu.org>
8522
8523 * syntax.c (skip_chars): Fix typo in error message.
8524
2dad51cc
AS
85252000-08-04 Andreas Schwab <schwab@suse.de>
8526
8527 * m/ia64.h: Moved from s/ia64.h.
8528
99bb2c60
KH
85292000-08-04 Kenichi Handa <handa@etl.go.jp>
8530
082a1df2
KH
8531 * process.c (read_process_output): Big simplification. Handle
8532 composition and post-read-conversion of coding system correctly.
8533 (send_process): Handle composition correctly.
8534
8535 * callproc.c (Fcall_process): Handle post-read-conversion of
8536 coding system if any.
8537
99bb2c60
KH
8538 * coding.c (decode_coding_iso2022): More strict check for handling
8539 single shifting.
082a1df2
KH
8540 (coding_restore_composition): Pay attention to the case that
8541 cmp_data is not set properly (because of invalid code in the
8542 source text).
8543 (run_pre_post_conversion_on_str): Include text properties in the
8544 resulting string.
8545 (decode_coding_string): Set members of coding correctly.
99bb2c60 8546
f4988be7
GM
85472000-08-03 Gerd Moellmann <gerd@gnu.org>
8548
8549 * s/ia64.h: New file.
8550
8551 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
8552 Use NULL instead of 0 at the end of variable argument list of
8553 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
8554 sizeof (int) < sizeof (void *).
8555
8556 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
8557 of variable argument lists of XtVaGetValues and XtVaSetValues.
8558
8559 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
8560 variable argument lists of XtVaGetValues and XtVaSetValues.
8561
ead53494
GM
85622000-08-02 Gerd Moellmann <gerd@gnu.org>
8563
8564 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
8565 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
8566
8567 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
8568 prototype.
8569
8570 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
8571 in call to Fsingle_key_description.
8572
8573 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
8574 Callers changed.
8575
85762000-08-02 Colin Walters <walters@cis.ohio-state.edu>
8577
8578 * window.c (display_buffer_reuse_frames): New variable.
8579 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
8580 frames displaying BUFFER.
52283633 8581 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 8582
10b0f752
MB
85832000-08-01 Miles Bader <miles@gnu.org>
8584
8585 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
8586 when to constrain NEW_POS (they were pretty screwed up before).
8587
16425c4a
EZ
85882000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
8589
8590 * msdos.c (run_msdos_command): Save and restore the master
8591 environment, for the case that child_setup signals an error.
8592 When mirroring slashes in DOS shell commands, don't fail when
8593 argv[2] has embedded blanks.
da288c14
EZ
8594 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
8595 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
8596 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
8597
8598 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
8599 using alloca; free it after run_msdos_command returns.
8600
27f73852
DL
86012000-07-27 Dave Love <fx@gnu.org>
8602
52283633
SM
8603 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
8604 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
8605
8606 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
8607
c0261b5e
EZ
86082000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
8609
8610 * editfns.c (lisp_time_argument): Fix last change.
8611
b548072f
GM
86122000-07-27 Gerd Moellmann <gerd@gnu.org>
8613
3ab82477
GM
8614 * fns.c (Fdelete): Make it work on vectors and strings in addition
8615 to lists.
8616
b548072f
GM
8617 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
8618 (syms_of_fns): Initialize new variables.
52283633 8619 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
8620 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
8621 weakness, with t meaning the same as `key-and-value'.
8622
91ae8751
KH
86232000-07-27 Kenichi Handa <handa@etl.go.jp>
8624
8625 * coding.h (struct coding_system): Member safe_charset deleted.
8626
8627 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
8628 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
8629 New variables.
91ae8751
KH
8630 (coding_safe_chars): New function.
8631 (CODING_SAFE_CHAR_P): New macro.
8632 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 8633 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
8634 (detect_coding_iso2022): New local variable safe_chars.
8635 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
8636 safe_charsets member of the coding system.
8637 (decode_coding_iso2022): New local variable safe_chars.
8638 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
8639 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
8640 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
8641 (ENCODE_UNSAFE_CHARACTER): New macro.
8642 (encode_coding_iso2022): New local variable safe_chars. Check
8643 unsafe chars.
8644 (setup_coding_system): Delete the code to initialize
8645 coding->safe_charses
8646 (intersection, find_safe_codings): New functions.
8647 (Ffind_coding_systems_region_internal): New function.
8648 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
8649 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
8650 variable and initialize it.
8651
8652 * fns.c (char_table_ref_and_index): New function.
8653
8654 * lisp.h (char_table_ref_and_index): Add prototype.
8655
34a7a267
SS
86562000-07-26 Sam Steingold <sds@gnu.org>
8657
8658 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 8659 (Ffloat_time): New built-in Lisp function.
34a7a267 8660
a95cb10a
GM
86612000-07-26 Gerd Moellmann <gerd@gnu.org>
8662
3353ef5a
GM
8663 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
8664 for the character code.
8665
8666 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
8667 GNU/Linux.
8668
a95cb10a
GM
8669 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
8670 if called for a popup menu.
8671 (xmenu_show): Store help string in widget values.
8672
b4a12321
DL
86732000-07-26 Dave Love <fx@gnu.org>
8674
8675 * syswait.h: Move some definitions.
8676 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
8677 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
8678 perspicuous definitions.
8679 (WTERMSIG): Fix bit pattern used.
8680
13f5ad37
KH
86812000-07-26 Kenichi Handa <handa@etl.go.jp>
8682
8683 * print.c (print_object): If vector printing is truncated, print
8684 "..." to indicate it as well as the case of list printing.
8685
070fe99c
GM
86862000-07-25 Gerd Moellmann <gerd@gnu.org>
8687
969065c3
GM
8688 * xdisp.c (next_element_from_display_vector): Improve comments.
8689
8690 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
8691 for the character code, and the rest for the face id as in 20.x.
8692 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
8693
8694 * window.c (window_display_table): Cleaned up.
8695
070fe99c
GM
8696 * syntax.c (Fforward_word): Add last arg nil in call of
8697 Fconstrain_to_field.
8698
bad77ef7
EZ
86992000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
8700
969065c3 8701 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
8702 identical but for the letter-case, don't call
8703 barf_or_query_if_file_exists.
bad77ef7 8704
c28da489
MB
87052000-07-25 Miles Bader <miles@gnu.org>
8706
8707 * editfns.c (find_field): Honor special `boundary' fields.
8708 (Qboundary): New variables.
8709 (syms_of_editfns): Initialize Qboundary.
8710 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
8711 Use scan_buffer instead of find_before_next_newline, because it
8712 allows us to detect the boundary case where there's a newline at
8713 the search limit.
8714 * lisp.h (Fconstrain_to_field): Update external declaration.
8715
e3c31fd5
GM
87162000-07-24 Gerd Moellmann <gerd@gnu.org>
8717
8718 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
8719 if that is nil.
c28da489 8720
c66c29a2
DL
87212000-07-24 Dave Love <fx@gnu.org>
8722
8723 * s/sunos4-0.h, s/sol2.h:
8724 (LIBS_TERMCAP): Move from m/sparc.h.
8725
8726 * m/sparc.h (TERMINFO): Moved to system files (probably only
8727 relevant for sunos4 judging by its vintage).
8728 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
8729 __arch64__.
8730
fbe0a958
EZ
87312000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
8732
8733 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
8734 name to single_keymap_panes.
8735
7d88e5c9
AS
87362000-07-24 Andreas Schwab <schwab@suse.de>
8737
8738 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
8739
e024b101
GM
87402000-07-24 Gerd Moellmann <gerd@gnu.org>
8741
8742 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
8743 parameters instead of using int parameters. Expect FN to accept
8744 EMACS_INT parameters.
8745 (display_echo_area, resize_echo_area_axactly, current_message)
8746 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
8747 with new argument list.
8748 (resize_mini_window_1): New callback function.
8749 (current_message_1, truncate_message_1, set_message_1): Change
52283633 8750 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 8751
25c1a9ce
KH
87522000-07-24 Kenichi Handa <handa@etl.go.jp>
8753
8754 * fontset.c (fontset_ref): Remove INLINE declaration.
8755 (fontset_ref_via_base): Likewise.
8756 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
8757 to downcase.
8758
7f987ac0
EZ
87592000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
8760
8761 * msdos.c (IT_note_mouse_highlight): Process overlays in the
8762 correct order of priority. If help echo was found in an overlay,
8763 use that overlay as the object in which the help echo was found.
8764
e2db3069
MB
87652000-07-22 Miles Bader <miles@gnu.org>
8766
8767 * textprop.c (Fprevious_single_char_property_change): The initial
8768 property value should be from the position preceding POSITION, not
8769 following it.
8770
5e3203e4
EZ
87712000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
8772
8773 * coding.c (syms_of_coding): Doc fix for
8774 inhibit-iso-escape-detection.
8775
62145073
GM
87762000-07-21 Gerd Moellmann <gerd@gnu.org>
8777
c20aeb83
GM
8778 * xterm.c (note_mouse_highlight): Process overlays in the right
8779 order of priority.
34a7a267 8780
743934db
GM
8781 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
8782
8783 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 8784 overlay, use that overlay as the object in which the help was found.
743934db 8785
d1dc7e43 8786 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 8787
62145073
GM
8788 * window.c (foreach_window): Instead of a fake variable argument
8789 list, take one USER_DATA argument.
8790 (foreach_window_1): Likewise, and call callback functions with two
8791 args, the window and USER_DATA.
8792 (struct check_window_data): New struct.
8793 (check_window_containing): Use it.
8794 (window_from_coordinates): Set up a struct check_window_data for
8795 foreach_window.
8796 (add_window_to_list, freeze_window_start): Change parameters
8797 according to new calling convention.
8798
8799 * window.h (foreach_window): Change prototype.
8800
8801 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
8802
88032000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
8804
8805 * xmenu.c (menu_help_callback): Call show_help_echo with
8806 additional arguments OBJECT and POS.
8807
11270583
KH
88082000-07-21 Kenichi Handa <handa@etl.go.jp>
8809
07b14857
KH
8810 * data.c (Faset): Allow storing any multibyte character in a
8811 string. Convert unibyte string to multibyte if necessary.
8812
11270583
KH
8813 * xfns.c (x_encode_text): New function.
8814 (x_set_name): Use x_encode_text.
8815 (x_set_title): Likewise.
8816
8817 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
8818
8819 * xterm.h (x_encode_text): Add prototype.
8820
bc75b4fd
DL
88212000-07-20 Dave Love <fx@gnu.org>
8822
8823 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
8824 xfree, not free.
8825
48c14970
EZ
88262000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
8827
8828 * msdos.c (help_echo_window): New variable.
8829 (syms_of_msdos): Initialize and staticpro it.
8830 (IT_note_mode_line_highlight): Set help_echo_window.
8831 (IT_note_mouse_highlight): Ditto.
8832 (dos_rawgetc): Store help_echo_window in the second event produced
8833 for HELP_EVENTs.
8834
8835 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
8836 Record the object that generated the help echo and the position of
8837 that object in help_echo_object and help_echo_pos. Record that
8838 some glyphs in a row are displayed in mouse-face.
8839 (IT_update_begin): Don't clear mouse highlight unless one of the
8840 enabled glyph rows is marked as being displayed in mouse-face.
8841 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
8842 and position recorded in help_echo_object and help_echo_pos to the
8843 event queue.
8844 (IT_menu_display): Accept a new argument PN: the pane number of
8845 the current menu pane. Record the pane number and the item
8846 number of the item which has associated help string.
8847 (XMenuActivate): Update the prototype for help_callback in
8848 function declaration. Call IT_menu_display with the current menu
8849 pane number as an additional argument. Call help_callback with
8850 two additional arguments: the pane number and the item number of
8851 the menu item associated with the help text.
8852 (help_echo_object, help_echo_pos): New variables.
8853 (syms_of_msdos): Initialize them and staticpro help_echo_object.
8854
8855 * msdos.h (XMenuActivate): Update prototype.
8856
4279296d
GM
88572000-07-19 Gerd Moellmann <gerd@gnu.org>
8858
47db06aa
GM
8859 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
8860 Add some more prototypes.
8861
8862 * xterm.c, xterm.h: Add some more prototypes.
8863
8864 * lisp.h (Fnext_single_char_property_change): Add prototype.
8865
8866 * dispnew.c (direct_output_for_insert): Remove confusing
8867 outer local variable mouse_face_overwritten_p.
8868 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
8869
4279296d
GM
8870 * alloc.c (allocate_string_data): Don't copy old string contents.
8871
670acd62
KH
88722000-07-19 Kenichi Handa <handa@etl.go.jp>
8873
8874 * coding.c (code_convert_region): Delete text properties before
8875 shrinking the conversion region.
8876
7cea38bc
GM
88772000-07-18 Gerd Moellmann <gerd@gnu.org>
8878
dc1cac59
GM
8879 * dispnew.c (update_text_area): Write the whole row if it
8880 has mouse-face in it.
8881
85a8aca9
GM
8882 * xfaces.c (face-alternative-font-family-alist): Remove
8883 DEFVAR_LISP; staticpro instead.
8884
34a7a267 8885 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
8886 new arguments.
8887
8888 * keyboard.c (show_help_echo): Add parameter WINDOW.
8889 (read_char): Call show_help_echo with window extracted from Lisp
8890 help event.
8891 (gen_help_event): Add parameter WINDOW.
8892
8893 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
8894
8895 * xterm.c (help_echo_window): New variable.
52283633 8896 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
8897 (XTread_socket): Pass help_echo_window to gen_help_event.
8898 (syms_of_xterm): Initialize and staticpro help_echo_window.
8899
f8276b77
DL
89002000-07-18 Dave Love <fx@gnu.org>
8901
52283633 8902 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 8903
088831a6
GM
89042000-07-18 Gerd Moellmann <gerd@gnu.org>
8905
3d6cd763
GM
8906 * alloc.c (allocate_string_data): If string had already data
8907 assigned, copy old contents to new string data.
8908
8909 * coding.c (syms_of_coding): Fix typo in spelling of variable
8910 `inhibit-iso-escape-detection'.
8911
088831a6
GM
8912 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
8913
8914 * Makefile.in: Add dependencies on dispextern.h.
8915 (alloca.o): Don't define malloc and define EMACS_FREE instead of
8916 `free'; both can conflict with system header files.
8917
bc8a8d55
KH
89182000-07-18 Kenichi Handa <handa@etl.go.jp>
8919
8920 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
8921 undefined.
8922
069f5950
DL
89232000-07-18 Dave Love <fx@gnu.org>
8924
8925 * window.c (Fwindow_list): Declare arg `window'.
8926
aa96c820
KH
89272000-07-18 Kenichi Handa <handa@etl.go.jp>
8928
8929 * coding.c (setup_coding_system): Don't override the explicitly
8930 specified designations.
8931
06be8d32
MB
89322000-07-15 Miles Bader <miles@gnu.org>
8933
8934 * editfns.c (char_property_eq, char_property_stickiness): Renamed
8935 from `text_property_eq' and `text_property_stickiness', respectively.
8936 (find_field, Fconstrain_to_field, char_property_eq)
8937 (char_property_stickiness): Changed to call char-property functions
8938 instead of text-property-only ones.
8939
8940 * textprop.c (Fnext_single_char_property_change): Made a subr (was
8941 `next_single_char_property_change'). Do more error checking, and
8942 cleanup limit behavior.
8943 (Fprevious_single_char_property_change): New function.
8944 (syms_of_textprop): Initialize new subrs.
8945
8946 * xdisp.c (display_prop_end, invisible_text_between_p):
8947 Call Fnext_single_char_property_change instead of
8948 next_single_char_property_change.
8949
3fddcdc3
JR
89502000-07-15 Jason Rumney <jasonr@gnu.org>
8951
8952 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
8953 after menu is finished with.
8954 (add_menu_item): Only consider wv->title as a menu title.
8955 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
8956
8957 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
8958 null title.
8959 (FONT_REGEXP): Remove unused macro, and its sub-components.
8960 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
8961
8962 * w32term.c (help_echo_object, help_echo_pos): New variables.
8963 (note_mode_line_highlight): Store additional information about the
8964 help-echo in help_echo_object and help_echo_pos. Check both
8965 `local-map' and `keymap' properties for changing the cursor
8966 (note_mouse_highlight): Store additional information about the
8967 help-echo in help_echo_object and help_echo_pos.
8968 (note_tool_bar_highlight): Set help_echo_object to nil and
8969 help_echo_pos to -1.
8970 (w32_read_socket): Use gen_help_event instead of filling
8971 input_events manually.
8972 (syms_of_w32term): Staticpro help_echo_object.
8973 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 8974 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
8975 (x_clear_mouse_face): New function.
8976 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
8977 (x_update_window_begin): No need to turn off the mouse
8978 highlight here.
8979 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 8980 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
8981 (x_fill_stretch_glyph_string): Consume runs of stretch
8982 glyphs instead of a single one.
8983 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
8984 with new argument list.
8985 (x_set_glyph_string_gc): Make sure the face's GC is valid.
8986 (x_append_glyph, x_append_composite_glyph)
8987 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
8988 changes in struct glyph starting 1999-12-27. See comments for
8989 xterm.c on 2000-07-05.
8990
178c5d9c
SS
89912000-07-14 Sam Steingold <sds@gnu.org>
8992
8993 * xfaces.c (realize_x_face): Fix the last patch:
8994 check `default_face' before dereferencing.
8995
6fe533f6
DL
89962000-07-14 Dave Love <fx@gnu.org>
8997
069f5950 8998 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 8999
dd7b81cf
KH
90002000-07-14 Kenichi Handa <handa@etl.go.jp>
9001
0693904a 9002 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 9003 default_face's fontset, not using the default fontset.
0693904a 9004
dd7b81cf
KH
9005 * coding.c (inhibit_iso_escape_detection): New variable.
9006 (syms_of_coding): Make it a Lisp variable.
9007 (detect_coding_iso2022): If inhibit_iso_escape_detection is
9008 nonzero, ignore ISO2022's escape sequence.
9009
d5aa31d8
GM
90102000-07-14 Gerd Moellmann <gerd@gnu.org>
9011
e5acf0ca
GM
9012 * alloca.c (malloc) [emacs]: Define as xmalloc.
9013
bd23a692
GM
9014 * xfns.c (Fx_show_tip): If frame parameters contain a position,
9015 use that instead of the mouse position. Add parameters DX and DY.
9016
9017 * dispextern.h (Fx_show_tip): Adjust number of parameters
9018 in prototype.
9019
9662da0b
GM
9020 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
9021 if HELP is a function, call it with OBJECT and POS as parameters
9022 to get the help to display.
9023 (gen_help_event, kbd_buffer_store_help_event): New functions.
9024 (kbd_buffer_get_event): Construct the Lisp help-event differently.
9025 (read_char): Call show_help_echo with new parameters.
9026
178c5d9c 9027 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
9028 Add prototypes.
9029
9030 * xterm.c (help_echo_object, help_echo_pos): New variables.
9031 (note_mode_line_highlight): Store additional information about the
9032 help-echo in help_echo_object and help_echo_pos. Check both
9033 `local-map' and `keymap' properties for changing the cursor
9034 (note_mouse_highlight): Store additional information about the
9035 help-echo in help_echo_object and help_echo_pos.
9036 (note_tool_bar_highlight): Set help_echo_object to nil and
9037 help_echo_pos to -1.
9038 (XTread_socket): Use gen_help_event instead of filling
9039 input_events manually.
9040 (syms_of_xterm): Staticpro help_echo_object.
9041
9042 * xmenu.c (menu_highlight_callback): Use
9043 kbd_buffer_store_help_event instead of setting up and input_event
9044 structure manually.
9045
9046 * xdisp.c (eval_form): GCPRO argument sexpr.
9047 (call_function): New function.
9048 (handle_single_display_prop): Use call_function and FUNCTIONP
9049 instead of checking whether if font_height is a symbol and
9050 using eval_form.
9051
9052 * eval.c (internal_condition_case_2): New function.
9053
9054 * lisp.h (FUNCTIONP): New macro.
9055 (internal_condition_case_2, call_function): Add prototypes.
9056
d5aa31d8
GM
9057 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
9058 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
9059 Always set `arg' member of input_events.
9060 (construct_menu_click): Unused function removed.
9061
9062 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
9063
9064 * w32term.c (construct_mouse_click, construct_mouse_wheel)
9065 (construct_drag_n_drop, x_scroll_bar_handle_click)
9066 (w32_read_socket): Always set `arg' member of input_events.
9067
9068 * keyboard.c (show_help_echo): Use eval_form. Add comment.
9069
9070 * lisp.h (eval_form): Add prototype.
9071
9072 * xdisp.c (eval_form): Make it externally visible.
9073
0f1a9b23
GM
90742000-07-13 Gerd Moellmann <gerd@gnu.org>
9075
9076 * xterm.c (x_handle_tool_bar_click): Store the frame in the
9077 frame_or_window slot of TOOL_BAR_EVENT input events instead of
9078 consing. For prefix events, store the frame in the `arg' slot of
9079 the event, otherwise store the key there.
9080 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 9081 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
9082
9083 * xmenu.c (menu_highlight_callback): Store help string in the
9084 `arg' member of the input event; don't cons.
9085 (menubar_selection_callback): Use the `arg' slot of input events
9086 to queue additional information, instead of consing.
9087
9088 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
9089
9090 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
9091 TOOL_BAR_EVENTs.
9092 (w32_read_socket): Adapt to changes in HELP_EVENTs.
9093
9094 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
9095 input events to queue additional information, instead of consing.
9096
9097 * keyboard.c (kbd_buffer_gcpro): Renamed from
9098 kbd_buffer_frame_or_window. Now used for all Lisp objects
9099 referenced from the input queue.
9100 (kbd_buffer_store_event): Always use structure assignment for
9101 copying input events. Record all Lisp objects referenced from
9102 events in kbd_buffer_gcpro.
9103 (kbd_buffer_get_event): Construct Lisp `help-echo' events
9104 differently from input events. Test for prefix menu_bar_events
9105 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
9106 event in kbd_buffer_gcpro to nil.
9107 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
9108 frame_or_window is equal to its arg member as prefix events.
9109 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
9110 used by an input event to nil.
9111 (init_keyboard): Use two times the size of the input queue
9112 for kbd_buffer_gcpro.
9113 (syms_of_keyboard): Likewise.
9114
52283633
SM
9115 * emacs.c (handle_USR2_signal, handle_USR1_signal):
9116 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
9117
9118 * termhooks.h (struct input_event): Add member `arg'.
9119 (MENU_BAR_EVENT): Renamed from menu_bar_event.
9120 (USER_SIGNAL_EVENT): Renamed from user_signal.
9121
9122 * xfaces.c (ASET): Remove definition.
9123
9124 * lisp.h (AREF, ASET, ASIZE): New macros.
9125
9126 * fontset.c (AREF, ASIZE): Remove definitions.
9127
9128 * fns.c (AREF): Remove definition.
178c5d9c 9129
0f1a9b23
GM
9130 * composite.c (AREF): Remove definition.
9131
712eaef2
GM
91322000-07-12 Gerd Moellmann <gerd@gnu.org>
9133
d8ee7803
GM
9134 * dispnew.c (redraw_overlapped_rows): Add missing local.
9135 (scrolling_window): Remove debug code.
9136
712eaef2
GM
9137 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
9138 Before scrolling, turn off a mouse-highlight in the window
9139 being scrolled.
9140
9141 * xterm.c (x_update_window_end): Add parameter
9142 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
9143 redisplay in XTframe_up_to_date.
9144 (x_clear_mouse_face): New function.
9145 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
9146
9147 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
9148 current glyph row.
9149 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
9150 it when any row is written to that contains glyphs highlighted in
9151 mouse-face.
9152 (update_window): Call the window update end hook with new
9153 parameter MOUSE_FACE_OVERWRITTEN_P.
9154 (direct_output_for_insert): Give up if row contains mouse-face.
9155
9156 * dispextern.h (struct redisplay_interface): Add parameter
9157 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
9158 (clear_mouse_face): New function pointer member.
9159
02010917
SM
91602000-07-11 Stefan Monnier <monnier@cs.yale.edu>
9161
9162 * syntax.c (back_comment): Use one switch rather than a few `if's.
9163 Obey open_paren_in_column_0_is_defun_start.
9164 When reverting to the `slow' method, try to nicely handle the case
9165 of nested comments by checking that the comment-starter we found
9166 does indeed match the comment-ender.
9167 (scan_sexps_forward, scan_sexps_forward):
9168 Ignore excessive opening parenthesis rather than throwing an error.
9169
d76c03ea
GM
91702000-07-11 Gerd Moellmann <gerd@gnu.org>
9171
9172 * doc.c (Fsubstitute_command_keys): Handle case that a GC
9173 in Fwhere_is_internal or get_keymap_1 relocates string contents.
9174
9175 * dispnew.c (direct_output_forward_char): Give up if currently
9176 displaying a message instead of the minibuffer contents.
9177
9178 * xterm.c (x_update_window_begin): No need to turn off the mouse
9179 highlight here.
9180 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9181 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
9182
9183 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
9184 compare the mouse_face_p flags of both rows.
9185
9186 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
9187
d55ead18
EZ
91882000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
9189
9190 * keyboard.c (show_help_echo): Accept additional parameter
9191 ok_to_overwrite_keystroke_echo.
9192 (read_char): Call show_help_echo with a zero
9193 ok_to_overwrite_keystroke_echo argument.
52283633 9194 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
9195 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
9196 ok_to_overwrite_keystroke_echo argument.
9197 * w32menu.c (w32_menu_display_help): Call show_help_echo with
9198 non-zero ok_to_overwrite_keystroke_echo argument.
9199
df75b1a3
GM
92002000-07-10 Gerd Moellmann <gerd@gnu.org>
9201
4b92c49a
GM
9202 * xdisp.c (try_window_id): If changes are all below what is
9203 displayed in the window, and point is in the window, we still
9204 might have to find point on the display.
9205
9206 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
9207 glyphs instead of a single one.
9208 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9209 with new argument list.
9210 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9211
df75b1a3
GM
9212 * keymap.c (get_keymap_1): Add comment that this function can GC.
9213 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
9214 comment that functions can GC.
9215 (Fset_keymap_parent): GCPRO arg KEYMAP.
9216
4314cf3e
EZ
92172000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
9218
9219 * msdos.c (XMenuActivate): After exiting the menu, restore the
9220 echo area message and erase it.
9221
ab49ce15
KH
92222000-07-10 Kenichi Handa <handa@etl.go.jp>
9223
9224 * fontset.c (Ffontset_info): Make the return value more compatible
9225 with that of Emacs 20.
9226
090a072f
GM
92272000-07-07 Gerd Moellmann <gerd@gnu.org>
9228
9229 * eval.c (Fsignal): Handle case that backtrace_list is null.
9230
f92de4a6
KH
92312000-07-07 Kenichi Handa <handa@etl.go.jp>
9232
9233 * ccl.c (Fccl_execute): Typo fixed.
9234
dd8888a1
GM
92352000-07-06 Gerd Moellmann <gerd@gnu.org>
9236
e5c81191 9237 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 9238
dd8888a1
GM
9239 * window.c (Fwindow_list): Reverse list at the end.
9240 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
9241 means allow windows on OWINDOW's frame, only.
9242 (window_loop): Simplified; use Fwindow_list.
9243
9244 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
9245
485266d0
GM
92462000-07-05 Gerd Moellmann <gerd@gnu.org>
9247
9248 * xterm.c (XTread_socket): Increment handling_signal at the start,
9249 decrement it at the end.
9250
9251 * eval.c (handling_signal): New variable.
9252 (Fsignal): Abort if handling_signal is non-zero.
9253
9254 * lisp.h (handling_signal): External declaration.
178c5d9c 9255
485266d0
GM
9256 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
9257
80fcd514
KR
92582000-07-05 Ken Raeburn <raeburn@gnu.org>
9259
9260 Sound support for NetBSD through "Linux emulation" support:
9261 * config.in (HAVE_SOUNDCARD_H): Undef.
9262 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
9263 * Makefile.in (LIBSOUND): New variable.
9264 (LIBES): Include it.
52283633
SM
9265 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
9266 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
9267 (vox_open): Use DEFAULT_SOUND_DEVICE.
9268 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
9269
d5c5cddd
GM
92702000-07-05 Gerd Moellmann <gerd@gnu.org>
9271
9272 * print.c (print_error_message): If Vsignaling_function is set,
9273 show it in *Messages*.
9274
9275 * lisp.h (Vsignaling_function): External declaration.
9276
9277 * eval.c (Vsignaling_function): New variable.
9278 (Fsignal): Compute it.
9279 (syms_of_eval): Staticpro it.
9280
65171e3a
DL
92812000-07-05 Dave Love <fx@gnu.org>
9282
9283 * syswait.h: Use the autoconf recommended approach. Old code
9284 #if'd out in case we need to revert.
9285
178c5d9c 9286 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 9287
e2c46326
AI
92882000-07-05 Andrew Innes <andrewi@gnu.org>
9289
9290 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
9291 when non-NULL instead of __morecore, to take account of buffer
9292 memory. This also solves a problem with spurious memory warnings
9293 on Windows.
9294
9295 * ralloc.c: Make real_morecore non-static.
9296
9297 * eval.c (internal_condition_case): Comment out abort if
9298 interrupt_input_blocked is not zero.
9299
9300 * makefile.nt: Add support for `bootstrap' and related targets.
9301 Include minimal debug info in emacs.exe in release build.
9302 Remove all dependencies on lisp.h, and fixup some others.
9303
9304 * w32.c (init_environment): Install code from 20.7 for providing
9305 default values for environment variables, based on the
9306 executable's own location.
52283633 9307 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
9308 (sys_socket): Install socket inheritance bug fix from 20.7.
9309
9310 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
9311 here via blockinput.h).
9312
a027a91b
SM
93132000-07-05 Stefan Monnier <monnier@cs.yale.edu>
9314
e4b31601
SM
9315 * w32menu.c (w32_menu_display_help):
9316 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
9317
9318 * keyboard.h (show_help_echo): Declare.
9319
9320 * keyboard.c (show_help_echo): New function, extracted from read_char.
9321 Feval its `msg' argument if it's a cons cell.
9322 (read_char): Use it.
4cf8d9d5 9323 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 9324
178c5d9c 9325 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 9326 (note_tool_bar_highlight, XTread_socket):
178c5d9c 9327 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
9328 (dos_rawgetc):
9329 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
9330 (note_tool_bar_highlight, w32_read_socket):
9331 Do not gratuitously ignore non-string `help-echo' properties.
9332
88d75730
GM
93332000-07-05 Gerd Moellmann <gerd@gnu.org>
9334
969f7e79
GM
9335 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
9336
71201b00
GM
9337 * window.c (delete_all_subwindows): Reset Vwindow_list.
9338
88d75730
GM
9339 * xterm.c (x_append_glyph, x_append_composite_glyph)
9340 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9341 changes in struct glyph starting 1999-12-27. Some bit-fields of
9342 struct glyph were not set, which made glyphs unequal when compared
9343 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
9344 effects were the result. This also depended on the contents of
9345 memory returned by xmalloc. If flickering happens again, activate
9346 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 9347 gone with that, chances are that it is caused by something similar.
88d75730
GM
9348
9349 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 9350
88d75730
GM
9351 * dispextern.h: Add some comments.
9352
9353 * window.c (add_window_to_list): Add parameter LIST.
9354 (window_list): Order list so that, for each frame, windows are
9355 in canonical order, and so that frames appear in the list in
9356 the order given by Vframe_list.
9357 (next_window): Reverse the handling of NEXT_P.
9358
53654733
GM
93592000-07-04 Gerd Moellmann <gerd@gnu.org>
9360
87efd256
GM
9361 * window.c (Vwindow_list): New variable.
9362 (make_window, delete_window): Set Vwindow_list to nil.
9363 (check_window_containing): New function.
9364 (window_from_coordinates): Rewritten.
9365 (add_window_to_list, window_list, candidate_window_p)
9366 (decode_next_window_args, next_window): New functions.
52283633 9367 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
9368 (Fwindow_list): New function.
9369 (Fother_window): Cleaned up.
9370 (foreach_window): Add a longer "variable argument list". Let
9371 callback function return 0 to indicate that cycling over windows
9372 should stop.
9373 (foreach_window_1): Likewise.
9374 (freeze_window_start): Return int.
9375 (init_window): New function.
9376 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
9377
9378 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
9379 input_event with bzero.
9380 (main): Call init_window.
9381
53654733
GM
9382 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
9383 a menu filter.
9384
4a8c194f
KH
93852000-07-04 Kenichi Handa <handa@etl.go.jp>
9386
9387 * composite.h (make_composition_value_copy): Extern it.
9388
9389 * composite.c (make_composition_value_copy): New function.
9390
9391 * editfns.c (Fformat): While copying text properties, make each
9392 composition property value a copy.
9393
9394 * fns.c (concat): While copying text properties, make each
9395 composition property value a copy.
9396
831a6cb0
GM
93972000-07-03 Gerd Moellmann <gerd@gnu.org>
9398
2f516940
GM
9399 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
9400
178c5d9c 9401 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
9402 marked already.
9403
831a6cb0
GM
9404 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
9405 include those frames as candidates which have their focus
9406 redirected to the minibuffer frame.
9407
d9c4f922
SM
94082000-07-03 Stefan Monnier <monnier@cs.yale.edu>
9409
9410 * fns.c (Fputhash): Return `value' rather than nil.
9411
3780bc22
GM
94122000-06-30 Gerd Moellmann <gerd@gnu.org>
9413
97d176db
GM
9414 * frame.c (next_frame): Don't check focus redirection in case
9415 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
9416 unless their focus is redirected, which contradicts the
9417 specification of next-frame, and leads to infinite loops in
9418 certain situations when cycling through windows with next-window.
9419
dca9961d
KH
94202000-06-30 Kenichi Handa <handa@etl.go.jp>
9421
9422 * coding.c (code_convert_region): Even if the length of text is
9423 zero, try to convert it if coding->type is coding_type_ccl.
9424 (decode_coding_string, encode_coding_string): Likewise.
9425
d5483ab1
GM
94262000-06-28 Gerd Moellmann <gerd@gnu.org>
9427
af5c25e1 9428 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 9429 the display if windows_or_buffers_changed.
af5c25e1
GM
9430
9431 * dispnew.c (struct row_entry): New structure.
9432 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
9433 (row_table_size, old_lines, new_lines, old_lines_size)
9434 (new_lines_size, run_pool, runs_size, runs): New variables.
9435 (add_row_entry): New function.
9436 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 9437 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
9438 holding them in local variables. Use a larger hash table whose
9439 size depends on glyph matrix sizes. Don't use bzero to clear the
9440 hash table; instead, clear used slots only.
9441
9442 * fns.c (next_almost_prime): Make it externally visible.
9443
9444 * lisp.h (next_almost_prime): Add prototype.
9445
d5483ab1
GM
9446 * s/isc4-0.h (sigunblock): Define.
9447
9448 * s/sco5.h (sigunblock): Define.
9449
93e40f40
DL
94502000-06-27 Dave Love <fx@gnu.org>
9451
9452 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
9453 (moved to osf5-0.h).
9454 [!NOT_C_CODE]: Protect string.h stuff.
9455
9456 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
9457 (sys_siglist, NSIG): Definitions moved here from osf1.h.
9458
3c4b7685
GM
94592000-06-27 Gerd Moellmann <gerd@gnu.org>
9460
97d176db 9461 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
9462 below the last line from the needed window height.
9463
32cad0aa
SM
94642000-06-26 Stefan Monnier <monnier@cs.yale.edu>
9465
9466 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
9467 (Fwidget_get): Use it.
9468 (syms_of_fns): Defsubr it.
9469
2c69ced2
GM
94702000-06-26 Gerd Moellmann <gerd@gnu.org>
9471
178c5d9c 9472 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
9473 display info for XIM.
9474 (xim_open_dpy): Likewise.
9475 (xim_close_dpy): Don't free the display info's XIM.
9476
9477 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
9478
9479 * config.in (USE_XIM): New define.
9480
3fc720e4
GM
9481 * keymap.c (get_keyelt): For menu-items containing a `:filter
9482 FILTER', apply FILTER to the menu-item's definition to get the
9483 real definition to use.
9484
9485 * lisp.h (QCfilter): External declaration.
9486
2c69ced2
GM
9487 * xfns.c (Fimage_size): New function.
9488 (syms_of_xfns): Defsubr it.
9489
f978b2a2
AS
94902000-06-26 Andreas Schwab <schwab@suse.de>
9491
9492 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
9493 Fstring_as_unibyte.
9494
94cc7892
DL
94952000-06-25 Dave Love <fx@gnu.org>
9496
52283633 9497 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
9498
9499 * Makefile.in (blockinput.h): Depend on atimer.h.
9500 (atimer.h): Depend on systime.h.
9501
52283633 9502 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 9503
52283633 9504 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
9505
9506 * lisp.h (swap_in_global_binding): Declare.
9507
b8c24556
KR
95082000-06-24 Ken Raeburn <raeburn@gnu.org>
9509
9510 * process.c (Fopen_network_stream): Turn off atimers for duration
9511 of call to connect. (Patch from Gerd.)
9512
8cf8560b
DL
95132000-06-23 Dave Love <fx@gnu.org>
9514
511c7541
DL
9515 * ralloc.c: Maybe include unistd.h
9516
8cf8560b
DL
9517 * emacs.c (setgrp): Undefine before defining.
9518 (malloc_warning, set_time_zone_rule, index): Prototype.
9519
9520 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
9521 HAVE_STRUCT_TIMEZONE.
9522
9523 * s/osf1.h: Move string.h hack here from alpha.h and make it
9524 conditional.
9525 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
9526 _XOPEN_SOURCE.
9527 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
9528 (SOCKLEN_TYPE): Don't define.
9529
9530 * m/alpha.h: Remove string.h hack.
9531
9532 * s/osf5-0.h: New file.
9533
9534 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
9535 include time.h, done by systime.h.
9536 [__FreeBSD__]: Remove redundant includes.
9537
3fc720e4 9538 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
9539 (delete_temp_file): Return Qnil to avoid warning.
9540
9541 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
9542
9543 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
9544 HAVE_X_WINDOWS.
9545
9546 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
9547
9548 * composite.h (compose_text): Declare.
9549
9550 * xterm.c: Don't include sys/types.h unconditionally. Don't
9551 protect its inclusion with !USG (following xmenu.c).
9552
ea055732
GM
95532000-06-23 Gerd Moellmann <gerd@gnu.org>
9554
9555 * xfns.c (x_create_tip_frame): Initialize frame's colors like
9556 in x_create_frame.
9557
74b01b80
EZ
95582000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
9559
9560 * coding.c (decode_eol_post_ccl): Special handling for undecided
9561 and inconsistent EOL types.
9562
64f3a166
GM
95632000-06-22 Gerd Moellmann <gerd@gnu.org>
9564
16cf31f7
GM
9565 * xrdb.c (x_load_resources): Add default resource for scroll bar's
9566 trough color and main window's background color.
9567
52283633 9568 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
9569
9570 * xterm.h (Xt_app_con): External declaration.
9571
9572 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 9573
486a103d
GM
9574 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
9575
64f3a166
GM
9576 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
9577 (handle_invisible_prop): Record the start of invisible text in
9578 it->add_overlay_start.
9579 (struct overlay_entry): Add member `overlay'.
9580 (handle_overlay_change): Simplify.
9581 (next_overlay_string): After having processed overlay strings at the
9582 end of the buffer, record that fact in
9583 it->overlay_strings_at_end_processed_p.
9584 (compare_overlay_entries): If before- and after-strings come
9585 from the same overlay, let before-strings come first.
9586 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
9587 (load_overlay_strings): Take it->add_overlay_start into account
9588 when adding overlay strings.
9589
9590 * dispextern.h (struct it): Add member add_overlay_start.
9591
bb746ea6
DL
95922000-06-22 Dave Love <fx@gnu.org>
9593
9594 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
9595
9596 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
9597
a8f573f3
KH
95982000-06-22 Kenichi Handa <handa@etl.go.jp>
9599
9600 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
9601 is greater than 0.
9602
9f2bbc92
DL
96032000-06-21 Dave Love <fx@gnu.org>
9604
178c5d9c 9605 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 9606
3ee5041c
SM
96072000-06-21 Stefan Monnier <monnier@cs.yale.edu>
9608
9609 * syntax.c (back_comment): Simplify string-parity counting (with
9610 the added benefit of handling multiple string-styles as long as
9611 they are not intertwined).
9612 Jump to the slow code as soon as a comment starter is found in
9613 a "string_lossage" position. Fixes the case: " /* " /* " */.
9614
4c343001
DL
96152000-06-21 Dave Love <fx@gnu.org>
9616
9617 * Makefile.in: Use GETLOADAVG_LIBS.
9618
9619 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
9620 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
9621
e6365855
SM
96222000-06-20 Stefan Monnier <monnier@cs.yale.edu>
9623
9624 * syntax.c (describe_syntax): Recognize the `n'estable bit.
9625 (Fforward_comment, scan_lists):
9626 Check the comstyle of single-char comment-starters.
9627 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
9628 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
9629 Check the comstyle of single-char comment-starters.
9630 Clarify control-flow around the Scomment case.
e6365855 9631
5700d2cc
DL
96322000-06-20 Dave Love <fx@gnu.org>
9633
d355bd8a
SM
9634 * fns.c (make_hash_table, maybe_resize_hash_table):
9635 Cast arg of next_almost_prime.
5700d2cc 9636
178c5d9c 9637 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
9638
9639 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
9640 and unistd.h.
9641
4a27bdfb
GM
96422000-06-20 Gerd Moellmann <gerd@gnu.org>
9643
a61d762c 9644 * keyboard.c (adjust_point_for_property): Check if display
52283633 9645 property should be treated as intangible by looking at its value.
a61d762c 9646
178c5d9c 9647 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
9648 (display_prop_intangible_p): New functions.
9649
9650 * dispextern.h (display_prop_intangible_p): Add prototype.
9651
9652 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 9653
4a27bdfb
GM
9654 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
9655 argument to sigprocmask.
9656
9657 * s/sco5.h (sigblock): Redefined to pass a pointer as second
9658 argument to sigprocmask.
9659
9660 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
9661 sigprocmask_set, and pass a pointer to it to sigprocmask.
9662
9663 * sysdep.c (sigprocmask_set): New variable.
9664
9665 * fileio.c (make_temp_name): Don't use `%s' in string passed to
9666 report_file_error.
9667
427ec082
SS
96682000-06-20 Sam Steingold <sds@gnu.org>
9669
9670 * xrdb.c: Don't declare xmalloc, xrealloc.
9671
8972fe79 96722000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
9673
9674 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
9675 (re_comp): Cast gettext return value to avoid complaints when
9676 !HAVE_LIBINTL.
9677
074b6efe
DL
96782000-06-20 Dave Love <fx@gnu.org>
9679
52283633 9680 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 9681
5700d2cc 9682 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 9683
d355bd8a 9684 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
9685
9686 * m/alpha.h: Don't declare xmalloc, xrealloc.
9687
0af4f205
DL
9688 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
9689
9690 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
9691
9692 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
9693
9694 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
9695 HAVE_GETWD.
9696
074b6efe
DL
9697 * keyboard.h (poll_for_input_1): Declare.
9698
9699 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
9700
9701 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
9702
9703 * doprnt.c: Don't declare xmalloc, xrealloc.
9704
9705 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
9706 (getenv, ctime, getwd): Removed.
9707 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
9708
9709 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
9710 x_set_tool_bar_lines.
9711
9712 * config.in: Add HAVE_GETWD. Move some definitions above
9713 machine/system includes.
9714
68a5e97b
KH
97152000-06-20 Kenichi Handa <handa@etl.go.jp>
9716
95417e1e
KH
9717 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
9718
68a5e97b
KH
9719 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
9720 contain information about ENCODING.
9721
9722 * fontset.c (FONTSET_ASCII): Use the first element of char table
9723 for an ASCII font, not defalt slot.
9724 (fontset_ref_via_base): If FONTSET doesn't contain information for
9725 C, try the default fontset.
9726 (make_fontset): Don't copy the default fontset.
9727 (fontset_font_pattern): Likewise.
9728 (accumulate_font_info): If ELT is nil, use the corresponding
9729 element in the default fontset.
9730
3b4fa1b2
DL
97312000-06-19 Dave Love <fx@gnu.org>
9732
943e731c
DL
9733 * syntax.c (Fparse_partial_sexp): Doc fix.
9734
9735 * regex.h: Test PROTOTYPES as well as __STDC__.
9736
3b4fa1b2
DL
9737 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
9738 errno, strerror. Put text after #endif in comment.
9739
52283633 9740 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
9741
9742 * xterm.c (x_frame_of_widget): Likewise.
9743
cdf0357b
GM
97442000-06-19 Gerd Moellmann <gerd@gnu.org>
9745
9746 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
9747 to Vfundamental_mode_abbrev_table.
9748
9749 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
9750 bogus objects are marked. This slows down GC by ~80 percent, but
9751 it might be worth trying when debugging GC-related problems.
9752 This feature requires conservative stack marking to be enabled.
9753
9754 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
9755 returns XLookupChars, reset `modifiers' to zero.
9756
998e9f8c
DL
97572000-06-19 Dave Love <fx@gnu.org>
9758
9759 * mktime.c: Unprotoized.
9760
18e21ce8 97612000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
9762
9763 * data.c (set_internal): If variable is frame-local,
9764 store the new value immediately into the frame parameter alist.
9765
140c4ac6
KR
97662000-06-19 Ken Raeburn <raeburn@gnu.org>
9767
14358466
KR
9768 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
9769 in the custom handler pointer.
9770
140c4ac6
KR
9771 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
9772 value, or checks for CHAR_META can fail when Lisp_Object is a
9773 union type.
9774 * keymap.c (get_keyelt): Likewise.
9775
10d7bf84
KH
97762000-06-19 Kenichi Handa <handa@etl.go.jp>
9777
9778 * ccl.h (struct ccl_program): New member eol_type.
9779 (struct ccl_spec): New member cr_carryover.
9780
9781 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
9782 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
9783
9784 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
9785 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
9786 (decode_eol_post_ccl): New function.
9787 (decode_coding): Don't detect EOL format here for CCL based coding
9788 systems.
9789 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
9790 decode_eol_post_ccl after running the CCL program.
9791 (code_convert_region): Don't detect EOL format here for CCL based
9792 coding systems.
9793 (decode_coding_string): Likewise.
9794
52e386c2
KR
97952000-06-18 Ken Raeburn <raeburn@gnu.org>
9796
9797 * charset.c (update_charset_table): Use XINT on "iso_final_char"
9798 when treating it as an integer.
9799
9800 * coding.h (encode_coding_string): Declare.
9801
9802 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
9803 it as an integer.
9804
9805 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
9806 "xkeymap" to avoid shadowing the "enum map_type" value that needs
9807 to be passed to get_local_map.
9808
9809 * sound.c (Fplay_sound): Don't call make_number on
9810 Frun_hook_with_args count argument.
9811
9812 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
9813 for lisp objects in X event structure data field, when lisp
9814 objects are represented with unions.
9815 (x_scroll_bar_to_input_event): Ditto.
9816
b357b9d4
KR
98172000-06-16 Ken Raeburn <raeburn@gnu.org>
9818
9819 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
9820 termination of string. Fix sense of test whether
9821 Vline_number_display_limit is an integer.
b357b9d4 9822
a871441d
GM
98232000-06-16 Gerd Moellmann <gerd@gnu.org>
9824
a9021acd
GM
9825 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
9826 only if HAVE_X_WINDOWS.
9827
6344985d
GM
9828 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
9829 of titles.
9830
427ec082 9831 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
9832 out of bounds.
9833
228b083e
EZ
98342000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
9835
9836 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
9837 of its headers.
9838
c25b53a2
KH
98392000-06-15 Kenichi Handa <handa@etl.go.jp>
9840
9841 * coding.c (decode_coding_emacs_mule): Always set src_base at the
9842 start of the while loop.
9843
a6981b11
GM
98442000-06-15 Gerd Moellmann <gerd@gnu.org>
9845
e9924e52
GM
9846 * atimer.c (alarm_signal_handler): Add forward declaration.
9847
a6981b11
GM
9848 * data.c (set_internal): Remove debug code.
9849
25fa6deb
GM
98502000-06-14 Gerd Moellmann <gerd@gnu.org>
9851
dce6b995
GM
9852 * Makefile.in (bootstrap-temacs): Add `-I../src'.
9853
9f817ea4
GM
9854 * unexec.c (toplevel) [COFF]: Include coff.h.
9855
9856 * s/lynxos.h: New file.
9857
9858 * keymap.c (Fsingle_key_description): Enclose function key and
9859 event symbol names in angle brackets.
9860
8a4e3c0c
GM
9861 * xdisp.c (setup_echo_area_for_printing): Call
9862 message_log_maybe_newline if message_buf_print is not set.
9863
9864 * print.c (printchar, strout): Don't check message_buf_print
427ec082 9865 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
9866 function does something useful even when message_buf_print is
9867 already set.
9868
52283633
SM
9869 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
9870 New variables.
25fa6deb
GM
9871 (ensure_echo_area_buffers): Initialize echo buffer's
9872 truncate lines setting to nil.
9873 (with_echo_area_buffer): Don't set the echo buffer's truncate
9874 lines setting here.
8a4e3c0c 9875 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
9876 of message_truncate_lines.
9877 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
9878 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
9879 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
9880
9881 * keyboard.c (read_char): Bind message-truncate-lines to t
9882 while displaying a help-echo.
9883
9884 * lisp.h (Qmessage_truncate_lines): External declaration.
9885
163dcff3
GM
98862000-06-13 Gerd Moellmann <gerd@gnu.org>
9887
1681ead6
GM
9888 * xdisp.c (Vline_number_display_limit): Renamed from
9889 line_number_display_limit.
9890 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
9891 Extend documentation string. Initialize
9892 Vline_number_display_limit to nil meaning no limit.
9893 (decode_mode_spec): Use Vline_number_display_limit with its new
9894 meaning.
9895
163dcff3
GM
9896 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
9897
18e21ce8 98982000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
9899
9900 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 9901
163dcff3
GM
9902 * xfns.c (x_set_frame_parameters): Comment fix.
9903
9904 * frame.c (store_frame_param): Call swap_in_global_binding if the
9905 variable's current binding was chosen based on this frame.
9906
9907 * data.c (swap_in_global_binding): New function.
9908
a704139d
EZ
99092000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
9910
9911 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
9912 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
9913
9b6610db
EZ
99142000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
9915
9916 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
9917
c68833d2
JR
99182000-06-12 Jason Rumney <jasonr@gnu.org>
9919
9920 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
9921
9922 * w32.h (EMACS_W32_H): Renamed from _NT_H_
9923
9924 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
9925
9926 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
9927
ed1056b3
GM
99282000-06-12 Gerd Moellmann <gerd@gnu.org>
9929
9930 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
9931 (syms_of_xfaces): Defsubr Sdump_colors.
9932 (x_free_colors): Don't treat b&w specially on default visual.
9933 (x_free_dpy_colors): New function.
9934 (free_face_colors): Don't check visual class; it's done
9935 in x_free_colors.
9936
9937 * xterm.c (x_frame_of_widget): New function.
9938 (x_alloc_nearest_color_for_widget): Use it.
9939 (x_copy_dpy_color): New function.
9940 (x_destroy_window): Free various colors.
9941
5050a2ef
KH
99422000-06-12 Kenichi Handa <handa@etl.go.jp>
9943
9944 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
9945
9946 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
9947
9948 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
9949
9950 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
9951
9952 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
9953
fb1b041d
DL
99542000-06-11 Dave Love <fx@gnu.org>
9955
9956 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
9957
ff96b5f4
EZ
99582000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
9959
9960 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
9961
db8eeecd
GM
99622000-06-11 Gerd Moellmann <gerd@gnu.org>
9963
ed1056b3 9964 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
9965 to `XEvent *'.
9966
49b71c5f
KH
99672000-06-10 Kenichi Handa <handa@etl.go.jp>
9968
c479bd55
KH
9969 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
9970 (regex_compile): Fix the code for handling the case of single byte
9971 char and multibyte char being mixed in a range within [...].
9972
ff6a65c2
KH
9973 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
9974 and dst_multibyte members of coding.
9975
49b71c5f
KH
9976 * charset.c (update_charset_table): Update the table
9977 bytes_by_char_head.
9978 (init_charset_once): Initialize elements of bytes_by_char_head to
9979 1 except for leading codes for private charases.
9980
9981 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 9982 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 9983
9e80b57d
KR
99842000-06-09 Ken Raeburn <raeburn@gnu.org>
9985
9986 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
9987 access the data it doesn't point to.
9988
f83fe4b4
GM
99892000-06-08 Gerd Moellmann <gerd@gnu.org>
9990
9991 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 9992 will be translated to a switch-frame event when reading the
f83fe4b4
GM
9993 event queue. This is necessary because Emacs otherwise won't
9994 perform a switch-frame to a new frame until some other event, for
9995 example a keystroke event, forces it to do so. This has various
9996 effects, one visible being that the cursor of a frame created with
9997 C-x 5 2 or switched to with a window manager key binding like
9998 A-TAB stays hollow because selected_window isn't on the newly
9999 focused frame until the switch-frame is performed.
10000
10001 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
10002 generating a switch-frame event if necessary.
10003
10004 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
10005
10006 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
10007 it's an integer.
10008
0890801b
KH
100092000-06-08 Kenichi Handa <handa@etl.go.jp>
10010
52283633 10011 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 10012
173cbca8
GM
100132000-06-07 Gerd Moellmann <gerd@gnu.org>
10014
3091c2a6
GM
10015 * window.c (displayed_window_lines): Take empty lines at
10016 the bottom of a window into account.
427ec082 10017
f38952fe
GM
10018 * window.c (displayed_window_lines): New function.
10019 (Fmove_to_window_line): Use displayed_window_lines to determine
10020 the number of lines to move, instead of using the window's height.
10021
10022 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
10023 to stop reading, even if the form read sets point to a different
10024 value when evaluated.
10025
427ec082 10026 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
10027 put the cursor.
10028
6ba6c818
KH
100292000-06-07 Kenichi Handa <handa@etl.go.jp>
10030
10031 * fileio.c (e_write): Free composition data if stored in
10032 coding->cmp_data.
10033
5f1aea9a
GM
100342000-06-06 Gerd Moellmann <gerd@gnu.org>
10035
666852af
GM
10036 * xdisp.c (display_line): Set row's and iterator's
10037 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
10038 Set cursor even if row ends in the middle of a character.
10039 (dump_glyph_row): Print values of new flags.
10040 (redisplay_window) <cursor movement in unchanged window>: When
10041 point has been moved forward, and PT is at the end of the cursor
10042 row, don't place the cursor in the next row if the cursor row ends
10043 in the middle of a character or at ZV.
10044
10045 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
10046 (struct glyph_row): Add starts_in_middle_of_char_p and
10047 ends_in_middle_of_char_p.
10048 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
10049 ends_in_middle_of_char_p flag.
10050 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
10051
d13f3e2e
GM
10052 * term.c (append_glyph): Revert change of 2000-06-06.
10053
10054 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
10055 padding glyph not fitting on line as whole character not
10056 fitting on line.
10057
5f1aea9a
GM
10058 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
10059 this isn't true for images with `:ascent 100'.
10060
10cda9b0
KH
100612000-06-06 Kenichi Handa <handa@etl.go.jp>
10062
ed00559d
KH
10063 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
10064 as modified if it is originally unmodified.
10065
10cda9b0
KH
10066 * term.c (encode_terminal_code): Change the way to check if
10067 terminal coding does any conversion.
10068 (append_glyph): Set glyph->pixel_width correctly.
10069
10070 * xdisp.c (display_line): While checking line continuation, pay
10071 attention to a padding glyph.
10072
1969fae2
GM
100732000-06-05 Gerd Moellmann <gerd@gnu.org>
10074
10075 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
10076
162ccef4
DL
100772000-06-05 Dave Love <fx@gnu.org>
10078
f19f32dd
DL
10079 * xdisp.c: Include fontset.h.
10080
10081 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
10082
10083 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10084
10085 * dispnew.c: Conditionally include term.h.
10086
10087 * coding.h: Declare code_convert_string_norecord.
10088
10089 * frame.h (struct frame): Use volatile unconditionally.
10090
10091 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
10092
10093 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
10094
10095 * systime.h: Protect against multiple inclusion.
10096 (timezone) [USG5_4]: Define as time_t.
10097
10098 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10099 (Foptimize_char_table, make_temp_name): Declare.
10100
10101 * Makefile.in (xdisp.o): Depend on fontset.h.
10102
10103 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10104
10105 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10106 (Foptimize_char_table, make_temp_name): Declare.
10107
427ec082 10108 * s/irix4-0.h:
162ccef4
DL
10109 * s/irix5-0.h:
10110 * s/netbsd.h: Don't define autoconfiscated MATHERR.
10111
2082fe81
DL
101122000-06-02 Dave Love <fx@gnu.org>
10113
10114 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
10115
dcf671d2
GM
101162000-06-02 Gerd Moellmann <gerd@gnu.org>
10117
10118 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 10119 result face, set flags in that face indicating that colors may not
dcf671d2
GM
10120 be freed.
10121
10122 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
10123 glyph, use the ASCII NUL character to determine the face.
10124
d42122a3
DL
101252000-06-02 Dave Love <fx@gnu.org>
10126
10127 * sysdep.c: Conditionally include stdlib.h, unistd.h.
10128 (VFORK_RETURN_TYPE): Remove.
427ec082 10129
d42122a3
DL
10130 * config.in: Add NO_MATHERR.
10131
dd432f16
DL
101322000-06-01 Dave Love <fx@gnu.org>
10133
90aa4ea8
DL
10134 * cmds.c (internal_self_insert): Don't check
10135 Vbefore_change_function, Vafter_change_function.
10136
10137 * insdel.c (signal_before_change, signal_after_change): Likewise.
10138
10139 * buffer.c (Vbefore_change_function, Vafter_change_function):
10140 Variables and their initializations deleted.
10141
2330c9d4
DL
10142 * callint.c (Fcall_interactively): Doc fix.
10143
dd432f16
DL
10144 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
10145
bf9e8804
DL
101462000-05-31 Dave Love <fx@gnu.org>
10147
10148 * textprop.c: Revert last change -- duplicated.
10149
3694b4ab
GM
101502000-05-31 Gerd Moellmann <gerd@gnu.org>
10151
10152 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
10153 in #if 0.
10154
10155 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
10156
f14156cd
JR
101572000-05-31 Jason Rumney <jasonr@gnu.org>
10158
8119aab8
JR
10159 * search.c (Fre_search_forward, Fre_search_backward)
10160 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
10161
f14156cd
JR
10162 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
10163
4aab9be3
JR
101642000-05-30 Jason Rumney <jasonr@gnu.org>
10165
10166 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
10167 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
10168
52283633 10169 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
10170
10171 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
10172 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
10173 expand a nil default_filename.
10174
10175 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
10176 pointer to glyph_to_pixel_coords, not a frame.
10177
10178 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
10179 coding.h to dependencies.
10180
10181 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
10182
10183 * w32console.c (glyph_to_pixel_coords): Change first parameter to
10184 window pointer to be consistent with w32term.c and xterm.c.
10185
10186 * w32fns.c: Format and doc changes to bring closer to xfns.c.
10187 (VIETNAMESE_CHARSET): Define if not defined in system headers.
10188 (Qline_spacing, Qcenter): New variables.
10189 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
10190 (x_set_line_spacing): New function.
52283633 10191 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
10192 (x_specified_cursor_type): New function.
10193 (x_set_cursor_type): Use it.
10194 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
10195 and icon strings.
10196 (validate_x_resource_name, x_get_resource_string): Measure lengths
10197 of external strings in bytes.
10198 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
10199 GetTextExtentPoint32 with NULL title.
10200 (Fx_create_frame): Initialize Qline_spacing.
10201 (w32_load_system_font): Initialize font->double_byte_p.
10202 (x_to_w32_charset): Use Vw32_charset_info_alist.
10203 (Image, busy cursor, tooltip functions): Merged changes from
10204 xfns.c. Not yet functional on Windows.
10205
10206 * w32gui.h (W32FontStruct): Add double_byte_p member.
10207
10208 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
10209 (emacs_button_translation): Use it.
10210 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
10211 in `mask' to be set.
10212
10213 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
10214 menu strings.
10215
10216 * w32term.c: Format and doc changes to bring closer to xterm.c.
10217 (w32_char_font_type): New enum.
10218 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
10219 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
10220 (w32_encode_char): New function.
10221 (x_encode_char): Removed.
10222 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
10223 x_encode_char and w32_font_is_double_byte.
10224 (x_produce_image_glyph): Use image_ascent.
10225 (x_produce_glyphs): Use new version of w32_per_char_metric and
10226 handle NULL return value. Allow extra line spacing.
10227 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
10228 (w32_get_glyph_overhangs): Remove unicode_p param. Use
10229 w32_font_type member of glyph instead.
10230 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
10231 (fast_find_position): Make sure not to consider rows not visible
10232 in the window.
10233 (w32_read_socket) [WM_MENUSELECT]: Cannot call
10234 w32_menu_display_help with input blocked, as it can abort.
10235 (x_display_and_set_cursor): Choose cursor depending
10236 on buffer-local value of cursor_type.
10237 (x_draw_bar_cursor): Add parameter WIDTH.
10238
10239 * w32term.h (CP_DEFAULT): Define.
10240 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
10241
10fc3187
GM
102422000-05-30 Gerd Moellmann <gerd@gnu.org>
10243
10244 * search.c (Fre_search_forward, Fre_search_backward)
10245 (Fposix_search_backward, Fposix_search_forward): Doc fix.
10246
d0555360
KH
102472000-05-30 Kenichi Handa <handa@etl.go.jp>
10248
10249 * coding.c (detect_coding_iso2022): Fix code for checking
10250 CODING_CATEGORY_MASK_ISO_8_2.
10251
f1ad044f
SM
102522000-05-29 Stefan Monnier <monnier@cs.yale.edu>
10253
10254 * regex.c (PREFETCH_NOLIMIT): New function.
10255 (re_match_2_internal): Use it and adjust the end_match_2 logic.
10256
84ec3b4b
GM
102572000-05-29 Gerd Moellmann <gerd@gnu.org>
10258
66254a13
GM
10259 * syntax.c (find_defun_start): Move test for
10260 open_paren_in_column_0_is_defun_start outside of the loop.
10261
49e70dec
GM
10262 * xdisp.c (redisplay_window): Really switch buffers when
10263 displaying mode lines, and temporarily set selected_frame to the
10264 frame of the window that's redisplayed.
10265
84ec3b4b
GM
10266 * xfaces.c (free_realized_faces): Block/unblock input.
10267 (free_realized_multibyte_face): Ditto.
10268
869a3a14
DL
102692000-05-29 Dave Love <fx@gnu.org>
10270
10271 * textprop.c (Qkeymap): New variable.
10272 (syms_of_textprop): Intern it.
10273
10274 * keymap.c: Include intervals.h.
10275 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
10276
10277 * Makefile.in (keymap.o): Depend on intervals.h.
10278
10279 * keyboard.c (menu_bar_items, tool_bar_items)
10280 (Fexecute_extended_command): Deal with `keymap' property.
10281 (read_key_sequence): Track map from `keymap' property as well as
10282 `local_map'.
10283
10284 * intervals.c (get_local_map): Extra arg to allow looking for
10285 `keymap' too.
10286
10287 * intervals.h (map_property): New enum.
10288 (get_local_map): Extra arg using it.
10289 (Qkeymap): Declare.
10290
84ec3b4b 10291 * lisp.h (get_local_map): Don't declare here.
869a3a14 10292
89d0c844
KH
102932000-05-29 Kenichi Handa <handa@etl.go.jp>
10294
10295 * Makefile.in (callproc.o): Depend on composite.h.
10296
10297 * callproc.c: Include composite.h.
10298 (Fcall_process): Handle composition correctly.
10299
10300 * coding.h (coding_allocate_composition_data): Extern it.
10301 (coding_restore_composition): Likewise.
10302
10303 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
10304 yet allocated, finish decoding with result
10305 CODING_FINISH_INSUFFICIENT_CMP.
10306 (coding_allocate_composition_data): Make it non-static.
10307 (coding_restore_composition): Likewise.
10308
797a084a
EZ
103092000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
10310
10311 * charset.c (syms_of_charset): Revert last change.
10312
cf872af5
EZ
103132000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
10314
10315 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
10316 charsets as unibyte, with 1-column screen width. Sent by Kenichi
10317 Handa.
cf872af5 10318
5b1ae051
EZ
103192000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
10320
10321 * charset.c (syms_of_charset): Set width of character sets
10322 eight-bit-control and eight-bit-graphic to 1 column.
10323
34ec9ebe
GM
103242000-05-26 Gerd Moellmann <gerd@gnu.org>
10325
10326 * config.in (HAVE_SPEED_T): New define.
10327
10328 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
10329 `extern speed_t'.
10330
dd854dc2
DL
103312000-05-26 Dave Love <fx@gnu.org>
10332
10333 * coding.c (shrink_decoding_region): Initialize eol_conversion.
10334
10335 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
10336 (Fsubr_arity): New function.
10337 (syms_of_data): Install them.
10338
ba9f8f95
KH
103392000-05-26 Kenichi Handa <handa@etl.go.jp>
10340
0f3e0672
KH
10341 * charset.c (init_charset_once): Set the table bytes_by_char_head
10342 correctly.
10343
cebefb44
KH
10344 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
10345 the default fontset to what Emacs uses by default.
0f3e0672
KH
10346 (check_registry_encoding): This function deleted.
10347 (Fset_fontset_font): Remove the adhoc condition for the default
10348 fontset. Allow cons in FONTNAME.
cebefb44 10349
0f3e0672
KH
10350 * fns.c (map_char_table): Ignore char-table entries for
10351 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 10352
7a18af49
KR
103532000-05-25 Ken Raeburn <raeburn@gnu.org>
10354
10355 * emacs.c (main): Initialize keyboard syms before initializing
10356 window code, so face names are available.
10357
d2af47df
SM
103582000-05-25 Stefan Monnier <monnier@cs.yale.edu>
10359
10360 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
10361 of an anchor at the beginning of a shy-group.
10362
fc6a6a4e
GM
103632000-05-25 Gerd Moellmann <gerd@gnu.org>
10364
10365 * xdisp.c (handle_invisible_prop): Don't try to skip over
10366 invisible text if end of text is already reached.
10367
005f0d35
DL
103682000-05-25 Dave Love <fx@gnu.org>
10369
02513cdd
DL
10370 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
10371
005f0d35
DL
10372 * coding.c (encode_eol): Add null statement after label.
10373
89f6ca4e
EZ
103742000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
10375
10376 * w16select.c (Fw16_set_clipboard_data): Fix the change from
10377 2000-05-20.
10378
a4e1759e
KH
103792000-05-25 Kenichi Handa <handa@etl.go.jp>
10380
10381 * ccl.c (ccl_driver): Fix previous change.
10382
eacfd7fe
KH
103832000-05-25 Kenichi Handa <handa@etl.go.jp>
10384
46ab33a9
KH
10385 * coding.c (run_pre_post_conversion_on_str): Set point to the
10386 beginning of buffer before calling coding->post_read_conversion.
10387 (decode_coding_string): Give correct args to
10388 run_pre_post_conversion_on_str.
10389 (encode_coding_string): Likewise.
10390
eacfd7fe
KH
10391 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
10392 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
10393 eight-bit-graphic correctly.
10394
f8569325
DL
103952000-05-24 Kenichi HANDA <handa@etl.go.jp>
10396
10397 * fileio.c (Finsert_file_contents): Even if a file is not found,
10398 execute codes for setting up coding system. Call
10399 after-insert-file-functions unconditionally.
10400
04545643
GM
104012000-05-24 Gerd Moellmann <gerd@gnu.org>
10402
10403 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
10404 BSD_PGRPS are not defined.
10405
747d90ea
KH
104062000-05-24 Kenichi Handa <handa@etl.go.jp>
10407
10408 * charset.c (update_charset_table): Accept nil in LONG_NAME and
10409 DESCRIPTION.
10410 (syms_of_charset): Avoid building same strings.
10411
716e3b88
GM
104122000-05-23 Gerd Moellmann <gerd@gnu.org>
10413
10414 * lread.c (Fload): Add a comment about the meaning of
10415 Vuser_init_file being t.
10416
10417 * puresize.h (BASE_PURESIZE): Increase to 675000.
10418
10419 * s/gnu-linux.h (setpgrp): Don't define it here because this
10420 prevents compilation on GNU/Linux systems with glib 2.2.
10421
10422 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
10423 as setpgid.
427ec082 10424
9aeb39fa
EZ
104252000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
10426
10427 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
10428 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
10429 version.
10430 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
10431
29ced61b
KH
104322000-05-23 Kenichi Handa <handa@etl.go.jp>
10433
52283633 10434 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 10435
3d80f24d
KH
10436 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
10437
52283633 10438 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 10439
29ced61b
KH
10440 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
10441
d7e00792
KH
104422000-05-22 Kenichi Handa <handa@etl.go.jp>
10443
c9d80d38
KH
10444 * keyboard.c (read_char): Allow character codes 128..255 to be
10445 handled by input-method-function.
10446
d7e00792
KH
10447 * insdel.c (adjust_markers_for_replace): Fix previous change.
10448 (adjust_after_replace): If PREV_TEXT is nil, call
10449 adjust_markers_for_insert, not adjust_markers_for_replace.
10450
087121cc 104512000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 10452
087121cc
GM
10453 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
10454 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
10455 [HAVE_GRANDPT]: Define.
10456 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
10457
10458 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
10459 like SYSV_PTYS.
10460
10461 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
10462
10463 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
10464
c9671f81
KH
104652000-05-20 Kenichi Handa <handa@etl.go.jp>
10466
10467 The following changes are to handle 8-bit characters in a
10468 multibyte buffer/string without facing with byte combining
10469 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
10470 eight-bit-graphic (for 0xA0..0xFF) are introduced.
10471
10472 * Makefile.in (fns.o): Depend on charset.h.
10473
10474 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
10475 convert it to unibyte.
10476 (make_string): Use parse_str_as_multibyte, not chars_in_text.
10477
10478 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
10479 apparent char boundary.
10480 (Fset_buffer_multibyte): Convert 8-bit characters in the range
10481 0x80..0x9F to/from multibyte form.
10482
10483 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
10484 to unibyte.
10485
10486 * callproc.c (Fcall_process): Always encode an argument string if
10487 it is multibyte. Setup src_multibyte and dst_multibyte members of
10488 process_coding properly.
ce75fd23 10489
c9671f81
KH
10490 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
10491 SPLIT_NON_ASCII_CHAR.
10492
10493 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
10494 as is.
10495 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
10496
52283633 10497 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 10498 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 10499 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
10500 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
10501 and eight-bit-graphic.
10502 (char_to_string): Likewise. Signal an error for too large
10503 character code.
10504 (char_printable_p): Return 0 for 8-bit characters.
10505 (update_charset_table): Update iso_charset_table only when a final
10506 character is non-negative.
10507 (find_charset_in_text): Renamed from find_charset_in_str.
10508 Arguments and return value changed. Callers changed.
10509 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
10510 be -1 if CHARSET is used only internally.
10511 (Fmake_char_internal): Handle new charsets; eight-bit-control and
10512 eight-bit-graphic.
10513 (Fcharset_after): Simplified.
10514 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
10515 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
10516 (multibyte_chars_in_text): Simplified by assuming there's no
10517 invalid multibyte sequence.
52283633
SM
10518 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
10519 (str_as_unibyte): New functions.
10520 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
10521 (init_charset_once): Initialization for
10522 LEADING_CODE_8_BIT_CONTROL.
10523 (syms_of_charset): Intern and staticpro Qeight_bit_control and
10524 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
10525 eight-bit-control and eight-bit-graphic.
10526
52283633
SM
10527 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
10528 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
10529 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
10530 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
10531 (CHARSET_REVERSE_CHARSET): Likewise.
10532 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
10533 eight-bit-graphic.
10534 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
10535 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
10536 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
10537 encounter an invalid multibyte sequence.
10538 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
10539 sequence is always valid.
10540 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 10541 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
10542 (CHAR_STRING): For 8-bit characters, call char_to_string.
10543 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
10544 multibyte sequence is always valid.
10545 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
10546 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
10547 (str_as_unibyte): Extern them.
c9671f81 10548 (BCOPY_SHORT): Fix a bug.
52283633 10549 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
10550 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
10551 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
10552 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
10553
bd4bde7f 10554 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 10555 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
10556 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
10557 (EMIT_BYTES): New macros.
10558 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
10559 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
10560 macros deleted.
10561 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
10562 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
10563 check the validity of multibyte sequence.
10564 (decode_coding_emacs_mule): New function.
10565 (encode_coding_emacs_mule): New macro.
10566 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
10567 the source.
10568 (DECODE_ISO_CHARACTER): Just return a character code.
10569 (DECODE_COMPOSITION_START): Set coding->result instead of result.
10570 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
10571 EMIT_CHAR to produced decoded characters. Exit the loop only by
10572 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
10573 block here.
10574 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
10575 only position codes for an invalid character.
10576 (encode_designation_at_bol): Return new destination pointer. 5th
10577 arg DSTP is changed to DST.
10578 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
10579 from the source by ONE_MORE_CHAR. Don't handle the case of last
10580 block here.
10581 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
10582 macros deleted.
52283633
SM
10583 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
10584 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
10585 TWO_MORE_BYTES to fetch a byte from the source.
10586 (encode_eol): Pay attention to coding->src_multibyte.
10587 (detect_coding, detect_eol): Preserve members src_multibyte and
10588 dst_multibyte.
10589 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
10590 (encoding_buffer_size): Set magnification to 3 for all coding
10591 systems that require encoding.
10592 (ccl_coding_driver): For decoding, be sure that the result is
10593 valid multibyte sequence.
10594 (decode_coding): Initialize coding->errors and coding->result.
10595 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
10596 and raw-text, always call decode_eol. Handle the case of last
10597 block here. If not coding->dst_multibyte, convert the resulting
10598 sequence to unibyte.
10599 (encode_coding): Initialize coding->errors and coding->result.
10600 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
10601 and raw-text, always call encode_eol. Handle the case of last
10602 block here.
10603 (shrink_decoding_region, shrink_encoding_region): Detect cases
10604 that we can't skip data more rigidly.
10605 (code_convert_region): Setup src_multibyte and dst_multibyte
10606 members of coding. For decoding, if the buffer is multibyte,
10607 convert the source sequence to unibyte in advance. For encoding,
10608 if the buffer is multibyte, convert the resulting sequence to
10609 multibyte afterward.
10610 (run_pre_post_conversion_on_str): New function.
10611 (code_convert_string): Deleted and divided into the following two.
10612 (decode_coding_string, encode_coding_string): New functions.
10613 (code_convert_string1, code_convert_string_norecord): Call one of
10614 above.
10615 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
10616 MAKE_NON_ASCII_CHAR.
52283633
SM
10617 (Fset_terminal_coding_system_internal)
10618 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
10619 and dst_multibyte members.
10620 (init_coding_once): Initialize iso_code_class with new enum
10621 ISO_control_0 and ISO_control_1.
10622
10623 * coding.h (enum iso_code_class_type): Member ISO_control_code is
10624 devided into ISO_control_0 and ISO_control_1.
10625 (struct coding_system): New members src_multibyte, dst_multibyte,
10626 errors, and result. Delete member fake_multibyte.
10627 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
10628 nonzero.
10629 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
10630 nonzero.
10631
10632 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
10633 (Faset): Likewise.
10634
10635 * editfns.c (Fformat): Be sure to convert 8-bit characters to
10636 multibyte form.
10637 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
10638 combining occurs.
10639 (Ftranspose_region): Delete codes for handling byte combining.
10640
10641 * fileio.c (Finsert_file_contents): Setup src_multibyte and
10642 dst_multibyte members of coding. On handling REPLACE on unibyte
10643 buffer, convert the result of decode_coding to unibyte. On
10644 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 10645 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
10646 multibyteness of the source (buffer or string).
10647
10648 * fns.c (concat): Handle 8-bit characters correctly.
10649 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
10650 unibyte in the result.
10651 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
10652 valid multibyte form in the result.
10653 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
10654 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
10655 return -1, signal an error.
10656 (base64_encode_1): New arg MULTIBYTE. Get each character by
10657 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
10658 character is found, return -1.
10659 (Fbase64_decode_region): Delete codes for handling byte-combining.
10660 Treat each decoded byte as a unibyte character.
10661 (Fbase64_decode_string): Return unibyte string.
10662 (Fcompare_strings, concat, string_byte_to_char): Use
10663 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
10664 FETCH_STRING_CHAR_ADVANCE.
10665 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
10666 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
10667
10668 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
10669 SPLIT_NON_ASCII_CHAR.
10670 (fontset_ref_via_base, fontset_set): Likewise
10671
10672 * insdel.c (adjust_markers_for_record_delete): Deleted.
10673 (adjust_markers_for_insert): Argument changed. Caller changed.
10674 (adjust_markers_for_replace): Likewise.
52283633
SM
10675 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
10676 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
10677 (copy_text): Delete unused local varialbe c_save. For converting
10678 to multibyte, be sure to make all 8-bit characters in valid
10679 multibyte form.
10680 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
10681 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
10682 (adjust_after_replace, replace_range, del_range_2)
c9671f81 10683 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
10684 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
10685 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
10686 handling byte combining.
10687 (adjust_before_replace): Deleted.
427ec082 10688
c9671f81
KH
10689 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
10690 SPLIT_NON_ASCII_CHAR.
10691 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 10692 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
10693 (Fkey_description): Likewise.
10694
10695 * lread.c (read1): On reading multibyte string, be sure to make
10696 all 8-bit chararacters in valid multibyte form.
10697 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
10698
10699 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
10700 unconditionally.
10701
10702 * process.c (Fstart_process): GCPRO current_dir before calling
10703 Ffind_operation_coding_system. Encode arguments here.
10704 (create_process): Don't encode arguments here. Setup
10705 src_multibyte and dst_multibyte members of struct coding.
10706 (read_process_output): Setup src_multibyte and dst_multibyte
10707 members of struct coding. If the output is to multibyte buffer,
10708 always decode the output of the process. Adjust the
52283633 10709 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
10710 (send_process): Setup coding->src_multibyte according to the
10711 multibyteness of the source.
10712
52283633 10713 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
10714 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
10715 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
10716
52283633 10717 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
10718
10719 * w16select.c (Fw16_set_clipboard_data): Setup members
10720 src_multibyte and dst_multibyte of coding. Adjusted for the
10721 change for find_charset_in_str.
10722 (Fw16_get_clipboard_data): Likewise.
10723
10724 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
10725 dst_multibyte of coding.
10726 (x_to_w32_font): Likewise.
10727
10728 * w32select.c (Fw32_set_clipboard_data): Setup members
10729 src_multibyte and dst_multibyte of coding. Adjusted for the
10730 change for find_charset_in_str.
10731 (Fw32_get_clipboard_data): Likewise.
10732
10733 * xdisp.c (get_next_display_element): Handle 8-bit characters
10734 correctly.
52283633
SM
10735 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
10736 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
10737
10738 * xselect.c (selection_data_to_lisp_data): Setup members
10739 src_multibyte and dst_multibyte of coding. Adjusted for the
10740 change for find_charset_in_str.
10741 (lisp_data_to_selection_data): Likewise.
10742
5f64c9e0
GM
107432000-05-19 Gerd Moellmann <gerd@gnu.org>
10744
52283633 10745 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 10746
5f64c9e0
GM
10747 * dispextern.h (Vimage_types): Add extern declaration.
10748
10749 * xdisp.c (Vimage_types): Moved here from xfns.c.
10750 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
10751
10752 * xfns.c (Vimages_types): Moved to xdisp.c.
10753 (syms_of_xfns): Move `image-types' to xdisp.c.
10754
10755 * w32fns.c (Vimage_types): Removed.
10756 (syms_of_w32fns): Remove `image-types'.
10757
813086ea
KH
107582000-05-18 Kenichi Handa <handa@etl.go.jp>
10759
10760 * fns.c (map_char_table): Pay attention to character number of
10761 charset. Check the validity of charset at the first level. For
10762 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
10763 the default value.
10764
10765 * fontset.c: Include "buffer.h".
10766 (fs_load_font): If the face has fontset, record the face ID in
10767 that fontset.
10768 (Finternal_char_font): New function.
10769 (accumulate_font_info): New function.
10770 (Ffontset_info): Rewritten for the new fontset implementation.
10771 (syms_of_fontset): Register Vdefault_fontset in the first element
10772 of Vfontset_table. Include Vdefault_fontset in
10773 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
10774 function.
10775
bdaebbf0
DL
107762000-05-16 Dave Love <fx@gnu.org>
10777
10778 * m/iris5d.h: Deleted -- unused.
10779
cb613bb8
GM
107802000-05-16 Gerd Moellmann <gerd@gnu.org>
10781
b15f3b77
GM
10782 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
10783 `invalid' instead of `illegal'.
10784
10785 * indent.c (Fmove_to_column): When ending within a tab, insert
10786 spaces first so that markers at the end of the tab get adjusted.
10787
835c1b36
GM
10788 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
10789 buffer list that wasn't selected in that frame.
10790
cb613bb8
GM
10791 * filelock.c (get_boot_time): To obtain an 8 char file name, which
10792 is needed on mescaline, use a 2 char prefix, and call
10793 make_temp_name with second arg non-zero.
10794
10795 * fileio.c (make_temp_name): New function, extracted from
10796 Fmake_temp_name.
10797 (Fmake_temp_name): Use it.
10798
f685bea9
EZ
107992000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
10800
52283633 10801 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 10802
a1b8d58b
GM
108032000-05-15 Gerd Moellmann <gerd@gnu.org>
10804
10805 * Makefile.in (lisp): Add env.elc.
10806
10807 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
10808
a265079f
GM
108092000-05-12 Gerd Moellmann <gerd@gnu.org>
10810
10811 * search.c (Freplace_match): Handle case of `\N' in the
10812 replacement when there's no group N.
10813
da4496b6
GM
108142000-05-11 Gerd Moellmann <gerd@gnu.org>
10815
0ace421a
GM
10816 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
10817 of the message to message_dolog.
10818
1172eb8d
GM
10819 * keyboard.c (read_char): Don't clear current message for help
10820 events; let the code handling help events handle this. Change
10821 code detecting help events that should be ignored.
10822
da4496b6
GM
10823 * xdisp.c (handle_single_display_prop): Don't try to set PT if
10824 we're interating over a string.
10825
0623e40f
DL
108262000-05-09 Dave Love <fx@gnu.org>
10827
10828 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
10829 that offset before writing. Move gcpro region past call of
10830 Ffile_regular_p.
10831
bae2503b
DL
108322000-05-04 Dave Love <fx@gnu.org>
10833
10834 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
10835
ec82fb2f
GM
108362000-05-04 Gerd Moellmann <gerd@gnu.org>
10837
10838 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
10839 of inserted characters when BUF equals the current buffer, and PT
10840 is in front of or equal to FROM.
10841
cbf18892
GM
108422000-05-03 Gerd Moellmann <gerd@gnu.org>
10843
4ff40dd0
GM
10844 * xdisp.c (handle_single_display_prop): If display property value
10845 is invalid, or something not supported on the frame, restore
10846 iterator's position to what it was initially. Make sure to return
10847 0 for invalid and unsupported property values.
10848
cbf18892
GM
10849 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
10850 that x_per_char_metric returns null.
10851
1b0672c3
GM
108522000-05-02 Gerd Moellmann <gerd@gnu.org>
10853
576da55d
GM
10854 * xterm.h (struct face): Add forward declaration.
10855 (struct image): Ditto.
10856 (image_ascent): Add prototype.
10857
10858 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
10859 (x_draw_image_relief, x_draw_image_foreground_1): Call function
10860 image_ascent instead of using IMAGE_ASCENT.
10861
10862 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
10863 (IMAGE_ASCENT): Removed.
10864
10865 * xfns.c (Qcenter): New variable.
10866 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
10867 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
10868 (image_ascent): New function.
10869 (lookup_image): Recognize `:ascent center'.
10870 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
10871 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
10872 (xbm_load): Don't set image's ascent here.
10873 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
10874 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
10875 check ascent values here.
10876 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
10877 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
10878 (syms_of_xfns): Initialize Qcenter.
10879
1b0672c3
GM
10880 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
10881 to the limits, increase the limits.
10882
0d7811ed
KH
108832000-05-01 Kenichi Handa <handa@etl.go.jp>
10884
10885 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 10886 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 10887
a943a5ca
GM
108882000-04-28 Gerd Moellmann <gerd@gnu.org>
10889
10890 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
10891 taller than the window.
10892
5dba1e29
KH
108932000-04-28 Kenichi Handa <handa@etl.go.jp>
10894
10895 * xfaces.c (realize_x_face): Fix the argument of the second
10896 xassert. BASE_FACE may not be a face for ASCII.
10897
353964e3
GM
108982000-04-27 Gerd Moellmann <gerd@gnu.org>
10899
c76e04a8
GM
10900 * print.c (print_object): Treat print-length < 0 as nil.
10901
10902 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
10903
10904 * s/freebsd.h (TERMCAP_OBJ): Removed.
10905 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
10906
10907 * lread.c (read1): Don't treat period followed by certain
10908 characters as symbol start.
10909
10910 * xfns.c (slurp_file): New function.
10911 (xbm_image_p): Handle case of in-memory XBM files.
10912 (xbm_scan): Rewritten to work on memory buffers instead of files.
10913 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
10914 Work on memory buffers instead of files. If DATA is null test
10915 if buffer looks like an in-memory XBM file.
10916 (xbm_load_image): Renamed from xbm_load_image_file. Work on
10917 memory buffers instead of files.
10918 (xbm_file_p): New function.
10919 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
10920
353964e3
GM
10921 * lread.c (end_of_file_error): New function.
10922 (read1): Call it instead of signaling `end-of-file' directly.
10923
427ec082 10924 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
10925 with Fprinc instead of Fprin1.
10926
24d744ac
KR
109272000-04-26 Ken Raeburn <raeburn@gnu.org>
10928
10929 * window.c (freeze_window_start): Check that minibuffer scroll
10930 window isn't nil before extracting the window structure pointer
10931 from it.
10932
10933 * undo.c (record_delete): If we hit the end of the undo list, stop
10934 picking elements apart.
10935
7464346d
GM
109362000-04-26 Gerd Moellmann <gerd@gnu.org>
10937
10938 * xdisp.c (display_line): If lines are continued, restore
10939 iterator's ascent/descent information to the values before the
10940 first glyph not fitting on the line.
10941
612839b6
GM
109422000-04-25 Gerd Moellmann <gerd@gnu.org>
10943
10944 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 10945 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
10946
10947 * dispnew.c (increment_matrix_positions): Renamed from
10948 increment_glyph_matrix_buffer_positions.
10949 (increment_row_positions): Renamed from
10950 increment_glyph_row_buffer_positions.
10951
10952 * dispextern.h: Change names of renamed functions from dispnew.c
10953 in prototypes.
10954
cc181e95
GM
109552000-04-24 Gerd Moellmann <gerd@gnu.org>
10956
abfcc168
GM
10957 * fileio.c (Fdo_auto_save): Create directories for auto-save
10958 list file if necessary.
10959
cc181e95
GM
10960 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
10961 from buffer or frame.
10962 (automatic_hscrolling_p): New variable.
10963 (hscroll_windows): Scroll windows horizontally only if automatic
10964 hscrolling is allowed.
10965 (syms_of_xdisp): New variable `automatic-hscrolling'.
10966
10967 * frame.h (struct frame): Add member extra_line_spacing.
10968
10969 * xfns.c (x_set_line_spacing): New function.
10970 (Fx_create_frame): Set line spacing from resources.
10971 (Qline_spacing): New variable.
10972 (syms_of_xfns): Initialize Qline_spacing.
427ec082 10973
cc181e95
GM
10974 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
10975
10976 * buffer.c (init_buffer_once): Handle extra_line_spacing.
10977 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 10978 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
10979 extra_line_spacing from default value.
10980 (init_buffer_once): Initialize default value of extra_line_spacing.
10981
10982 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
10983 and extra3.
10984
10985 * xterm.c (x_produce_glyphs): Remove reference to struct it's
10986 prompt_width. Add extra line spacing.
10987
10988 * term.c (produce_glyphs): Remove reference to struct it's
10989 prompt_width.
10990
10991 * dispextern.h (struct it): Remove member prompt_width, add
10992 extra_line_spacing.
10993
58827478
GM
109942000-04-22 Gerd Moellmann <gerd@gnu.org>
10995
10996 * dispnew.c (update_frame_line): When writing a whole line, make
10997 sure cursor is in the right row afterwards, otherwise a use of
10998 capability `ch' in cmgoto might leave the cursor in the row below.
10999
25a87f42
GM
110002000-04-21 Gerd Moellmann <gerd@gnu.org>
11001
11002 * lisp.h (struct Lisp_Buffer_Cons): Remove.
11003
11004 * keyboard.c (timer_check): Fix typo in comment.
11005
54edf5c2
KH
110062000-04-21 Kenichi Handa <handa@etl.go.jp>
11007
11008 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
11009 name change: ch -> character.
11010
3a64eef5
GM
110112000-04-20 Gerd Moellmann <gerd@gnu.org>
11012
11013 * keyboard.c (echo_message_buffer): New variable.
11014 (echo_now): Set echo_message_buffer to the echo area buffer used
11015 to display the echo.
11016 (cancel_echoing): Reset echo_message_buffer to nil.
11017 (read_char): Code rewritten that handles canceling an echo or
11018 echoing a dash, respectively.
11019
11020 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
11021 directory doesn't exist.
11022
6142fdcb
DL
110232000-04-19 Dave Love <fx@gnu.org>
11024
11025 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
11026 (concat): Don't allow numeric args.
11027 (Fconcat): Doc change.
6142fdcb 11028
ac6b5352
SM
110292000-04-19 Stefan Monnier <monnier@cs.yale.edu>
11030
11031 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
11032 instead define end_match(1|2) more carefully.
11033 Use GET_CHAR_BEFORE_2 for `begline'.
11034
cb9215e4
GM
110352000-04-19 Gerd Moellmann <gerd@gnu.org>
11036
5e3dac3f
GM
11037 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
11038 on 64-bit systems where NULL is defined as `0'.
11039
11040 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
11041 the `variable argument list' to make it work on Alpha.
11042
cb9215e4
GM
11043 * m/alpha.h (_LP64) [!_LP64]: Define.
11044 (ORDINARY_LINK): Define for NetBSD.
11045
11046 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 11047
f532dca0
DL
110482000-04-19 Dave Love <fx@gnu.org>
11049
c750667e
DL
11050 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
11051 change.
11052
11053 * Makefile.in (LIBS): Don't use.
11054 (GETLOADAVG_OBJ): Define again.
11055 (otherobj): Add GETLOADAVG_OBJ.
11056
f532dca0
DL
11057 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
11058
1c7e22fd
GM
110592000-04-18 Gerd Moellmann <gerd@gnu.org>
11060
f6d3257b
GM
11061 * lread.c (read_filtered_event): Cancel and start busy cursor.
11062
427ec082 11063 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
11064 that the per-character metrics may be null.
11065
e10f64e7
GM
110662000-04-17 Gerd Moellmann <gerd@gnu.org>
11067
0daee095
GM
11068 * buffer.c (clone_per_buffer_values): New function.
11069 (Fmake_indirect_buffer): Add optional argument CLONE. Call
11070 clone_per_buffer_values if CLONE is not nil.
11071
e10f64e7
GM
11072 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
11073
38687d43
DL
110742000-04-16 Dave Love <fx@gnu.org>
11075
11076 * Makefile.in: Remove obsolete localcpp stuff.
11077 (GETLOADAVG_OBJ): Don't define.
11078 (obj): Move LIBOBJS...
11079 (otherobj): ... to here.
11080 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
11081 whitespace-only lines after the continuation (Irix).
11082
c21c7262
GM
110832000-04-14 Gerd Moellmann <gerd@gnu.org>
11084
11085 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
11086
11087 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
11088
314767c0
DL
110892000-04-14 Dave Love <fx@gnu.org>
11090
11091 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
11092 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
11093 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
11094 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
11095 NLIST_STRUCT.
11096
11097 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
11098 autoconfiscated HAVE_GETLOADAVG.
11099
11100 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
11101 BROKEN_MKTIME.
11102
a2522dca
GM
111032000-04-14 Gerd Moellmann <gerd@gnu.org>
11104
11105 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 11106 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 11107
33744b5d
DL
111082000-04-14 Dave Love <fx@gnu.org>
11109
c21c7262 11110 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
11111 (INTERVAL_SRC): Convert to make variable.
11112 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
11113 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
11114 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
11115 add LIBOBJS.
11116 (SOME_MACHINE_OBJECTS): Remove interval stuff.
11117 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
11118 (shortlisp): Add facemenu, float-sup, frame.
11119 (SOME_MACHINE_LISP): Remove them from here.
11120 (LIBES): Change unused LDLIBS to autoconf LIBS.
11121
11122 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
11123
9d3d5916
KH
111242000-04-14 Kenichi Handa <handa@etl.go.jp>
11125
11126 * composite.c (update_compositions): If FROM and TO are not in a
11127 valid range, do nothing.
11128
198e3c7a
GM
111292000-04-13 Gerd Moellmann <gerd@gnu.org>
11130
52283633 11131 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 11132
52283633 11133 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
11134
11135 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
11136 as TERMCAP_OBJ.
11137
055a28c9
EZ
111382000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
11139
11140 * fileio.c (a_write): Remove redundant semi-colons.
11141 (e_write): Return -1 if failed to write all the data.
11142 This fixes the changes made at 1999-12-15.
11143
f5c75033
DL
111442000-04-12 Dave Love <fx@gnu.org>
11145
11146 * fns.c (mapcar1): Test for null vals to support mapc.
11147 (Fmapc): New function.
11148
0c3cfc51
EZ
111492000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
11150
11151 * msdos.c (NUM_MOUSE_BUTTONS): Define.
11152 (IT_frame_up_to_date): Support the buffer local value of
11153 cursor-type, if defined.
11154
33465a31
DL
111552000-04-10 Dave Love <fx@gnu.org>
11156
11157 * editfns.c (preceding-char, following-char): Doc fix.
11158
6ed56568
KR
111592000-04-10 Ken Raeburn <raeburn@gnu.org>
11160
11161 * Makefile.in (temacs): Revert 2000-03-12 change.
11162
7cf80d4e
JR
111632000-04-10 Jason Rumney <jasonr@gnu.org>
11164
11165 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
11166
34f3f342
GM
111672000-04-10 Gerd Moellmann <gerd@gnu.org>
11168
1a1b1895
GM
11169 * xdisp.c (setup_echo_area_for_printing): Choose an echo
11170 area buffer, if it's not set up yet.
11171
34f3f342
GM
11172 * indent.c (compute_motion): Set immediate_quit.
11173
be0dbdab
GM
111742000-04-09 Gerd Moellmann <gerd@gnu.org>
11175
52283633 11176 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
11177 (realize_tty_face): Suppress boldness if colors are the inverse of
11178 the default colors, and tty_suppress_bold_inverse_default_colors_p
11179 is set.
11180 (Ftty_suppress_bold_inverse_default_colors): New function.
11181 (syms_of_xfaces): Defsubr it.
11182
be0dbdab
GM
11183 * buffer.c (Frestore_buffer_modified_p): New function.
11184 (syms_of_buffer): Defsubr it.
11185
e8413c3b
KR
111862000-04-08 Ken Raeburn <raeburn@gnu.org>
11187
87f67317
KR
11188 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
11189 charset id (int) argument, not a charset (Lisp_Object).
11190
e8413c3b
KR
11191 * coding.h (code_convert_string): Declare.
11192 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
11193 object, as the fourth argument to code_convert_string.
11194
52283633 11195 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
11196 (Fset_fontset_font): Use EQ to compare lisp objects.
11197
7c752c80
KR
111982000-04-05 Ken Raeburn <raeburn@gnu.org>
11199
c0333abc
KR
11200 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
11201 a pointer that looks like a lisp object.
11202 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
11203 zero, instead see whether it's an integer object, since they can't
11204 have intervals.
11205 (GET_INTERVAL_OBJECT): Simply assign to the destination.
11206
52283633
SM
11207 * dispnew.c (allocate_matrices_for_frame_redisplay)
11208 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
11209 to convert between (unsigned) int values and lisp integers.
11210 * keyboard.c (read_key_sequence): Likewise.
11211 * lread.c (substitute_object_recurse): Likewise.
11212 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
11213 * minibuf.c (do_completion, Fminibuffer_complete_word)
11214 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
11215 * term.c (produce_special_glyphs): Likewise.
11216
11217 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
11218 * print.c (print_preprocess, print_object): Likewise.
11219
11220 * search.c (compile_pattern): Use NILP when checking for nil.
11221
74e49b38
KR
11222 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
11223 __OPTIMIZE__]: Provide a GNU C macro version that handles
11224 lisp-object unions.
11225 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
11226 field, to better cope with ENABLE_CHECKING and calls that modify a
11227 Lisp_Object using its old value.
11228
685e5ed2
GM
112292000-04-04 Gerd Moellmann <gerd@gnu.org>
11230
c407c570
GM
11231 * window.c (compare_window_configurations): Signal an error
11232 if parameters C1 or C2 aren't window configurations.
11233
685e5ed2
GM
11234 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
11235 AFTER_POTENTIAL_GC calls around calls to functions that can
11236 signal an error and thus invoke the debugger.
11237
587a49ab
GM
112382000-04-03 Gerd Moellmann <gerd@gnu.org>
11239
62f20204
GM
11240 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
11241 an error if decoding fails.
11242
587a49ab
GM
11243 * keyboard.c (lispy_mouse_names): Variable removed.
11244 (Vlispy_mouse_stem): New variable.
11245 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
11246 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
11247 for any mouse button number. Increase size of mouse_syms and
11248 button_down_location as needed. Call modify_event_symbol with
11249 different arguments.
11250 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
11251 Call modify_event_symbol with different arguments.
11252 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
11253 for any button number. Call modify_event_symbol with different
11254 arguments.
11255 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
11256 Accept a string for NAME_ALIST_OR_STEM.
11257
11258 * lisp.h (larger_vector): Add prototype.
11259
11260 * fns.c (larger_vector): Make externally visible.
11261
11262 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
11263
2d1675e4
SM
112642000-04-02 Stefan Monnier <monnier@cs.yale.edu>
11265
11266 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
11267 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
11268 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
11269 we are between str1 and str2.
11270 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
11271 (PATFETCH): Use `TRANSLATE'.
11272 (PATFETCH_RAW): Fetch multibyte char if applicable.
11273 (PATUNFETCH): Remove.
11274 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
11275 When writing a char, write it directly into the pattern buffer rather
11276 than going needlessly through a temp char-array.
11277 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
11278 multibyte magic and remove the useless `#ifdef emacs'.
11279 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
11280 buffer.
11281
11282 * regex.h (struct re_pattern_buffer): Make field `multibyte'
11283 conditional on `emacs'.
11284
11285 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
11286
cc2d8c6b
KR
112872000-04-01 Ken Raeburn <raeburn@gnu.org>
11288
11289 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
11290 non-union-type versions of XMARK and friends here, because XMARK
11291 and friends won't work on an integer field if NO_UNION_TYPE is not
11292 defined.
52283633 11293 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 11294
52283633 11295 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
11296 (syms_of_composite): Delete local var NARGS, pass an int as first
11297 argument to Fmake_hash_table.
11298
2387b382
KR
11299 * editfns.c (text_property_stickiness): Use NILP to test
11300 Lisp_Object boolean value.
11301 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
11302 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
11303 problems reading from and changing the same lisp value in an
11304 XSETSTRING call.
11305
27660e89
GM
113062000-04-01 Gerd Moellmann <gerd@gnu.org>
11307
11308 * term.c (TN_no_color_video): New variable.
11309 (term_init): Intitialize TN_no_color_video.
11310 (enum no_color_bit): New enumeration.
11311 (MAY_USE_WITH_COLORS_P): New macro.
11312 (turn_on_face): Use it to determine if attributes may be used
11313 combined with colors.
11314
3578db3c
KR
113152000-04-01 Ken Raeburn <raeburn@gnu.org>
11316
11317 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 11318 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
11319 (enlarge_window): Variable sizep now points to Lisp_Object. Use
11320 proper accessor macros.
11321 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
11322 (grow_mini_window): Fix typo getting int value of root->height.
11323
6fc556fd
KR
11324 * xdisp.c (compute_string_pos): Fix order of arguments to
11325 string_pos_nchars_ahead.
11326 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
11327 count arg to variable-arg routines like Frun_hook_with_args and
11328 Fformat.
587a49ab
GM
11329 (back_to_previous_visible_line_start)
11330 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
11331 fixed-arg routines like Fget_char_property and Fmake_string.
11332 (reconsider_clip_changes): Use XINT when comparing integer lisp
11333 objects, or passing them as int arguments.
587a49ab
GM
11334 (mark_window_display_accurate, insert_left_trunc_glyphs)
11335 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
11336 storing or passing integer values as lisp objects.
11337 (set_cursor_from_row, highlight_trailing_whitespace): Use
11338 INTEGERP, not implicit test against zero, for glyph object.
11339 (try_window_id): Don't use make_number when we want an int value.
11340
11341 * xfaces.c (xlfd_symbolic_value): Make last argument a
11342 Lisp_Object, to be consistent with callers.
11343 (Fbitmap_spec_p): Use XINT to get numeric value of height.
11344 (lface_hash): Apply XFASTINT to lisp values before folding in.
11345
11346 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
11347 fill in window width and height. Pass an int, not a lisp object,
11348 as first arg to Finsert.
11349
6e7b2457
GM
113502000-04-01 Gerd Moellmann <gerd@gnu.org>
11351
610d841e
GM
11352 * xfaces.c (realize_basic_faces): Block input while realizing
11353 the faces.
11354
6e7b2457
GM
11355 * keyboard.c (lispy_mouse_names): Add additional mouse names.
11356
11357 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
11358
aa110c0c
GM
113592000-03-31 Gerd Moellmann <gerd@gnu.org>
11360
11361 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 11362 or ASCII, handle case that per-char metric is null.
aa110c0c 11363
8801a864
KR
113642000-03-30 Ken Raeburn <raeburn@gnu.org>
11365
c6129d7e
KR
11366 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
11367
52283633
SM
11368 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
11369 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
11370 pointer, using eassert.
11371 * frame.h (XFRAME): Likewise.
11372
52283633
SM
11373 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
11374 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
11375 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 11376 * data.c (set_internal): Likewise.
52283633
SM
11377 * dispextern.h (WINDOW_WANTS_MODELINE_P)
11378 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
11379 * fileio.c (auto_save_1): Likewise.
11380 * insdel.c (check_markers): Likewise.
11381 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
11382 * undo.c (record_insert): Likewise.
11383 * vmsproc.c (child_sig): Likewise.
11384 * window.c (unshow_buffer, window_loop): Likewise.
11385 * xterm.c (x_erase_phys_cursor): Likewise.
11386
8e7af858
GM
113872000-03-30 Gerd Moellmann <gerd@gnu.org>
11388
11389 * xfns.c (free_image_cache): Free the cache structure itself
11390 last, after all its members have been freed.
11391
11392 * lisp.h (xstrdup): Add prototype.
11393
11394 * alloc.c (xstrdup): Moved here from xfaces.c.
11395 (allocating_for_lisp): Variable removed.
52283633 11396 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
11397
11398 * xfaces.c (realize_tty_face): Use find_symbol_value instead
11399 of Fsymbol_value.
11400 (xstrdup): Moved to alloc.c.
11401
e0b8c689
KR
114022000-03-29 Ken Raeburn <raeburn@gnu.org>
11403
b96f9fb7
KR
11404 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
11405
11406 * emacs.c (main): Fix sense of no-loadup test.
11407
e0b8c689
KR
11408 * config.in (ENABLE_CHECKING): Undef.
11409
11410 * lisp.h (struct interval): Replace "parent" field with a union of
11411 interval pointer and Lisp_Object; add new bitfield to use as
11412 discriminant. Change other flag fields to bitfields.
11413 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
11414 is defined and the supplied test fails, print a message and abort.
11415 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
11416
11417 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
11418 pointers; abort if the value looks like a lisp object.
52283633
SM
11419 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
11420 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
11421 Modify for new interval parent definition.
11422
52283633
SM
11423 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
11424 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
11425 addressable lisp object in the interval structure.
11426 (die): New function.
11427 (suppress_checking): New variable.
11428
11429 * intervals.c (interval_start_pos): Just return 0 if there's no
11430 parent object.
11431
f83c5440
GM
114322000-03-29 Gerd Moellmann <gerd@gnu.org>
11433
11434 * lread.c (read1): Accept `.' (period) as symbol start like in CL
11435 and earlier Emacs versions.
11436
11437 * keyboard.c (Ftop_level): Cancel busy-cursor.
11438
11439 * eval.c (call_debugger): Cancel busy-cursor.
11440
fdce64ff
KH
114412000-03-29 Kenichi Handa <handa@etl.go.jp>
11442
11443 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 11444 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 11445
f6a3f532
SM
114462000-03-28 Stefan Monnier <monnier@cs.yale.edu>
11447
11448 * regex.c (analyse_first): New function obtained by ripping out most
11449 of re_compile_fastmap and generalizing it a little bit so that it
11450 can also just return whether a given (sub)pattern can match the empty
11451 string or not.
11452 (regex_compile): Use `analyse_first' to decide whether the loop-check
11453 needs to be done or not for *, +, *? and +? (the loop check is costly
11454 for non-greedy repetition).
11455 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
11456
e9b309ac
DL
114572000-03-28 Dave Love <fx@gnu.org>
11458
52283633 11459 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 11460
e9b309ac
DL
11461 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
11462
ed0767d8
SM
114632000-03-27 Stefan Monnier <monnier@cs.yale.edu>
11464
11465 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
11466 an expression.
11467 (enum re_opcode_t): Update description of succeed_n.
11468 (PATFETCH): Always define.
11469 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
11470 operators, char classes, shy-groups and intervals).
11471 Optimize special cases of intervals so as to only use succeed_n and
11472 jump_n when really needed.
11473 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
11474 that we don't have to handle the special cases any more.
11475 Simplify on_failure_jump handling as well.
11476
e11e7e46
JR
114772000-03-28 Jason Rumney <jasonr@gnu.org>
11478
11479 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
11480
88faab89
GM
114812000-03-27 Gerd Moellmann <gerd@gnu.org>
11482
182ff242
GM
11483 * s/freebsd.h (GC_SETJMP_WORKS): Define.
11484
11485 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 11486
182ff242
GM
11487 * alloc.c (mark_maybe_object): New function.
11488 (mark_memory): Use it.
11489 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
11490 (setjmp_tested_p, longjmp_done): New variables.
11491 (test_setjmp): New function.
11492 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
11493 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
11494
c1005d06
GM
11495 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
11496 to DEC_TEXT_POS and INC_TEXT_POS.
11497
11498 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
11499 with parameter MULTIBYTE_P.
11500
52283633 11501 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 11502
7439e5b9 11503 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
11504 buffers because it looks for multibyte character byte sequences
11505 which don't exist in unibyte text.
7439e5b9 11506
d9c545da
GM
11507 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
11508
11fd416e 11509 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
11510 [DEBUG_X_COLORS]: New functions.
11511 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
11512
11513 * xfns.c (x_set_cursor_color): Get color reference counts right.
11514
11515 * xterm.c (x_copy_color): New function.
11516 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
11517
11518 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
11519 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
11520 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
11521 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
11522 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
11523 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
11524 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
11525 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
11526 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
11527 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
11528
11fd416e
GM
11529 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
11530 names for handling per-buffer variables.
d9c545da
GM
11531
11532 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
11533 instead of MAX_BUFFER_LOCAL_VARS.
11534 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
11535
11536 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
11537
88faab89
GM
11538 * xfns.c (x_specified_cursor_type): New function.
11539 (x_set_cursor_type): Use it.
11540
11541 * buffer.h (struct buffer): Add cursor_type.
11542
d80f42b7
SM
115432000-03-26 Stefan Monnier <monnier@cs.yale.edu>
11544
11545 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
11546 (print_partial_compiled_pattern, re_compile_fastmap):
11547 Handle new opcode.
d80f42b7
SM
11548 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
11549 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
11550 executing it as well as when popping it off the stack to find infinite
11551 loops in non-greedy repetition operators.
11552
89e80928
GM
115532000-03-26 Gerd Moellmann <gerd@gnu.org>
11554
3d4ff2dd
GM
11555 * doc.c (Qfunction_documentation): New variable.
11556 (syms_of_doc): Initialize Qfunction_documentation.
11557 (Fdocumentation): If FUNCTION is a symbol with non-nil
11558 `function-documentation' property, return a documentation derived
11559 from that.
11560
bd96bd79
GM
11561 * buffer.c (syms_of_buffer): Add default-cursor-type.
11562 (init_buffer_once): Don't let cursor_type have a local value
11563 in every buffer.
11564
19d1bc27
GM
11565 * xterm.c (x_display_and_set_cursor): Choose cursor depending
11566 on buffer-local value of cursor_type.
11567 (x_draw_bar_cursor): Add parameter WIDTH.
11568
11569 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
11570 (init_buffer_once): Set default cursor_type value to t.
11571 Mark cursor_type as local everywhere.
11572 (syms_of_buffer): New per-buffer variable cursor-type.
11573
89e80928
GM
11574 * buffer.h (struct buffer): Remove member local_var_flags,
11575 add local_flags.
11576 (MAX_BUFFER_LOCAL_VARS): New macro.
11577 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
11578 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
11579 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
11580 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
11581
52283633 11582 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
11583
11584 * category.c (Fset_category_table): Use new macros for per-buffer
11585 variables.
11586
11587 * buffer.c (buffer_permanent_local_flags): Make a char array.
11588 (max_buffer_local_idx): New variable.
11589 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
11590 for new handling of per-buffer variables.
11591 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
11592 (init_buffer_once): Initialize per-buffer vars differently.
11593 Set max_buffer_local_idx.
11594
11595 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
11596 variables.
11597
52283633 11598 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
11599
11600 * data.c (do_symval_forwarding, store_symval_forwarding)
11601 (find_symbol_value, set_internal, default_value, Fset_default)
11602 (Fkill_local_variable, Flocal_variable_p): Use new macros for
11603 per-buffer variables.
11604
11605 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
11606
9a0dd3dc
GM
116072000-03-24 Gerd Moellmann <gerd@gnu.org>
11608
b68c375f
GM
11609 * xterm.c (x_term_init): Unblock input around call1 of
11610 Qvendor_specific_keysyms.
11611
9a0dd3dc
GM
11612 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
11613 (find_defun_start): Consider an open parenthesis in column 0
11614 a defun start only if open_paren_in_column_0_is_defun_start is set.
11615 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
11616
7973e637
SM
116172000-03-24 Stefan Monnier <monnier@cs.yale.edu>
11618
11619 * eval.c (Fautoload): Add entry in load-history (if after dump).
11620 * lread.c (load-history): Update docstring.
11621
39210e90
GM
116222000-03-24 Gerd Moellmann <gerd@gnu.org>
11623
11624 * indent.c (Fvertical_motion): Always use the current buffer.
11625 Temporarily change the window's buffer, if necessary.
11626
72db3ab5
GM
116272000-03-23 Gerd Moellmann <gerd@gnu.org>
11628
11629 * xterm.c (fast_find_position): Make sure not to consider rows
11630 not visible in the window.
11631
990b2375
SM
116322000-03-22 Stefan Monnier <monnier@cs.yale.edu>
11633
11634 * regex.c (enum syntaxcode): Provide default for non-Emacs.
11635 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
11636
ff4df011
JR
116372000-03-22 Jason Rumney <jasonr@gnu.org>
11638
11639 * w32menu.c (single_submenu): Set help string to NULL if none.
11640 (w32_menu_show): Set help string correctly.
11641 (add-menu-item): Set help string in MIIM_DATA for menu item.
11642 Load SetMenuItemInfoA explicitly.
11643 (w32_menu_display_help): New function.
427ec082 11644
ff4df011
JR
11645 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
11646 (QCdata): Moved to xdisp.c.
11647
11648 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
11649 (Vw32_charset_to_codepage_alist): Removed.
11650 (Vw32_charset_info_alist): New variable.
52283633
SM
11651 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
11652 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
11653 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
11654 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
11655 with TODO comment.
11656 (w32_codepage_for_font): Use Vw32_charset_info_alist.
11657 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
11658 Define Vw32_charset_info_alist and w32_charset symbols.
11659
116602000-03-22 Jason Rumney <jasonr@gnu.org>
11661
11662 * makefile.nt (w32bdf.obj): Update dependencies.
11663
11664 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
11665
11666 * w32fns.c: Include fontset.h after dispextern.h.
11667 (Fx_create_frame): Do not create fontset.
11668 (w32_load_system_font): Doc fix.
11669 (Fx_close_connection): Free full_name if it is not shared.
11670
11671 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
11672 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
11673 Callers updated.
ff4df011
JR
11674 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
11675 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
11676 (w32_font_is_double_byte): New function, needs body.
11677 (x_append_glyph): Set glyph->glyph_not_available_p.
11678 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
11679 it->charset. If it->multibyte_p is zero and it->c is a multibyte
11680 character, convert it to a unibyte character.
11681 (struct glyph_string): Delete member `charset'.
11682 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
11683 calculating it is found.
11684 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
11685 the case that per char metric is not available correctly.
11686 (x_fill_glyph_string): Handle the case that the specific glyph is
11687 not available correctly.
11688 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
11689 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
11690 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
11691 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
11692 fontset. Don't call FS_LOAD_FONT.
11693
439d5cb4
KR
116942000-03-22 Ken Raeburn <raeburn@gnu.org>
11695
11696 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
11697 (INT_LISPLIKE): New macro.
11698 (NULL_INTERVAL_P): Use it.
52283633
SM
11699 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
11700 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
11701 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
11702
11703 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
11704 explicit references to "parent" field of struct interval and
11705 associated unclean type conversions.
52283633
SM
11706 * intervals.c (create_root_interval, root_interval, rotate_right)
11707 (rotate_left, balance_possible_root_interval, split_interval_right)
11708 (split_interval_left, interval_start_pos, find_interval)
11709 (next_interval, previous_interval, update_interval)
11710 (adjust_intervals_for_insertion, delete_node, delete_interval)
11711 (adjust_intervals_for_deletion, merge_interval_right)
11712 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
11713 (copy_intervals_to_string): Likewise.
439d5cb4
KR
11714 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
11715 Likewise.
11716 * syntax.c (update_syntax_table): Likewise.
11717
11718 * intervals.c (reproduce_tree_obj): New function, like
11719 reproduce_tree but takes a Lisp_Object for the parent. Declare
11720 with prototype.
11721 (graft_intervals_into_buffer): Use it when appropriate.
11722 (reproduce_tree): Declare with prototype.
11723 (balance_possible_root_interval): Check that the parent is a lisp
11724 object before trying to examine its type.
11725
ee1c5b21
GM
117262000-03-22 Gerd Moellmann <gerd@gnu.org>
11727
11728 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
11729 as strings only if both are known to be strings.
11730
11731 * s/openbsd.h (LIBS_TERMCAP): Undef.
11732
1fb352e0
SM
117332000-03-21 Stefan Monnier <monnier@cs.yale.edu>
11734
11735 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
11736 definitions for non-Emacs compilation.
11737 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
11738 outside of `#ifdef emacs'.
11739 (print_partial_compiled_pattern): Update.
11740 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
11741 (re_compile_fastmap): Merge handling of charset and charset_not (for
11742 emacs and non-emacs compilation as well).
11743 Similarly for (not)categoryspec and (not)syntaxspec.
11744 Don't use the fastmap when reaching `anychar' since the added
11745 complexity is not justified.
11746 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
11747 and (not)syntaxspec. Merge (not)categoryspec.
11748
fdaa1f77
KH
117492000-03-22 Kenichi Handa <handa@etl.go.jp>
11750
52283633
SM
11751 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
11752 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 11753 --without-x.
fdaa1f77 11754
d152fb46
DL
117552000-03-21 Dave Love <fx@gnu.org>
11756
11757 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
11758 doc string.
11759
d2cafc8c
GM
117602000-03-21 Gerd Moellmann <gerd@gnu.org>
11761
11762 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
11763 (lface_fully_specified_p): Don't check contents of
11764 LFACE_FONT_INDEX because that attribute is optional.
11765 (realize_x_face): Remove now unwarranted xassert.
11766
9111d4b5
KH
117672000-03-21 Kenichi HANDA <handa@etl.go.jp>
11768
11769 The following changes are to make font selection based on
11770 characters, not charset. In addition, they recover fontset
11771 facilities while utilizing the new font selection mechanism.
11772
6c4bfdc0
KH
11773 * Makefile.in (fontset.o): Depend on dispextern.h.
11774
11775 * alloc.c (mark_face_cache): Don't mark face->registry.
11776
9111d4b5
KH
11777 * dispextern.h (struct glyph): New member glyph_not_available_p.
11778 Use 22 bits for face_id.
11779 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
11780 (struct face): Delete member registry, new member ascii_face.
11781 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
11782 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
11783 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 11784 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
11785
11786 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
11787 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
11788 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
11789 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 11790 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
11791 (fs_free_face_fontset, fontset_font_pattern)
11792 (face_suitable_for_char_p, face_for_char)
11793 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
11794 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
11795 (FS_LOAD_FACE_FONT): New macro.
11796
11797 * fontset.c: All codes rewritten or adjusted for the change of
11798 fontset implementation. Now fontset is represented by char table.
52283633
SM
11799 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
11800 Variables removed.
9111d4b5 11801 (my_strcasecmp): Function removed.
52283633 11802 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 11803 (AREF, ASIZE): New macros.
52283633
SM
11804 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
11805 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
11806 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
11807 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
11808 (fontset_id_valid_p, font_family_registry, fontset_name)
11809 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
11810 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
11811 New functions.
11812 (fs_load_font): New arg FACE. Caller changed.
11813 (fs_query_fontset): Argument changed. Caller changed.
11814 (Fquery_fontset): call fs_query_fontset.
11815 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
11816 Functions removed.
52283633
SM
11817 (clear_fontset_elements, check_registry_encoding)
11818 (check_fontset_name): New functions.
9111d4b5
KH
11819 (syms_of_fontset): Set char-table-extra-slots property of fontset
11820 to 3. Staticpro and initialize Vfontset_table and
11821 Vdefault_fontset. Defsubr fontset_font and fontset_list.
11822
11823 * frame.h (struct frame): Member `fontset_data' removed.
11824 (FRAME_FONTSET_DATA): Macro removed.
11825
11826 * frame.c (make_frame): Don't allocate f->fontset_data.
11827 (Fdelete_frame): Don't free f->fontset_data.
11828
6c4bfdc0
KH
11829 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
11830
9111d4b5
KH
11831 * xdisp.c (charset_at_position): Function removed.
11832 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
11833 (handle_face_prop, reseat_to_string, set_iterator_to_next)
11834 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
11835 Likewise.
11836 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
11837 FACE_FOR_CHARSET.
52283633
SM
11838 (get_next_display_element, append_space)
11839 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
11840
11841 * xfaces.c (Qx_charset_registry, Vface_default_registry):
11842 Variables removed.
11843 (clear_font_table, frame_update_line_height, load_face_font):
11844 Adjusted for the change of fontset implementation.
11845 (load_face_fontset_font): Function removed.
11846 (pixel_point_size): New function.
11847 (font_list): Argument type changed. Caller changed.
11848 (LFACE_FONT): New macro.
11849 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
11850 (set_lface_from_font_name): Type of arg FONTNAME is changed to
11851 Lisp_Object. Determine the font name by actually loading a font
11852 by the specified pattern. Set LFACE_FONT (lface) to the specified
11853 pattern. Even if a font is not found, don't try alternatives.
11854 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
11855 (set_font_frame_param): If `font' is specified in lface, use it.
11856 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
11857 (lface_same_font_attributes_p): Likewise.
11858 (make_realized_face): Arguent changed. Caller changed. Set
11859 face->ascii_face to face itself.
11860 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
11861 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
11862 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
11863 (free_realized_multibyte_face): New function.
11864 (lookup_face, lookup_named_face, lookup_derived_face): Argument
11865 changed. Caller changed.
11866 (try_font_list): Argument type changed.
11867 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
11868 (choose_face_font): Argument changed. Handle fontset properly.
11869 (choose_face_fontset_font): Function removed.
11870 (realize_default_face, realize_named_face): Don't remove the
11871 former face here.
11872 (realize_face): Argument changed. Caller changed. Remove face
52283633 11873 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
11874 (realize_x_face): Argument changed. Caller changed. For a
11875 multibyte character, share fontset with base_face. For a single
52283633 11876 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
11877 (realize_tty_face): Argument changed. Caller changed.
11878 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
11879 (face_at_buffer_position): Don't check multibyte_p for returning
11880 DEFAULT_FACE_ID.
11881 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
11882 FACE_SUITABLE_FOR_CHARSET_P.
11883 (syms_of_xfaces): Remove code for Qx_charset_registry and
11884 Vface_default_registry.
11885
6c4bfdc0
KH
11886 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
11887 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
11888 (x_per_char_metric): Don't try FONT->default_char. Even if
11889 pcm->width is zero, glyph bits may exist.
11890 (x_encode_char): Always initialize char2b->byte1.
11891 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 11892 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
11893 (x_append_glyph): Set glyph->glyph_not_available_p.
11894 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
11895 it->charset. Handle the case that per char metric is not
11896 available. If it->multibyte_p is zero and it->c is a multibyte
11897 character, convert it to a unibyte character.
11898 (struct glyph_string): Delete member `charset'.
11899 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
11900 the case that per char metric is not available correctly.
11901 (x_fill_glyph_string): Handle the case that the specific glyph is
11902 not available correctly.
11903 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
11904 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
11905 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
11906 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
11907 fontset. Don't call FS_LOAD_FONT.
11908
11909 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
11910 (x_create_tip_frame): Likewise.
11911 (Fx_close_connection): Free full_name of font_info.
11912
11913 * fns.c (optimize_sub_char_table): New function.
11914 (Foptimize_char_table): New function.
11915 (syms_of_fns): Defsubr Soptimize_char_table.
11916
b33dd3b0
GM
119172000-03-20 Gerd Moellmann <gerd@gnu.org>
11918
11919 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
11920 only if buffer is displayed in some window.
11921
11922 * xdisp.c (handle_single_display_prop): Initialize local `value'.
11923 (try_window_reusing_current_matrix): Don't call scroll run
11924 function if run's current and desired position are the same;
11925 this prevents cursor flickering.
11926
4e8a9132
SM
119272000-03-19 Stefan Monnier <monnier@cs.yale.edu>
11928
11929 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
11930
11931 * regex.c (RE_STRING_CHAR): New macro.
11932 (GET_CHAR_AFER_2): Remove.
11933 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
11934 (enum re_opcode_t): Remove on_failure_jump_exclusive.
11935 (print_partial_compiled_pattern, re_compile_fastmap)
11936 (re_match_2_internal): Remove on_failure_jump_exclusive.
11937 (regex_compile): Turn optimizable P+ loops into PP*, so that the
11938 optimization only need to work for * (ie. can use of_keep_string_jump).
11939 Remove the special case for .*\n since it is now covered by the general
11940 optimization.
11941 (re_search_2): Don't bother with `room'.
11942 (skip_one_char): New function.
11943 (skip_noops): Simplify since `memory' is not needed any more.
11944 (mutually_exclusive_p): Restructure slightly to use `switch' and
11945 add handling for "all" remaining cases.
11946 (re_match_2_internal): Change on_failure_jump_smart to use
11947 on_failure_keep_string_jump (and redirect the end-of-loop jump)
11948 rather than on_failure_jump_exclusive.
11949
2136fdd4
GM
119502000-03-19 Gerd Moellmann <gerd@gnu.org>
11951
11952 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
11953 number of bits per RGB because it's everywhere used as the depth
11954 of the visual.
11955
11956 * term.c (calculate_costs): Remove code dealing with X frames.
11957
18e21ce8 119582000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
11959
11960 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
11961
d7b511c4
GM
119622000-03-18 Gerd Moellmann <gerd@gnu.org>
11963
11964 * lread.c (read_integer): Unread the last char not consumed.
11965
16b5d424
GM
119662000-03-17 Gerd Moellmann <gerd@gnu.org>
11967
11968 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 11969 which are in the process of being deleted.
16b5d424 11970
1fa28578
GM
119712000-03-16 Gerd Moellmann <gerd@gnu.org>
11972
83488cce
GM
11973 * Makefile.in (mostlyclean): Add `*.core'.
11974 (clean): Add `bootstrap-emacs'.
11975
1fa28578
GM
11976 * lread.c (read_integer): New function.
11977 (read1): Support read syntax #o, #x, #b, #r.
11978
99633e97
SM
119792000-03-15 Stefan Monnier <monnier@cs.yale.edu>
11980
1fa28578
GM
11981 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
11982 make sure POINTER_TO_OFFSET gives the same value before and after
11983 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
11984 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
11985 (debug): Now only active if > 0 rather than if != 0.
11986 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
11987 (print_partial_compiled_pattern): Add missing `succeed' case. Use
11988 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
11989 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
11990 (store_op1, store_op2, insert_op1, insert_op2)
11991 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
11992 (group_in_compile_stack): Move to after its arg's types are
11993 declared and add a prototype.
99633e97 11994 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 11995 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 11996 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
11997 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
11998 indentation of the greedy-op and shy-group code.
99633e97
SM
11999 (at_(beg|end)line_loc_p): Fix argument's types.
12000 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
12001 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
12002 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
12003 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
12004 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
12005 QUIT unconditionally.
99633e97 12006
699238d9
GM
120072000-03-15 Gerd Moellmann <gerd@gnu.org>
12008
12009 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
12010 a sole completion.
12011
12012 * process.c (send_process): Add a hint that the function
12013 can call Lisp code to its comment.
12014
12015 * lread.c (load_dangerous_libraries): New variable.
12016 (Vbytecomp_version_regexp): New variable.
12017 (safe_to_load_p): New function.
12018 (Fload): Handle files not compiled with Emacs specially.
12019 (syms_of_lread): New Lisp variable load-dangerous-libraries.
12020
34e23e5a
GM
120212000-03-14 Gerd Moellmann <gerd@gnu.org>
12022
9c763cca
GM
12023 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
12024
12025 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
12026 support functions only if HAVE_X11R6_XIM is defined.
12027 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
12028
12029 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
12030
12031 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 12032 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
12033 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
12034
12035 * config.in (HAVE_X_I18N): Moved here from xterm.h.
12036 (HAVE_X11R6_XIM): Define.
12037
12038 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
12039
34e23e5a
GM
12040 * xterm.c (x_term_init): Add support for X resource `synchronous'.
12041 If set, call XSynchronize.
12042
66f0296e
SM
120432000-03-13 Stefan Monnier <monnier@cs.yale.edu>
12044
34e23e5a
GM
12045 * regex.c: Declare a new type `re_char' used throughout the code
12046 for the string char type. It's `const unsigned char' to match the
12047 rest of Emacs. Consistently make sure all pointers to strings use
52283633 12048 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 12049 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
12050 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
12051 code duplication.
66f0296e
SM
12052
12053 * charset.h (GET_CHAR_AFTER_2): Remove.
12054 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
12055
854a025c
KR
120562000-03-12 Ken Raeburn <raeburn@gnu.org>
12057
12058 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
12059 variable before the invocation of YMF_PASS_LDFLAGS, in case both
12060 of them try to use backquotes.
12061
b9d2c7e2
DL
120622000-03-12 Dave Love <fx@gnu.org>
12063
12064 * unexelf.c: Restore changes of 1999-10-19.
12065 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
12066 fix its type and alignment; copy it from current process.
12067
5e5dff44
GM
120682000-03-12 Gerd Moellmann <gerd@gnu.org>
12069
9b2f3c38
GM
12070 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
12071 has been found. Fix bug not computing timer's predecessor.
12072
427ec082 12073 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
12074 file name.
12075
e1cff360
GM
12076 * window.c (Fsave_window_excursion): Doc fix.
12077
52283633 12078 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 12079
e411ce4b
EZ
120802000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
12081
12082 * msdos.c (vga_installed): New function, code moved from
12083 dos_set_window_size.
12084 (Qbar, Qcursor_type, outside_cursor): New variables.
12085 (syms_of_msdos): Intern and staticpro them.
12086 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
12087 shape used outside Emacs when called for the first time.
12088 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
12089 cursor shape used outside Emacs.
12090 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
12091 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
12092 type has changed.
12093 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
12094 parameters specify the cursor. Make qreverse a global
12095 variable (renamed to Qreverse).
12096
80460654
GM
120972000-03-09 Gerd Moellmann <gerd@gnu.org>
12098
12099 * fns.c (Fy_or_n_p): Cancel busy-cursor.
12100
95cd4c40
SM
121012000-03-08 Stefan Monnier <monnier@cs.yale.edu>
12102
12103 This is a big redesign of failure-stack and register handling, prompted
12104 by bugs revealed when trying to add shy-groups. Overall, what happened
12105 is that loops are now structured a little differently, groups can be
12106 shy and the code is a little simpler.
12107
12108 * regex.h: Update the copyright.
12109 (RE_SHY_GROUPS): New value.
12110 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
12111 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
12112
80460654
GM
12113 * regex.c (enum re_opcode_t): Remove jump_past_alt,
12114 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
12115 on_failure_jump_(exclusive, loop and smart). Also fix the comment
12116 for (start|stop)_memory since they now only take one argument (the
12117 second has becomes unnecessary).
52283633 12118 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
12119 (print_compiled_pattern): Use %ld to printf long ints and flush to
12120 make debugging a little easier.
95cd4c40
SM
12121 (union fail_stack_elt): Make the integer unsigned.
12122 (struct fail_stack_type): Add a `frame' element.
12123 (INIT_FAIL_STACK): Init `frame' as well.
12124 (POP_PATTERN_OP): New macro for re_compile_fastmap.
12125 (DEBUG_PUSH, DEBUG_POP): Remove.
12126 (NUM_REG_ITEMS): Remove.
12127 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
12128 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
12129 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 12130 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
12131 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
12132 New macros.
80460654
GM
12133 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
12134 address pushed is not the destination of the jump but the source
12135 of it instead.
95cd4c40
SM
12136 (NUM_FAILURE_ITEMS): Remove.
12137 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
12138 registers before the actual failure point). Don't hardcode any
12139 meaning for str==NULL anymore.
95cd4c40 12140 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
12141 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
12142 Remove.
95cd4c40
SM
12143 (REG_UNSET_VALUE): Use NULL (why not?).
12144 (compile_range): Remove declaration since it doesn't exist.
12145 (struct compile_stack_elt_t): Remove inner_group_offset.
12146 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
12147 (regex_grow_registers): Remove dead code.
12148 (FIXUP_ALT_JUMP): New macro.
80460654
GM
12149 (regex_compile): Add shy-groups Change loops to use
12150 on_failure_jump_smart&jump instead of
12151 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
12152 initial (dummy_failure_)jump. Remove c1_base (looks like unused
12153 variable to me). Use `jump' instead of `jump_past_alt' and don't
12154 bother with push_dummy_failure in alternatives since it is now
12155 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
12156 emacs' for (re)allocating the stack.
12157 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
12158 from loop when bufp->can_be_null rather than jumping to `done'.
12159 Avoid jumping backwards so as to ensure termination. Use
12160 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
12161 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 12162 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
12163 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
12164 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
12165 (lowest_active_reg, highest_active_reg)
12166 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
12167 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
12168 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
12169 variables. Push register (in `start_memory') on the stack rather
12170 than storing it in old_reg(start|end). Remove the cycle detection
12171 from `stop_memory', replaced by the use of on_failure_jump_loop
12172 for greedy loops. Add code for the new on_failure_jump_<foo>.
12173 Remove ad-hoc code in `on_failure_jump' to push more registers in
12174 the case of a loop. Take out code from `maybe_pop_jump' into
12175 separate functions and adapt it to the semantics of
12176 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
12177 and push_dummy_failure. Remove dummy_failure handling and
12178 handling of `failures to jump to on_failure_jump' (this last one
12179 was already dead code, it seems).
12180 (group_match_null_string_p, alt_match_null_string_p)
12181 (common_op_match_null_string_p): Remove.
95cd4c40 12182
7397acc4
DL
121832000-03-08 Dave Love <fx@gnu.org>
12184
12185 * config.in: Don't depend on __STDC__ for volatile.
12186 Add POINTER_TYPE, PTR, PROTOTYPES.
12187
12188 * hftctl.c, strftime.c: Use PROTOTYPES.
12189 * eval.c (find_handler_clause): Likewise.
12190
12191 * mem-limits.h: Use POINTER_TYPE.
12192
12193 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
12194 (memory_warnings): Declare using POINTER_TYPE.
12195
5e91ff9e
GM
121962000-03-08 Gerd Moellmann <gerd@gnu.org>
12197
feab4fba
GM
12198 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
12199
52283633 12200 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 12201
5e91ff9e
GM
12202 * xfns.c: Remove obsolete code in #if 0.
12203 (Fx_focus_frame): New function.
12204
a735b7e1
KH
122052000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
12206
12207 * coding.c (coding_category_name): Add coding-category-utf-8,
12208 coding-category-utf-16-be, coding-category-utf-16-le.
12209 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
12210 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
12211 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
12212 (detect_coding_utf_8): New function.
12213 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
12214 UTF_16_LOW_SURROGATE_P): New macros.
12215 (detect_coding_utf_16): New function
12216 (detect_coding_mask): When priorities are specified, skip any
12217 categories that have `nil' coding-system. Fix bug of returning
12218 wrong mask when PRIORITIES is specified and detect_coding_XXX()
12219 returns a mask not set in PRIORITIES.
12220 (detect_eol_type_in_2_octet_form): New function.
12221 (detect_eol): selects detect_eol_type_XXX to call according to
12222 cooding->category_idx.
12223 (detect_coding_system): Remove `nil' coding-system in the result.
12224 (Fupdate_coding_systems_internal): Update all coding-categories.
12225
52283633
SM
12226 * coding.h (CODING_CATEGORY_IDX_UTF_8)
12227 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
12228 New macros.
12229 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
12230 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
12231 (CODING_CATEGORY_IDX_UTF_16_LE)
12232 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
12233 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
12234 (CODING_CATEGORY_MASK_ANY): Include the above macros.
12235 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
12236
9994cc69
GM
122372000-03-07 Gerd Moellmann <gerd@gnu.org>
12238
e9b4e5ff
GM
12239 * doc.c (Fdocumentation_property): If value is not a string,
12240 and doesn't refer to etc/DOC, evaluate it to obtain a string.
12241
f7daf1e1
GM
12242 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
12243 close the display with XtCloseDisplay. This caused a bus error
12244 on OpenWindows.
12245
9994cc69
GM
12246 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
12247 complete but not unique.
12248
4336c705
GM
122492000-03-06 Gerd Moellmann <gerd@gnu.org>
12250
18bb0684
GM
12251 * process.c (send_process): Remove local variable `procname' that
12252 might become invalid when a GC happens. Instead, access the
12253 process name slot directly.
12254
4336c705
GM
12255 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
12256 orig_height if set.
12257
12258 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
12259 orig_height if set.
12260
515d0d0e
EZ
122612000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
12262
12263 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
12264 glyph matrices have been freed.
12265
100b3cbb
GM
122662000-03-05 Gerd Moellmann <gerd@gnu.org>
12267
50df5e5a 12268 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 12269 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
12270
12271 * xfns.c (QCdata): Moved to xdisp.c.
12272
12273 * xdisp.c (QCdata): Moved here from xfns.c.
12274 (syms_of_xdisp): Initialize QCdata.
12275
12276 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
12277
12278 * window.c (coordinates_in_window): Use
12279 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
12280 FRAME_INTERNAL_BORDER_WIDTH.
12281
100b3cbb 12282 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 12283 it is obviously invalid.
100b3cbb
GM
12284
12285 * xterm.c (x_term_init): Create a colormap if not using the
12286 default visual.
12287
12288 * xterm.h (select_visual): Change prototype.
12289
12290 * xfns.c (select_visual): Rewritten. Recognize user-specified
12291 visual classes.
12292 (visual_classes): New variable.
12293
64d739c4
GM
122942000-03-04 Gerd Moellmann <gerd@gnu.org>
12295
12296 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
12297 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
12298 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 12299 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
12300 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
12301 XtNcolormap resources.
12302 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
12303 (Fx_create_frame): Initialize color members of x_output structure.
12304 (xpm_load): Pass colormap to XPM lib.
12305
12306 * xfaces.c (x_free_colors): Access colormap of frame using
12307 FRAME_X_COLORMAP. Be paranoid about freeing black and white
12308 when default colormap is used.
12309
12310 * xterm.c (x_term_init): Set Colormap member of x_display_info
12311 structure. Copy colormap if resource `privateColormap' is
12312 specified (PseudoColor only).
12313 (x_setup_relief_color): Access colormap of frame using
12314 FRAME_X_COLORMAP.
12315
12316 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
12317 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
12318
c3cee013
JR
123192000-03-04 Jason Rumney <jasonr@gnu.org>
12320
12321 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
12322 other non-platform-specific equivalents.
64d739c4 12323 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
12324 specific functions and macros as their w32 equivalents where
12325 non-platform-specifics are not available.
12326 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
12327 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
12328 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
12329 (frame_update_line_height): Use macros to access f->output_data.
12330 (defined_color): Remove FIXME comments; fixed.
12331 (x_face_list_fonts, prepare_face_for_display): Put X specifics
12332 into #ifdef blocks. Add WINDOWSNT blocks.
12333 (Fx_list_fonts): Use macros for accessing font data.
12334 (set_lface_from_font_name): Different default fonts for X and
12335 WINDOWSNT.
12336 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
12337 scalable for backward compatibility.
64d739c4 12338 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
12339 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
12340
64d739c4 12341 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
12342 syms_of_w32faces.
12343
12344 * makefile.nt (w32faces.obj): Remove.
12345 (xfaces.obj): Add.
12346
807cc41c
JR
123472000-03-03 Jason Rumney <jasonr@gnu.org>
12348
12349 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
12350 correct parameters.
12351
0007072a
KR
123522000-03-03 Ken Raeburn <raeburn@gnu.org>
12353
12354 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
12355 standard ELF definitions here if the system header does not.
12356
71a6ba55
GM
123572000-03-03 Gerd Moellmann <gerd@gnu.org>
12358
12359 * xterm.c (PER_CHAR_METRIC): Removed.
12360 (x_per_char_metric_1, x_default_char): New functions.
12361 (x_per_char_metric): If font's default char is invalid, return
12362 metrics of a suitably chosen usable default char.
12363 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
12364 char, replace occurrences of unprintable chars with a suitably
12365 chosen usable default char.
71a6ba55 12366
900fa1f1
GM
123672000-03-02 Gerd Moellmann <gerd@gnu.org>
12368
42f55fe0
GM
12369 * xterm.c (note_mouse_highlight): Return quickly if frame's
12370 glyph matrices have been freed.
12371
12372 * dispnew.c (free_glyphs): Block input while freeing matrices.
12373
900fa1f1
GM
12374 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
12375
52283633
SM
12376 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
12377 Use x_free_colors.
900fa1f1
GM
12378
12379 * dispextern.h (x_free_colors): Add prototype.
12380
12381 * xfaces.c (x_free_colors): New function.
12382 (unload_color, free_face_colors): Use it.
12383
2f950292
EZ
123842000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
12385
12386 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
12387
12388 * window.c [MSDOS]: Include msdos.h.
12389
54d04320
DL
123902000-03-02 Dave Love <fx@gnu.org>
12391
12392 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
12393
12394 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
12395 set C_OPTIMIZE_SWITCH for gcc.
12396
0ba93ac4
KH
123972000-03-02 Kenichi Handa <handa@etl.go.jp>
12398
12399 * coding.c (coding_save_composition): Be sure to allocate
12400 composition data area in coding even if there's no composition in
12401 the current run.
12402
a2bc11d4
JR
124032000-03-01 Jason Rumney <jasonr@gnu.org>
12404
12405 * w32term.c: Equivalent changes to those made to xterm.c on
12406 2000-02-25 and 2000-02-24.
12407
12408 * w32fns.c: Equivalent changes to those made to xfns.c on
12409 2000-02-25 and 2000-02-21.
12410
12411 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
12412 correct line-end convention is followed.
12413
12414 * w32menu.c [HAVE_BOXES]: Remove #undef.
12415 (single_keymap_panes): Remove code for simulating checkmarks.
12416 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
12417 Remove code for drawing simulated checkmarks.
12418 (w32_menu_show): make unibyte help string correctly.
12419 (add_menu_item): draw standard Windows checkmarks. Draw radio
12420 buttons as radio buttons if possible.
12421
72d19d75
GM
124222000-03-01 Gerd Moellmann <gerd@gnu.org>
12423
2df636f4
GM
12424 * sysdep.c (start_of_text): Don't define this function for NetBSD
12425 with ELF.
12426
427ec082 12427 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
12428 Don't define.
12429 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
12430 (LINKER): Don't undef if __NetBSD__ is defined.
12431
12432 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
12433
12434 * fileio.c [__NetBSD__]: Define `unix'.
12435
72d19d75
GM
12436 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
12437
ed4d0512
GM
124382000-02-29 Gerd Moellmann <gerd@gnu.org>
12439
50b1039f
GM
12440 * atimer.c (start_atimer): Don't abort when timers are stopped.
12441 (append_atimer_lists): New function.
12442 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
12443 arbitrary lists of stopped and running atimers.
12444
ed4d0512
GM
12445 * atimer.c (cancel_atimer): Handle canceling an atimer when
12446 some timers are stopped.
12447
12448 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
12449 after canceling it.
12450
12451 * fns.c (maybe_resize_hash_table): Handle case of new size
12452 coming out as being the same as old size.
12453
387023ee
JR
124542000-02-27 Jason Rumney <jasonr@gnu.org>
12455
12456 * makefile.nt: Add atimer.h to dependencies.
12457 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
12458 * w32console.c: Only disable window system features for dispextern.h
12459 (initialize_w32_display): Build a display info for the console.
12460 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
12461 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
12462 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
12463 as 2 button mice.
12464 * w32gui.h (struct W32FontStruct): Revert last change after change
12465 to xdisp.c.
12466 * w32menu.c (single_submenu): Set up help string.
12467 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
12468 (w32_dialog_show): Set up help string.
12469 * w32term.c (w32_display_info_for_display): Remove unused function.
12470 (w32_draw_bitmap): Use pre-built bitmaps.
12471 (w32_initialize_display_info): New function to initialize parts of
12472 display info that are common to both GUI and console frames.
12473 (w32_term_init): Use w32_initialize_display_info. Do not set
12474 Vw32_num_mouse_buttons here, as it is not called for console
12475 frames. Build bitmaps for indicating truncated lines etc.
12476 (x_delete_display): Destroy pre-built bitmaps.
12477 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
12478 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
12479
4516715a
DL
124802000-02-27 Dave Love <fx@gnu.org>
12481
12482 * lisp.h: Add a bunch of prototypes.
12483
171ca836
KH
124842000-02-26 Kenichi Handa <handa@etl.go.jp>
12485
12486 * keyboard.c (read_char): Set `usec' correctly.
12487
4013921d
KH
124882000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
12489
12490 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
12491 `lambda', set reg[RRR] to the map index.
12492 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
12493 reg[RRR] to 0. Otherwise, set it to -1.
12494
9244a058
GM
124952000-02-25 Gerd Moellmann <gerd@gnu.org>
12496
2df636f4 12497 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 12498
18e21ce8 124992000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 12500
f43d79c1
GM
12501 * fileio.c (Ffile_symlink_p): If result starts with a `/'
12502 and contains a `:', prepend `/:'.
12503
12504 * window.c (select_window_1): If selected_window is nil,
12505 don't "swap out" the buffer's point.
12506 (Fset_window_configuration): Set selected_window to nil
12507 before calling Fselect_window.
12508 (unshow_buffer): Don't set point in buffer from window's point
12509 if another more recently selected window also shows the buffer.
12510
bed0c171
GM
125112000-02-25 Gerd Moellmann <gerd@gnu.org>
12512
449c3c52
GM
12513 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
12514
f5b58615
GM
12515 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
12516 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
12517 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
12518 New variables.
f5b58615
GM
12519 (DEFAULT_BUSY_CURSOR_DELAY): New define.
12520 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
12521 (hide_busy_cursor): New functions.
12522 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
12523
12524 * minibuf.c (read_minibuf): Cancel busy-cursor.
12525
12526 * keyboard.c (command_loop_1): Call start_busy_cursor before
12527 Fcommand_execute and cancel_busy_cursor after it.
12528 (timer_check): Remove busy-cursor code.
12529 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
12530 cursor timer.
12531
12532 * process.c (wait_reading_process_input): Remove busy-cursor code.
12533
12534 * eval.c (Fsignal): Call cancel_busy_cursor instead of
12535 Fx_hide_busy_cursor.
12536
12537 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
12538 Remove prototyoes.
12539 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
12540
12541 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
12542
12543 * xterm.c (XTread_socket): Remove busy-cursor code.
12544
4eb8436f
GM
12545 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
12546 (build_frame_matrix_from_leaf_window): Put code handling
12547 glyph row's not being a slice of a frame row in #if 0.
12548 (sync_window_with_frame_matrix_rows): New function.
12549 (frame_row_to_window): New function.
12550 (mirror_line_dance): Handle copies between windows.
12551
3cb65b0e
GM
12552 * lread.c (Fload): Use `xfree' instead of `free'.
12553 (init_obarray): Use `xmalloc' instead of `malloc'.
12554
bed0c171
GM
12555 * window.c (Fset_window_buffer): Set WINDOW to the window
12556 after decoding.
2add4349
GM
12557 (coordinates_in_window): Take frame's internal border width
12558 into account.
bed0c171 12559
42088c12
GM
125602000-02-24 Gerd Moellmann <gerd@gnu.org>
12561
12562 * xterm.c (x_display_and_set_cursor): Display cursor of
12563 non-selected windows depending on the setting of
12564 cursor_in_non_selected_windows.
12565
12566 * xdisp.c (cursor_in_non_selected_windows): New variable.
12567 (syms_of_xdisp): DEFVAR_BOOL it.
12568
d1e103b2
GM
125692000-02-23 Gerd Moellmann <gerd@gnu.org>
12570
723e779c
GM
12571 * data.c (Fstring_to_number): If number is greater than what
12572 fits into an integer, return a float.
12573
d1e103b2
GM
12574 * eval.c (specbind): Remove references to
12575 keyword_symbols_constant_flag.
12576
12577 * data.c (keyword_symbols_constant_flag): Removed.
12578 (Fmakunbound, set_internal, syms_of_data): Remove references to
12579 keyword_symbols_constant_flag.
12580
12581 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
12582
214f877f
KH
125832000-02-23 Kenichi Handa <handa@etl.go.jp>
12584
12585 * syntax.c (multibyte_syntax_as_symbol): New variable.
12586 (syms_of_syntax): Declare it as a Lisp variable.
12587 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
12588 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
12589 nonzero, treat all multibyte characters as symbol.
52283633 12590 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 12591
130adcb7
EZ
125922000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
12593
3cb65b0e 12594 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 12595 a deleted frame.
130adcb7 12596
17cbbf95
GM
125972000-02-21 Gerd Moellmann <gerd@gnu.org>
12598
12599 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
12600
12601 * xfns.c (x_window_to_frame, x_any_window_to_frame)
12602 (x_non_menubar_window_to_frame): Check the busy-cursor window.
12603
beb0bc36
DL
126042000-02-21 Dave Love <fx@gnu.org>
12605
12606 * frame.c (Vmouse_position_function): New variable.
12607 (Fmouse_position): Use it.
12608 (syms_of_frame): Install it.
12609
12610 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
12611
1d92afcd
GM
126122000-02-20 Gerd Moellmann <gerd@gnu.org>
12613
12614 * fileio.c (Finsert_file_contents): Unbind the binding of
12615 standard-output done by temp_output_buffer_setup.
329eed9f
GM
12616
12617 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
12618 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
12619 (specbind, unbind_to): Handle most common case of non-constant
12620 symbol with trivial value specially.
12621
12622 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
12623
18e21ce8 126242000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
12625
12626 * data.c (Fmake_variable_buffer_local): Doc fix.
12627 Init found_for_buffer to 0.
12628 (Fmake_variable_frame_local): If the variable has already
12629 been buffer-local, set the check_frame field.
12630
1d4311c3
EZ
126312000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
12632
12633 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
12634 produced for CODING_MODE_LAST_BLOCK requires.
12635
2dc95ddd
DL
126362000-02-18 Dave Love <fx@gnu.org>
12637
12638 * keyboard.c (echo_keystrokes): Remove declaration.
12639 (Vecho_keystrokes) New variable.
12640 (read_char, record_menu_key, read_key_sequence): Use it to allow
12641 use of float value.
12642 (syms_of_keyboard): Change Vecho_keystrokes declaration.
12643
12644 * lread.c: Undef feature selection macros before defining.
12645
f0930f35
GM
126462000-02-18 Gerd Moellmann <gerd@gnu.org>
12647
12648 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
12649 for symbols other than the symbol in question.
12650
e3d4de90
DL
126512000-02-17 Dave Love <fx@gnu.org>
12652
12653 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
12654
0b378936
GM
126552000-02-17 Gerd Moellmann <gerd@gnu.org>
12656
d621caf7
GM
12657 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
12658
0b378936
GM
12659 * alloc.c (enum mem_type): Compile unconditionally.
12660
3b451f74
EZ
126612000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
12662
12663 * xfaces.c (tty_defined_color): Don't return faulire indication
12664 for unspecified-fg and unspecified-bg pseudo-colors.
12665
10689a01
GM
126662000-02-17 Gerd Moellmann <gerd@gnu.org>
12667
1216f5e4
GM
12668 * alloc.c (mark_object): Don't mark symbol names in pure space.
12669 (gc_sweep): Don't unmark symbol names in pure space.
12670
12671 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
12672 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
12673 [GC_MARK_STACK]: New defines.
427ec082 12674 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
12675 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
12676
12677 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
12678
12679 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
12680 allocate_buffer instead of xmalloc.
12681
12682 * alloc.c (toplevel): Include setjmp.h.
12683 (PURE_POINTER_P): New define.
12684 (enum mem_type) [GC_MARK_STACK]: New enumeration.
12685 (Vdead) [GC_MARK_STACK]: New variable.
12686 (lisp_malloc): Add parameter TYPE, call mem_insert if
12687 GC_MARK_STACK is defined.
12688 (allocate_buffer): New function.
427ec082 12689 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
12690 (free_float) [GC_MARK_STACK]: Set type to Vdead.
12691 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
12692 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
12693 (MEM_NIL) [GC_MARK_STACK]: New define.
12694 (struct mem_node) [GC_MARK_STACK]: New structure.
12695 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
12696 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
12697 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
12698 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
12699 (mark_stack) [GC_MARK_STACK]: New functions.
12700 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
12701 (clear_marks): Removed.
12702 (gc_sweep): Set free conses' car, free floats' type, free
12703 symbols' function to Vdead. Use lisp_free to free buffers.
12704 (init_alloc_once): Initialize Vdead.
12705 (survives_gc_p): Return non-zero for pure objects.
12706
12707 * alloc.c: Add comments throughout the file.
12708
2503c8b1
GM
12709 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
12710 that unblocks alarms.
12711
8389e1e2
GM
12712 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
12713 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
12714 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
12715
10689a01 12716 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 12717
bfc17d18
KH
127182000-02-17 Kenichi Handa <handa@etl.go.jp>
12719
4a09dee0
KH
12720 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
12721 avoid infinite error signaling. Allocate sufficient memory for
12722 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 12723
2b927d02
SM
127242000-02-17 Stefan Monnier <monnier@cs.yale.edu>
12725
12726 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
12727 depends on the previous behavior.
12728
b49cb764
GM
127292000-02-16 Gerd Moellmann <gerd@gnu.org>
12730
12731 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
12732
99e95407
GM
127332000-02-15 Gerd Moellmann <gerd@gnu.org>
12734
12735 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
12736
12737 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 12738 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
12739 write(2).
12740
6ffd3cf7
RS
127412000-02-15 Richard M. Stallman <rms@gnu.org>
12742
12743 * data.c (set_internal): Don't make variable buffer-local
12744 if within a let-binding for the same buffer.
12745 (let_shadows_buffer_binding_p): New function.
12746
12747 * eval.c (specbind): For buffer-local value,
12748 record the current buffer also.
12749 (unbind_to): Cope with that change.
12750
cad53475
GM
127512000-02-15 Gerd Moellmann <gerd@gnu.org>
12752
12753 * window.c (Fsave_window_excursion): Doc fix.
12754
1aa963c8
SM
127552000-02-15 Stefan Monnier <monnier@cs.yale.edu>
12756
12757 * syntax.c (back_comment): Make sure we only consider comment-starters
12758 of the relevant style and return -1 in case of a failure to find the
12759 beginning of the comment.
12760 (Fforward_comment): If back_comment fails, go back to the position just
12761 after the comment-end.
12762 (scan_lists): Add comment describing a very minor bug.
12763
b9b84fd3
SM
127642000-02-14 Stefan Monnier <monnier@cs.yale.edu>
12765
12766 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
12767 `completion-regexp-list' in the docstring.
12768
3a28db80
DL
127692000-02-14 Dave Love <fx@gnu.org>
12770
12771 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
12772
fb4a568d
SM
127732000-02-14 Stefan Monnier <monnier@cs.yale.edu>
12774
12775 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
12776 to Emacs' syntax. Also fix the comment about set/not-set meanings
12777 since Emacs syntax is not the value 0 any more.
12778 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
12779 since it's now part of RE_SYNTAX_EMACS.
12780
1063ebb5
DL
127812000-02-12 Dave Love <fx@gnu.org>
12782
52283633 12783 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 12784
fb07a302
GM
127852000-02-12 Gerd Moellmann <gerd@gnu.org>
12786
12787 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
12788
aaf2320c
DL
127892000-02-12 Dave Love <fx@gnu.org>
12790
12791 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
12792
12793 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
12794 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
12795 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
12796
12797 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
12798
12799 * s/nextstep.h: Don't define HAVE_ALLOCA.
12800
12801 * config.in: Add vfork bits.
12802
eedf8bde
GM
128032000-02-12 Gerd Moellmann <gerd@gnu.org>
12804
12805 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
12806 unwind function to undo the effect of stopping atimers.
12807
52283633 12808 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
12809
12810 * atimer.c (stopped_atimers): New variable.
12811 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
12812 New functions.
12813
12814 * atimer.h (stop_other_atimers, run_all_atimers)
12815 (unwind_stop_other_atimers): Add function prototypes.
427ec082 12816
eedf8bde
GM
12817 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
12818
8476c2f8
KR
128192000-02-11 Ken Raeburn <raeburn@gnu.org>
12820
12821 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
12822 library may depend on jpeg.
12823 (atimer.o): Depends on atimer.c.
12824
0e85e4a3
KH
128252000-02-11 Kenichi Handa <handa@etl.go.jp>
12826
12827 * insdel.c (del_range_1): Call update_compositions.
12828 (del_range_both): Call update_compositions just once..
12829
97fa0cc8
DL
128302000-02-10 Dave Love <fx@gnu.org>
12831
12832 * xfns.c (create_frame_xic): Fix initialization of automatic
12833 aggregates for pcc.
12834
25566a3c
KH
128352000-02-09 Kenichi Handa <handa@etl.go.jp>
12836
12837 * ccl.c (CCL_MAKE_CHAR): New macro.
12838 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
12839 registers by CCL_MAKE_CHAR before calling translate_char.
12840 <CCL_TranslateCharacterConstTbl> Likewise.
12841
69da54ba
DL
128422000-02-08 Dave Love <fx@gnu.org>
12843
12844 * lread.c (__EXTENSIONS__): Define.
12845
f7136ee8
GM
128462000-02-08 Gerd Moellmann <gerd@gnu.org>
12847
12848 * puresize.h (BASE_PURESIZE): Increase to 650000.
12849
7768790b
EZ
128502000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
12851
12852 * msdos.c (XMenuActivate): Turn off the cursor after displaying
12853 the help message.
12854
38fd211b
EZ
128552000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
12856
12857 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
12858 md, mh, mb, mr, and me to the fake termcap entry.
12859
66e4690f
KR
128602000-02-06 Ken Raeburn <raeburn@gnu.org>
12861
12862 * sound.c (sound_cleanup): Don't call device close routine if the
12863 function pointer is null.
12864
a75dfea0
AI
128652000-02-06 Andrew Innes <andrewi@gnu.org>
12866
12867 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
12868 around image definitions and prototypes.
12869 (gamma_correct) [WINDOWSNT]: New prototype.
12870
12871 * w32term.c (x_make_frame_visible): Replace call to
12872 input_poll_signal with poll_for_input.
12873
12874 * window.c [WINDOWSNT]: Include w32term.h.
12875
12876 * xdisp.c [WINDOWSNT]: Include w32term.h.
12877
12878 * makefile.nt: Add dependencies on w32gui.h.
12879 (OBJ1): Include atimer.obj.
12880 ($(BLD)\atimer.obj): New dependency rule.
12881
12882 * w32.c (sigmask): New function (does nothing).
12883 (sigunblock): Ditto.
12884
12885 * frame.c [WINDOWSNT]: Include w32term.h.
12886
12887 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
12888
12889 * lread.c (syms_of_lread): Fix literal newlines.
12890
12891 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
12892 the string constant limit (2048 bytes) in MSVC.
12893 (main): Ditto.
12894
59ddecde
GM
128952000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
12896
52283633 12897 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
12898 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
12899 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
12900 dispatch the event.
12901
07590973
DL
129022000-02-04 Dave Love <fx@gnu.org>
12903
12904 * fileio.c: Remove some unused vars.
12905 (_GNU_SOURCE): Define (for euidaccess).
12906
12907 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
12908
12909 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
12910 gcpro1, gcpro2.
12911 (read_minibuf): Deal with allow_props correctly.
12912
649351f9
EZ
129132000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
12914
12915 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
12916
66e4690f 129172000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
12918
12919 * search.c (compile_pattern): If a cache entry has a nil regexp,
12920 fill in that entry instead of clobbering a previously cached
12921 string regexp.
12922
66e4690f 129232000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
12924
12925 * puresize.h (BASE_PURESIZE): Increase to 610000.
12926
d240a249
GM
129272000-02-02 Gerd Moellmann <gerd@gnu.org>
12928
12929 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
12930 can GC.
12931
ca91fb26
KH
129322000-02-02 Kenichi Handa <handa@etl.go.jp>
12933
25660570
KH
12934 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
12935 instead of incrementing ic directly.
12936 <CCL_WriteExprConst> Likewise.
12937 <ccl_set_expr>: Set ic to jump_address.
12938
ca91fb26
KH
12939 * fileio.c (e_write): Fix the handling of
12940 CODING_FINISH_INSUFFICIENT_SRC.
12941
2ede9689
DL
129422000-02-01 Dave Love <fx@gnu.org>
12943
12944 * editfns.c (Fpropertize): Doc fix.
12945
12946 * process.c (Fstart_process): Doc fix.
12947
12948 * eval.c: Fix various doc strings not to duplicate information
12949 from help-manyarg-func-alist.
12950
52283633 12951 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
12952
12953 * doc.c (Vhelp_manyarg_func_alist): New variable.
12954 (Fdocumentation): Use it.
12955 (syms_of_doc): Define it.
12956
b6680a0e
GM
129572000-01-31 Gerd Moellmann <gerd@gnu.org>
12958
2cb750ba
GM
12959 * xterm.c (xim_open_dpy): Remove unused local variable.
12960
52283633 12961 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
12962
12963 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
12964 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
12965
b6680a0e
GM
12966 * fns.c (sweep_weak_table): New function.
12967 (sweep_weak_hash_tables): Use it. Keep on marking until there
12968 is no more change.
12969
994c5afe
GM
129702000-01-30 Gerd Moellmann <gerd@gnu.org>
12971
12972 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
12973 that XTread_socket does not crash by trying to call XNoOp on a
12974 closed display.
427ec082 12975
f00276e3
JR
129762000-01-30 Jason Rumney <jasonr@gnu.org>
12977
12978 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
12979 Change selected_frame to SELECTED_FRAME ().
12980 (w32_console_mouse_position): Remove #ifndef MULE from around
12981 `insist' parameter.
12982
12983 * makefile.nt: Remove dosfns.obj.
12984
12985 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
12986
12987 * w32fns.c (w32_defined_color): Check for valid frame before
12988 applying gamma correction. Eliminate dependency on frame elsewhere.
12989 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
12990 (w32_to_x_font): Use resx and resy not height_in and width_in.
12991 (x_to_w32_font): Doc fix.
12992 (xlfd_strip_height): New function to strip and return font height.
12993 (w32_font_match): Compare height separately from rest of xlfd
12994 spec, using xlfd_strip_height.
12995
12996 * w32term.c (w32_term_init): Swap resx and height_in, resy and
12997 width_in. Use w32_defined_color in place of defined_color.
12998
12999 * w32faces.c: Merge more of DOS and X specifics in preparation for
13000 merge with xfaces.c.
13001 (defined_color): Remove FIXME comment.
13002 (tty_color_name): Provide w32-specific function.
13003 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
13004
13005 * w32console.c (turn_on_face, turn_off_face): Removed.
13006 (w32_face_attributes): New function.
13007 (Global_variables): Reduce scope where possible.
13008 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
13009 fill attribute.
13010 (hl_mode): Don't modify text attributes.
13011 (write_glyphs): Don't do anything if len <= 0. Use
13012 w32_face_attributes to get attributes for drawing. Write
13013 terminating codes using char_attr_normal.
13014 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
13015 (update_begin, update_end): Likewise.
13016 (vga_stdcolor_name): New function.
13017 (initialize_w32_display): Remove char_attr_reverse and char_attr.
13018 (Fset_screen_color): Remove char_attr_reverse.
13019
b08e8bb2
GM
130202000-01-29 Gerd Moellmann <gerd@gnu.org>
13021
13022 * xfns.c (xic_set_preeditarea): Take window parameter and
13023 window-relative pixel-positions.
13024
13025 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
13026 is its frame's selected window.
13027 (xim_instantiate_callback): Likewise.
13028
13029 * xfns.c (x_create_im): Removed.
13030 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
13031 (supported_xim_styles): Renamed from supported_styles.
13032 (best_xim_style): Renamed from best_style.
13033 (create_frame_xic): Renamed from xic_create_frame.
13034 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 13035
b08e8bb2
GM
130362000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
13037
13038 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
13039 our frames, call XFilterEvent with 2nd parameter `None'.
13040 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
13041 returning XBufferOverflow.
52283633 13042 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
13043 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
13044 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
13045 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
13046 (xim_initialize, xim_close)
13047 [HAVE_X_I18N && HAVE_X11R6]: New functions.
13048 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
13049 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
13050 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
13051
13052 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
13053 and `xim_styles'.
13054 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
13055 `xic_style' and `xic_xfs'.
13056 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
13057 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
13058 (FRAME_XIM): Removed.
13059
13060 * xfns.c (supported_styles): New variable.
13061 (DEFAULT_STYLE, DEFAULT_FONT): New macros
13062 (xic_create_xfontset, best_style, xic_create_frame)
13063 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
13064 (xic_set_xfontset): New functions.
13065
142e109c
DL
130662000-01-28 Dave Love <fx@gnu.org>
13067
13068 * s/irix6-5.h: Revert last change after change to irix5-0.h.
13069
13070 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
13071
b02786f9
GM
130722000-01-28 Gerd Moellmann <gerd@gnu.org>
13073
d060bc9f
GM
13074 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
13075 for *scratch* if it already existed.
13076
b02786f9
GM
13077 * emacs.c (USAGE): New macro.
13078 (main): Use it to display usage information.
13079
2c52d7e4
EZ
130802000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13081
13082 Support for the menu-help feature:
13083
52283633 13084 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
13085
13086 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
13087 part of the line to the termscript file.
13088 (IT_clear_to_end): Clear the entire line, not just its beginning.
13089 (menu_help_message, prev_menu_help_message): New variables.
13090 (IT_menu_make_room): Make room for the help_text member.
13091 (IT_menu_display): New argument disp_help; all callers changed.
13092 If disp_help is non-zero, store the help text of the active menu
13093 item in menu_help_message.
13094 (XMenuAddPane): Initialize the help_text member to NULL.
13095 (XMenuAddSelection): New argument help_text. Store it in the
13096 XMenu structure.
13097 (XMenuActivate): New argument help_callback. If the value of
13098 menu_help_message has changed since the last time, display the
13099 menu help message text while waiting for the mouse to move. Clear
13100 the echo area before exiting.
13101 (XMenuDestroy): Free the help_text member.
13102
ffe0bcd1
GM
131032000-01-27 Gerd Moellmann <gerd@gnu.org>
13104
13105 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
13106 XMenuAddSelection. Pass help callback to XMenuActivate.
13107 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
13108
50dbd23f
EZ
131092000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13110
13111 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
13112 and EMACS_SET_USECS.
13113
f5941bf8
GM
131142000-01-26 Dave Love <fx@gnu.org>
13115
6c67ddee
DL
13116 * editfns.c (Fchar_after, Fchar_before): Doc fix.
13117
f5941bf8
GM
13118 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
13119 an error may be signalled.
13120
9e49c990
GM
131212000-01-26 Gerd Moellmann <gerd@gnu.org>
13122
fc3cb460
GM
13123 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
13124 LD_SWITCH_SYSTEM inherited from irix5-0.h.
13125
9e49c990
GM
13126 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
13127
d0c037d8
GM
131282000-01-25 Gerd Moellmann <gerd@gnu.org>
13129
13130 * charset.c (Fstring): If there is a multibyte char among
13131 the args, always return a multibyte string.
13132
e12489f9
GM
131332000-01-25 Gerd Moellmann <gerd@gnu.org>
13134
13135 * sysdep.c (sys_select): Turn atimers off and on instead of
13136 recording and restoring old alarm handler
13137
13138 * process.c (toplevel): Include atimer.h.
13139 (create_process_1): Rewritten.
13140 (create_process): Use atimers instead of alarm.
13141 (wait_reading_process_input) [hpux]: Turn atimers off instead
13142 of turning off SIGALRM.
13143 (wait_reading_process_input): Turn off atimers instead off
13144 calling stop_polling.
13145
13146 * emacs.c (main): Call init_atimer.
13147
13148 * keyboard.c (toplevel): Include systime.h and atimer.h.
13149 (polling_for_input): Removed because unused.
13150 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
13151 (poll_timer): New variable.
13152 (poll_for_input, poll_for_input_1): New functions.
13153 (start_polling, stop_polling): Rewritten.
13154
13155 * keyboard.h (polling_for_input): Removed.
427ec082 13156
e12489f9
GM
13157 * atimer.h, atimer.c: New files.
13158
13159 * Makefile.in (obj): Add atimer.o.
13160 (atimer.o): New target.
13161
13162 * blockinput.h (pending_atimers): Add extern declaration.
13163 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
13164
13165 * lisp.h (popup_activated_flag): Add extern declaration.
13166
13167 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 13168 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
13169 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
13170
13171 * xterm.c (toplevel): Include atimer.h.
13172 (toolkit_scroll_bar_interaction): New variable.
13173 (Fxt_process_timeouts): Removed.
13174 (x_process_timeouts): New function.
13175 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
13176 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
13177 (x_make_frame_visible): Call poll_for_input_1 instead of
13178 input_poll_signal. Don't call alarm.
13179 (x_initialize): Install timer calling x_process_timeouts.
427ec082 13180
1e5279b9
DL
131812000-01-24 Dave Love <fx@gnu.org>
13182
6c67ddee 13183 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
13184 Don't use -cckr -- apparently not now necessary.
13185
edf6aeb8
EZ
131862000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
13187
13188 * msdos.c (IT_menu_display): Truncate long menu lines at the right
13189 screen boundary.
13190
9badad41
JR
131912000-01-23 Jason Rumney <jasonr@gnu.org>
13192
13193 * w32fns.c (w32_defined_color): Apply gamma correction before
13194 trying to map to the palette.
13195 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
13196 to w32_clear_rect.
13197
13198 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
13199 here. Callers changed to always pass real device context.
13200 (w32_draw_bitmap): Likewise.
13201 (w32_get_glyph_overhangs): Likewise.
52283633 13202 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
13203 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
13204 pfnSetScrollInfo and SetScrollRange.
13205 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
13206 back into MULE characters after decoding them.
13207 (x_get_glyph_face_and_encoding): Likewise.
13208 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
13209 GetCharABCWidthsW fails, since this is defined on Windows 9x.
13210 (x_produce_glyphs): Calculate per char metrics for a character
13211 that we know exists in default font when font_not_found_p is true.
13212
63bd786b
JR
132132000-01-22 Jason Rumney <jasonr@gnu.org>
13214
13215 * makefile.nt (intervals.obj, composite.obj): New modules.
13216 (composite.h): Added as dependency where appropriate.
13217
13218 * w32gui.h (XGCValue): New struct for emulating X GCs.
13219
13220 * w32term.h (XCharStruct): New struct for emulating X.
13221
13222 * w32console.c (turn_on_face, turn_off_face): New functions.
13223 (change_line_highlight): New prototype for new redisplay.
13224 (write_glyphs): Support multibyte text. Support faces.
13225
52283633 13226 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
13227
13228 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
13229 throughout. struct frame * in place of FRAME_PTR.
13230 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 13231 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
13232 (w32_get_arg): Renamed from x_get_arg.
13233 (Fx_file_dialog): New function.
13234 (w32_list_fonts): Check cache before asking system.
13235 (Vw32_enable_synthesized_fonts): New variable.
13236 (Vw32_enable_italics): Obsolete, removed.
13237
13238 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13239 Use SELECTED_FRAME macro.
13240
13241 * w32menu.c: Add skeleton support for help strings on menus.
13242 (add_menu_item): Native checkbox and radio support added, but not
13243 yet enabled due to bugs.
13244 (push_menu_item): Add parameters type, selection and help.
13245 Callers updated.
13246 Formatting changes to reduce unnecessary diffs with xmenu.c.
13247
13248 * w32select.c (Fw32_set_clipboard_data): Update call to
13249 find_charset_in_str.
13250
13251 * w32term.c: Complete rewrite for new redisplay based on new
13252 xterm.c with necessary sections merged back in from old w32term.c.
13253
6ffd3cf7 132542000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
13255
13256 * data.c (set_internal): Further fix in same criterion.
13257
6ffd3cf7 132582000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
13259
13260 * data.c (set_internal): Fix the criteria for whether
13261 to swap out the old cached binding.
13262
60af03f1
DL
132632000-01-19 Dave Love <fx@gnu.org>
13264
13265 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
13266
f9be074f
KH
132672000-01-18 Kenichi Handa <handa@etl.go.jp>
13268
13269 * regex.c (re_compile_fastmap): While checking a range table for
13270 `charset', skip flag bits for a character class correctly.
13271
52b8dbf9
GM
132722000-01-17 Gerd Moellmann <gerd@gnu.org>
13273
d36100c9
GM
13274 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
13275
52283633 13276 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
13277
13278 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 13279 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
13280
13281 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
13282 MENU_ITEMS_ITEM_.*.
13283 (MENU_ITEMS_ITEM_HELP): New enumerator.
13284 (push_menu_item): Add parameter HELP. Record help in menu_items.
13285 (single_menu_item, single_submenu, list_of_items): Call
13286 push_menu_item with new parameter.
13287 (single_submenu): Set help string in widget value.
13288 (menu_highlight_callback): New function.
13289 (set_frame_menubar): Call lw_create_widget with new
13290 parameter list.
13291 (xmenu_show, xdialog_show): Ditto.
13292
3139018f
GM
132932000-01-13 Gerd Moellmann <gerd@gnu.org>
13294
13295 * sound.c (Fplay_sound): Improve doc string.
13296
83c8f461
RS
132972000-01-11 Richard M. Stallman <rms@gnu.org>
13298
13299 * lisp.h (set_internal): Enter the new arg.
13300
13301 * eval.c (specbind): Record buffer-local variables specially,
13302 indicating which buffer's binding was saved.
13303 (unbind_to): Restore buffer-local variables specially
13304 in the proper buffer.
13305
13306 * data.c (set_internal): New arg BUF.
427ec082 13307
83c8f461
RS
13308 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
13309 * data.c (Fset): Pass new arg to set_internal.
13310 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 13311
1fab1775
GM
133122000-01-11 Gerd Moellmann <gerd@gnu.org>
13313
52283633 13314 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 13315
83c8f461 133162000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
13317
13318 * minibuf.c (Ftry_completion): Doc fix.
13319
7a85e4df
GM
133202000-01-11 Gerd Moellmann <gerd@gnu.org>
13321
13322 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
13323 vector, too.
13324
a970dae4
AS
133252000-01-11 Andreas Schwab <schwab@suse.de>
13326
13327 * coding.c (code_convert_region): Initialize total_skip.
13328
c65d14ee
DL
133292000-01-08 Dave Love <fx@gnu.org>
13330
13331 * eval.c (Fuser_variable_p): Check customizability too.
13332
834938d2
GM
133332000-01-07 Gerd Moellmann <gerd@gnu.org>
13334
13335 * minibuf.c (Fcompleting_read): Doc fix.
13336
e0303cd6
GM
133372000-01-05 Gerd Moellmann <gerd@gnu.org>
13338
8a26744b
GM
13339 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
13340 -L /usr/local/lib.
13341
e0303cd6
GM
13342 * xfns.c (x_create_im): New function to set IM and IC of a frame.
13343 Check that input style is supported before trying to create an
13344 IC for it.
13345 (x_window): Call x_create_im.
427ec082 13346
2e471eb5
GM
133472000-01-04 Gerd Moellmann <gerd@gnu.org>
13348
560a7bd2
GM
13349 * xfns.c (current_gif_memory_src): New variable.
13350 (gif_load): Record the address of the current memory source
13351 in current_gif_memory_src.
13352 (gif_read_from_memory): Use current_gif_memory_src.
13353
f9ee84a3
GM
13354 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
13355 macros statement form.
13356
d1299cde
GM
13357 * sound.c (struct sound): Renamed from struct sound_file.
13358 (struct sound): Add members `data' and `header_size'.
13359 (enum sound_attr): Add SOUND_DATA.
13360 (current_sound, current_sound_device): Variables renamed from
13361 sound_file and sound_device.
13362 (parse_sound): Parse :data.
13363 (parse_sound): Handle sound data in strings.
13364 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 13365 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
13366 needed header size.
13367 (wav_play, au_play): Play sounds from string data.
13368
2e471eb5
GM
13369 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
13370
13371 * lisp.h: Add prototype for allocate_string_data.
13372
52283633 13373 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
13374
13375 * alloc.c (mark_buffer): Remove code in #if 0.
13376 (gc_sweep): Ditto.
13377 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
13378 (strings_consed): New variable.
13379 (allocate_string): Set it.
13380 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
13381 (Fmemory_use_counts): Return strings_consed. Use Flist.
13382
13383 * alloc.c: General cleanup in comments etc. Remove conditional
13384 compilation for `standalone'.
13385
13386 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
13387
13388 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
13389 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
13390 (DONT_COPY_FLAG): Removed.
13391 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
13392 (struct sdata, struct sblock): New
13393 (struct string_block): Rewritten.
13394 (STRINGS_IN_STRING_BLOCK): New macro.
13395 (oldest_sblock, current_sblock, total_strings, total_free_strings)
13396 (large_sblocks, string_blocks, string_free_list): New variables.
13397 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
13398 (init_strings): Rewritten.
13399 (allocate_string, allocate_string_data, compact_small_strings)
13400 (free_large_strings, sweep_strings): New functions.
13401 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
13402 (struct string_block_head, current_string_block)
13403 (first_string_block, large_string_blocks, STRING_FULLSIZE)
13404 (STRING_PAD): Removed.
13405 (make_uninit_multibyte_string, make_pure_string): Rewritten.
13406 (Fgarbage_collect): Don't set mark bit in large strings.
13407 (mark_object): Mark strings differently. Mark symbol names
13408 differently.
13409 (survives_gc_p): Test marked strings differently.
427ec082 13410 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
13411 symbol names.
13412 (compact_strings): Removed.
13413
42608ba8
EZ
134142000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
13415
13416 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
13417 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
13418
e0a09e1a
KH
134192000-01-04 Kenichi Handa <handa@etl.go.jp>
13420
dd9f0750 13421 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 13422 in a non-empty buffer.
dd9f0750 13423
3c0f3b15 13424 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 13425
44cd3ae5
GM
134262000-01-03 Gerd Moellmann <gerd@gnu.org>
13427
13428 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
13429 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
13430
13431 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
13432
c182a70f
EZ
134332000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13434
13435 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
13436 need to test for MSDOS frames.
13437
24480d5b
EZ
134382000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13439
13440 * dosfns.c (unspecified_colors): Remove.
13441 (msdos_stdcolor_idx): Use global variables unspecified_fg and
13442 unspecified_bg.
13443 (msdos_stdcolor_name): Return strings for unspecified fore- and
13444 back-ground colors.
13445
13446 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 13447 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
13448 (tty_color_name): Return Lisp strings for unspecified fore- and
13449 back-ground colors.
13450 (Finternal_set_lisp_face_attribute): Remove the special treatment
13451 for Qunspecified_{f,b}g.
52283633 13452 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 13453
047f434a
GM
134542000-01-03 Gerd Moellmann <gerd@gnu.org>
13455
13456 * xdisp.c (reseat_at_next_visible_line_start): Position before
13457 newline only if ending up on a newline.
13458 (next_element_from_ellipsis): Return success. Handle case of
52283633 13459 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
13460 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
13461 returns 0.
13462
d684c676
EZ
134632000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13464
13465 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
13466 (Fcolor_supported_p): Renamed from face-color-supported-p.
13467
5fe1d139
EZ
134682000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13469
13470 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
13471 list of colors renamed to tty-defined-color-alist.
13472 (tty_color_name): Pass the frame to tty-color-by-index.
13473 (realize_tty_face): tty-color-alist is now a function which
13474 accepts the frame as argument.
13475
52283633 13476 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 13477
816be8b8
EZ
134782000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13479
13480 * term.c (insert_glyphs): Pass glyph, not &glyph, to
13481 encode_terminal_code.
13482
b635321e
EZ
134832000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13484
13485 * dispnew.c (mode_line_string): Support termcap frames as well.
13486
9b784e96
GM
134872000-01-01 Gerd Moellmann <gerd@gnu.org>
13488
27189709
GM
13489 * syntax.c (Fforward_word): Undo previous change.
13490
13491 * editfns.c (Fconstrain_to_field): Don't constrain if
13492 inhibit-field-text-motion is non-nil.
13493 (Fline_beginning_position): Undo previous change.
13494 (Fline_end_position): Ditto.
13495
13496 * syntax.c (Fforward_word): Notice field boundaries only if
13497 inhibit-field-text-motion is nil.
13498
13499 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
13500
13501 * editfns.c (Vinhibit_field_text_motion): New variable.
13502 (inhibit-field-text-motion): New DEFVAR_LISP.
13503 (Fline_beginning_position, Fline_end_position): Notice field
13504 boundaries only if inhibit-field-text-motion is nil.
13505
45158a91
GM
13506 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
13507 All calls adjusted.
13508 (x_build_heuristic_mask): Likewise.
13509 (xbm_load_image_from_file): Change error output.
13510 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
13511 (gif_load, gs_load, x_kill_gs_process): Ditto.
13512
9b784e96
GM
13513 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
13514 color indices when accessing raster pixels.
63cec32f
GM
13515 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
13516 one of :file or :data.
13517 (enum pbm_keyword_index): Add PBM_DATA.
13518 (pbm_format): Add :data.
13519 (pbm_image_p): Allow either :file or :data.
13520 (pbm_read_file): New function.
13521 (pbm_scan_number): Rewritten to read from string.
13522 (pbm_load): Support :data.
9b784e96 13523
2cb085db 13524See ChangeLog.8 for earlier changes.
6922b018
KH
13525
13526;; Local Variables:
49b3bd82 13527;; coding: iso-2022-7bit
6922b018 13528;; End:
2a34a036
GM
13529
13530 Copyright (C) 2001 Free Software Foundation, Inc.
13531 Copying and distribution of this file, with or without modification,
13532 are permitted provided the copyright notice and this notice are preserved.