#
[bpt/emacs.git] / src / ChangeLog
CommitLineData
98515cf0
JR
12001-10-21 Jason Rumney <jasonr@gnu.org>
2
3 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
4
93026d88
EZ
52001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
6
7 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
8 (Finsert_string): Avoid the multi-line string literals warning.
9
c9a95b79
MB
102001-10-22 Miles Bader <miles@gnu.org>
11
12 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
13 (Fdocumentation): Don't use it.
14 (syms_of_doc): Don't initialize it.
15
16 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
17 * print.c (Fwith_output_to_temp_buffer): Likewise.
18 * window.c (Fsave_window_excursion): Likewise.
19 * editfns.c (Fsave_excursion, Fsave_current_buffer)
20 (Fsave_restriction): Likewise.
21 * eval.c (Frun_hooks, Frun_hook_with_args)
22 (Frun_hook_with_args_until_failure)
23 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
24 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
25 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
26 (Funwind_protect, Fcondition_case): Likewise.
27 * coding.c (Ffind_operation_coding_system): Likewise.
28 * keyboard.c (Ftrack_mouse): Likewise.
29
a3b10252
MB
302001-10-21 Miles Bader <miles@gnu.org>
31
32 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
33 (Fmake_hash_table): Add usage: string to doc string.
34 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
35 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
36 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
37 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
38 (Fml_prefix_argument_loop): Likewise.
39
c6f73eec
PJ
402001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
41
888ebd13
PJ
42 * fileio.c (Finsert_file_contents): Remove unused variable
43 `gap_size'.
44
c6f73eec
PJ
45 * sysdep.c (init_sys_modes): Change doc-string comments to `new
46 style' [w/`doc:' keyword].
47
48 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
49 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
50 comments to `new style' [w/`doc:' keyword].
51
3cf3436e
JR
522001-10-21 Jason Rumney <jasonr@gnu.org>
53
54 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
55
c169b8f1
JR
56 * w32term.c (remember_mouse_glyph): New function.
57 (w32_mouse_position): Use it.
58 (note_mouse_movement): If the mouse moved off the glyph, remember
59 its new position.
60
4fdd691b
JR
61 * w32term.h (struct w32_output): Correct spelling of x_compatible.
62 (w32_display_info): Add mouse_face_overlay.
63
c169b8f1
JR
64 * w32term.c (notice_overwritten_cursor): Renamed from
65 note_overwritten_text_cursor. Rewritten to take glyph widths into
66 account.
67 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
68 (fast_find_string_pos): New function.
69 (fast_find_position): Return the correct vpos. Add parameter
70 STOP. In the final row, stop before glyphs having STOP as object.
71 Don't consider glyphs that are not from a buffer.
72 (fast_find_position) [0]: Add a presumably more correct version
73 for after 21.1.
74 (expose_window_tree, expose_frame): Don't compute intersections here.
75 (expose_window): Do it here instead.
76 (expose_window_tree, expose_window, expose_line): Return 1 when
77 overwriting mouse-face.
78 (expose_window): If W is the window currently being updated, mark
79 the frame garbaged.
80 (expose_frame): If mouse-face was overwritten, redo it.
81 (x_use_underline_position_properties): New variable.
82 (syms_of_xterm): DEFVAR_BOOL it.
83 (x_draw_glyph_string): Add comment to use it in future.
84 (x_draw_glyph_string): Restore clipping after drawing box.
85 Fix a computation of the underline position.
86 (w32_get_glyph_string_clip_rect): Minor cleanup.
87 (x_fill_stretch_glyph_string): Remove an assertion.
88 (x_produce_glyphs): Don't convert multibyte characters
89 to unibyte characters in unibyte buffers.
90 (cursor_in_mouse_face_p): New function.
91 (x_draw_stretch_glyph_string): Use it to choose a different GC
92 when drawing a cursor within highlighted text. Don't draw
93 background again if it has already been drawn.
94 (x_draw_glyph_string_box): Don't draw a full-width
95 box just because the glyph row's full_width_p flag is set.
96 (x_draw_glyphs): Fix computation of rightmost x for
97 full-width rows.
98 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
99 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
100 change bottom shadow accordingly. Some cleanup.
101 (x_update_window_end): Handle overwritten mouse face
102 also for tool bar windows.
103 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
104 DRAW is DRAW_IMAGE_RAISED.
105 (clear_mouse_face): Return 1 if text with mouse face was
106 actually redrawn. Make the function static. Reset
107 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
108 optimize away highlighting if we pass over that same overlay again.
109 (note_mouse_highlight): Call mouse_face_overlay_overlaps
110 to detect a case where we have to highlight a different region
111 despite not having left the currently highlighted region.
112 Set mouse_face_overlay in the x_display_info. Avoid changing the
113 mouse pointer shape when show_mouse_face has already done it, or
114 there is no need. Handle mouse-face and help-echo in strings.
115 (glyph_rect): New function.
116 (w32_mouse_position): Use it to raise the threshold for mouse
117 movement event generation.
118 (w32_initialize_display_info): Initialize the x_display_info's
119 mouse_face_overlay.
120 (w32_set_vertical_scroll_bar): Don't clear a zero height
121 or width area.
122 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
123 a widget to zero height.
124
3cf3436e 125 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 126 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
127 equivalents in menu_items.
128 (w32_menu_show): Don't overwrite an item's name with its key
129 description in case the description is a multibyte string.
130 (single_submenu): Some cleanup.
131
132 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
133 (postprocess_image): New function.
134 (lookup_image): Call it for all image types except PostScript.
135 (x_kill_gs_process): Call postprocess_image.
136 (tiff_error_handler, tiff_warning_handler): New functions.
137 (tiff_load): Install them as handlers.
138 (x_kill_gs_process): Recognize if someone has cleared the image
139 cache under us.
140 (valid_image_p): Protect better against invalid image
141 specifications. Previous code could signal an error.
142 (Fx_hide_tip, Fshow_tip): Doc fix.
143 (Fv_max_tooltip_size): New variable.
144 (syns_of_xfns): DEFVAR_LISP it.
145 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
146 window buffer to *tip* right after creating the frame. Set frame's
147 window_width. Use a maximum tooltip size specified by
148 Vx_max_tooltip_size, if that has valid contents.
149 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
150 Make sure the tooltip is completely visible.
151 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
152 (Fx_create_frame): Adjust the frame's height for presence
153 of the tool bar before calling x_figure_window_size.
154 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
155 when the window gets smaller.
156 (x_set_foreground_color): Set frame's cursor_pixel.
157 (x_set_foreground_color, x_set_background_color): Cleaned up.
158 (x_set_font): Handle case of x_new_fontset returning the same name
159 as before, although there was a change in fontsets.
160
386ca361
MB
1612001-10-21 Miles Bader <miles@gnu.org>
162
163 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
164 (Flogxor): Add usage: string to doc string.
165 * charset.c (Fstring): Likewise.
166 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
167 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
168
14ff1ee0
PJ
1692001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
170
03be2694
PJ
171 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
172
173 * alloc.c: Reindent DEFUNs with doc: keywords.
174
175 * abbrev.c (Finsert_abbrev_table_description): Reindent.
176
14ff1ee0
PJ
177 * frame.c: Change doc-string comments to `new style' [w/`doc:'
178 keyword].
179
71431a0e
GM
1802001-10-20 Gerd Moellmann <gerd@gnu.org>
181
6aa97356 182 * (Version 21.1 released.)
71431a0e 183
39f624fa
PJ
1842001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
185
c0a53abb
PJ
186 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes
187 removed.
188
189 * xdisp.c (invisible_text_between_p): Put prototype inside #if
190 0 because unused.
191
192 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
fdb82f93 193 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c: Change
c0a53abb 194 doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 195
abcce93a
MB
1962001-10-20 Miles Bader <miles@gnu.org>
197
198 The following changes remove the glyph_row `inverse_p' field,
199 which is never set anymore, due to other changes:
200
201 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
202 (reassert_line_highlight, change_line_highlight): Declarations removed.
203 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
204 (line_hash_code, row_equal_p, fake_current_matrices)
205 (build_frame_matrix_from_leaf_window, update_frame_line)
206 (update_frame_line, update_frame_line, update_frame_line):
207 Don't use `inverse_p' field.
208 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
209 change_line_highlight_hook.
210 (XTreassert_line_highlight, x_change_line_highlight):
211 Functions removed.
212 (x_fix_overlapping_area, x_write_glyphs, expose_area)
213 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
214 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
215 `inverse_p' field.
216 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
217 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
218 (w32_reassert_line_highlight, x_change_line_highlight):
219 Functions removed.
220 * w32console.c (reassert_line_highlight, change_line_highlight):
221 Functions removed.
222 (initialize_w32_display): Don't set reassert_line_highlight_hook
223 or change_line_highlight_hook.
224 (hl_mode): Function removed.
225 (reset_terminal_modes, set_terminal_modes, update_begin)
226 (update_end, w32_face_attributes, initialize_w32_display):
227 (clear_frame, ins_del_lines): Don't call it.
228 * termhooks.h (reassert_line_highlight_hook)
229 (change_line_highlight_hook): Declarations removed.
230 * term.c (reassert_line_highlight_hook)
231 (change_line_highlight_hook): Variables removed.
232 (reassert_line_highlight, change_line_highlight): Functions removed.
233 * msdos.c (IT_reassert_line_highlight)
234 (IT_change_line_highlight): Functions removed.
235 (internal_terminal_init): Don't set reassert_line_highlight_hook
236 or change_line_highlight_hook.
237 (highlight): Variable removed.
238 (IT_set_face, IT_update_begin, IT_update_end)
239 (IT_set_terminal_modes): Don't set or use it.
240
241 The following changes remove inverse-video support for terminals
242 that use a `magic cookie' standout mode. Due to changes in the
243 way mode-lines are displayed, such support no longer works
244 anyway, and it's probable that almost no one uses such terminals
245 anymore:
246
247 * term.c (standout_requested): Variable removed.
248 (update_end, highlight_if_desired): Don't use it.
249 (chars_wasted, copybuf): Variables removed.
250 (write_standout_marker): Function removed.
251 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
252 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
253 Don't use `chars_wasted' or `copybuf'.
254 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
255 Set `costs_set' to true.
256 (cursor_to, clear_end_of_line): Test `costs_set' instead of
257 `chars_wasted'.
258 (clear_end_of_line): Function removed.
259 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
260 (clear_to_end): Call `clear_end_of_line' instead of
261 `clear_end_of_line_raw'.
54800acb
MB
262 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
263 (term_init): Don't set them.
264 Turn off any standout/underline modes that require magic cookies.
265 (ins_del_lines, highlight_if_desired, background_highlight)
266 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
267 Remove special processing for magic-cookie standout modes.
268 (turn_off_face, turn_on_face): Remove special processing for
269 underline magic-cookie glitch.
abcce93a 270
0b5f679f
RS
2712001-10-19 Richard M. Stallman <rms@gnu.org>
272
273 * eval.c (syms_of_eval): Doc fixes.
274
5a4a5bd4
GM
2752001-10-19 Gerd Moellmann <gerd@gnu.org>
276
277 * xdisp.c (redisplay_internal): Don't clear echo area if the
278 mini-window is selected.
279
79f1f96c
MB
2802001-10-19 Miles Bader <miles@gnu.org>
281
b57c2708
MB
282 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
283 doesn't take precedence if the affected property's value is nil.
284
285 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
286
79f1f96c
MB
287 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
288 with fields and suggest using `forward-line' to avoid them.
289 * editfns.c (Fline_beginning_position, Fline_end_position):
290 Clarify documentation.
291
ef879104
SM
2922001-10-18 Stefan Monnier <monnier@cs.yale.edu>
293
294 * keymap.c (current_minor_maps): `override' only shadows its
295 correspondent in minor-mode-map-alist, not the whole tail.
296
97f4db8c
AI
2972001-10-18 Andrew Innes <andrewi@gnu.org>
298
299 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
300 optimization. The fontp->encoding array was not being initialized
301 correctly when compiled with optimizations by MSVC.
302
e6b70fd8
GM
3032001-10-18 Gerd Moellmann <gerd@gnu.org>
304
30903479 305 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 306
0e804d38
AI
3072001-10-17 Andrew Innes <andrewi@gnu.org>
308
309 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
310
311 * w32fns.c (w32_load_system_font): Cache codepage for font, in
312 font_info.charset field.
313
314 * w32term.c (w32_encode_char): Get cached codepage from font_info,
315 rather than working it out by calling w32_codepage_for_font for
316 every glyph.
317
66e5868a
AI
3182001-10-17 Andrew Innes <andrewi@gnu.org>
319
320 * w32term.c (w32_read_socket): Determine clipping rectangle for
321 the entire frame, including areas covered by scrollbars and the
322 menubar. This avoids internal arguments about whether a frame is
323 fully obscured or not.
324
15b00083
GM
3252001-10-17 Gerd Moellmann <gerd@gnu.org>
326
23e8bd86
GM
327 * xdisp.c (try_window_id): Undo last change. Give up if
328 window ends in strings.
30903479 329
9c6ba6d1 330 * xdisp.c (try_window_id): Don't display lines after the window
30903479 331 end if the rest of the window after the window end was already blank.
23e8bd86 332
30903479 333 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
334 for the release of 21.1.
335
30903479 336 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 337
945220bd
MB
3382001-10-17 Miles Bader <miles@gnu.org>
339
340 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
341 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
342 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
343 Change doc-string comments to `new style' [w/`doc:' keyword].
344 (DOC_STRINGS_IN_COMMENTS): Macro removed.
345 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
346 out make-docfile.
347
14242528
MB
3482001-10-16 Miles Bader <miles@gnu.org>
349
350 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
351
3ddf952f
GM
3522001-10-16 Gerd Moellmann <gerd@gnu.org>
353
354 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
355 *scratch*.
356
f3fbd155
KR
3572001-10-16 Ken Raeburn <raeburn@gnu.org>
358
359 Avoid the assumption that car and cdr slots of cons cells are
360 addressable lvalues; this allows for easier experimentation with
361 other lisp implementations that may not permit such accesses for
362 various reasons. Not quite complete -- buffer.c still needs some
363 work, and w32/mac files need rechecking -- so compile-time
364 enforcement is left disabled for now.
365
366 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 367 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
368 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
369 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
370 (XSETCAR, XSETCDR): New macros.
371 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
372 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
373 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
374 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
375 XSETCDR.
376 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
377 * buffer.c (record_buffer, Fbury_buffer)
378 (swap_out_buffer_local_variables, recenter_overlay_lists)
379 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
380 fields of a cons cell respectively.
381 * callint.c (quotify_args, Fcall_interactively): Likewise.
382 * ccl.c (Fregister_code_conversion_map): Likewise.
383 * coding.c (detect_coding_system): Likewise.
384 * composite.c (get_composition_id, make_composition_value_copy):
385 Likewise.
30903479
SM
386 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
387 (swap_in_symval_forwarding, set_internal, Fset_default)
388 (Fmake_variable_buffer_local, Fmake_local_variable)
389 (Fmake_variable_frame_local): Likewise.
f3fbd155 390 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479
SM
391 * keymap.c (Fset_keymap_parent, store_in_keymap)
392 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap):
f3fbd155
KR
393 Likewise.
394 * minibuf.c (get_minibuffer): Likewise.
395 * search.c (Fmatch_data): Likewise.
396 * textprop.c (extend_property_ranges): Likewise.
397 * undo.c (record_insert, Fundo_boundary, truncate_undo_list):
398 Likewise.
399 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
400 Likewise.
401 * w32term.c (x_delete_display): Likewise.
402 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
403 Likewise.
404 * xterm.c (x_list_fonts, x_load_font, x_delete_display):
405 Likewise.
406 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 407 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
408 (Fread_file_name): Use XSETCAR.
409 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
410 CHECK_NUMBER_CDR.
411 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
412 * frame.c (Fmake_terminal_frame): Use XSETCDR.
413 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
414 CHECK_NUMBER_CDR.
415 * keyboard.c (read_char): Alter list traversal to avoid taking the
416 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
417 (parse_menu_item): Use XSETCAR and XSETCDR.
418 (reach_char_x_menu_prompt): Use XSETCAR.
419 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
420 (Fcommand_execute): Use XSETCDR.
421 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
422 (openp): Change list traversal to avoid using XCAR as lvalue.
423 (read_list): Use XSETCDR.
424 * process.c (wait_reading_process_input): Change wait_for_cell
425 handling to avoid taking addresses of cons cell slots.
30903479
SM
426 * xselect.c (x_own_selection, x_handle_selection_clear)
427 (x_clear_frame_selections): Use XSETCDR.
428 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
429 (x_handle_property_notify, x_get_foreign_selection)
430 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 431
502150e5
PJ
4322001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
433
018ba359
PJ
434 * buffer.c: Put doc strings in comments.
435
30903479 436 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 437
b56ba8de
SS
4382001-10-15 Sam Steingold <sds@gnu.org>
439
440 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
441
6a0b793a
PJ
4422001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
443
30903479
SM
444 * process.c (process-inherit-coding-system-flag)
445 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
446 in comment.
447
a1f17501 448 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 449 arguments. Put doc strings in comments.
a65da641
PJ
450
451 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 452
aa601ad0
GM
4532001-10-15 Gerd Moellmann <gerd@gnu.org>
454
30903479 455 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 456
aa601ad0
GM
457 * window.c (select_window_1): Unfreeze window start. Remove a
458 doubled test for WINDOW being live.
459
288148a1
PJ
4602001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
461
dd8d1e71
PJ
462 * fns.c (Fmapconcat): Fix typo in a doc string.
463
288148a1
PJ
464 * dispnew.c (Fsleep_for): Fix typo in a doc string.
465
9f5eb4a3
GM
4662001-10-15 Gerd Moellmann <gerd@gnu.org>
467
468 * xterm.c (x_draw_glyph_string): Restore clipping after
469 drawing box.
470
dbae44c8
PJ
4712001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
472
30903479 473 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 474
0c88c937
SM
4752001-10-14 Stefan Monnier <monnier@cs.yale.edu>
476
56378db4
GM
477 * indent.c (skip_invisible): Use new retval of
478 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 479
845e4cf4
SM
480 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
481 If a parent is reached and noinherit is set, exit immediately.
482 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
483
0c88c937
SM
484 * s/ms-w32.h (EXEC_SUFFIXES):
485 * s/msdos.h (EXEC_SUFFIXES):
486 * process.h (EXEC_SUFFIXES): Remove.
487
488 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
489 (decode_suffixes): Remove.
490
491 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
492 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
493 (invisible_ellipsis_p): Remove.
0c88c937
SM
494
495 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
496 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
497 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
498 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
499 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 500
d19be8a9
PJ
5012001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
502
04d7d066
PJ
503 * lisp.h (Ftop_level): Add prototype.
504
d624284c
PJ
505 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
506 (XTread_socket): Improve style of comments to follow other
507 comments.
508
a87414f9
PJ
509 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
510 is already prototyped in included lisp.h).
511
d19be8a9
PJ
512 * frame.c (Fset_mouse_position): Improve style of comment to
513 follow other comments.
514 (Fset_mouse_pixel_position): Improve style of comment to follow
515 other comments.
516 (Fmake_frame_visible): Doc fix and typo in comment.
517 (Fmake_frame_invisible): Doc fix and typo in comment.
518 (Ficonify_frame): Fix typo in comment.
519
c061c855
GM
5202001-10-14 Gerd Moellmann <gerd@gnu.org>
521
37f6b5b6 522 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 523 * term.c, alloc.c: Put doc strings in comments.
c061c855 524
e641b454
GM
5252001-10-13 Gerd Moellmann <gerd@gnu.org>
526
527 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
528 Provide definitions for doc strings in comments.
529
530 * fns.c: Put doc strings in comments.
531
51724e26
EZ
5322001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
533
534 * dired.c (file_name_completion): Ignore a candidate directory if
535 it matches an element in completion-ignored-extensions that ends
536 in a slash.
537 (syms_of_dired) <completion-ignored-extensions>: Mention the above
538 feature in the doc string.
539 (Ffile_name_completion): Ditto.
540
be5fc59b
SM
5412001-10-12 Stefan Monnier <monnier@cs.yale.edu>
542
5a1373f3
SM
543 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
544
545 * xfns.c (syms_of_xfns): Update calls to Fprovide.
546
547 * lisp.h (Fprovide): Update prototype.
548 (Ffeaturep, invisible_p): Remove.
549
bbc4a3d3 550 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
551 (DOLIST, LOOP_PROPVAL): New macros.
552 (invisible_p, invisible_ellipsis_p): Use them.
553 (invisible_noellipsis_p): New function.
554 (syms_of_xdisp): Use empty_string.
555
556 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
557
558 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
559 (syms_of_lread) <Vafter_load_alist>: Update docstring.
560
561 * print.c (Fwith_output_to_temp_buffer): Align with
562 internal_with_output_to_temp_buffer.
563 (print_preprocess): Use traverse_intervals_noorder.
564 (print_object): Update call to traverse_intervals.
565
566 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
567 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
568
569 * intervals.c (traverse_intervals_noorder): New function.
570 (search_for_interval, count_intervals): Use it.
571 (traverse_intervals): Use less stack space and drop `depth' arg.
572
573 * fns.c (Ffeaturep): Add new `subfeature' arg.
574 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
575 (Qsubfeatures): New var.
576 (syms_of_fns): Initialize it.
577
026f408d
SM
578 * keymap.c (Fkey_description): Use empty_string.
579 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
580 (syms_of_keymap): Setup inheritance between maps.
581 Don't export Sdescribe_bindings_internal any more.
582
be5fc59b
SM
583 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
584
3365175e
GM
5852001-10-12 Gerd Moellmann <gerd@gnu.org>
586
587 * xterm.c (notice_overwritten_cursor): Renamed from
588 note_overwritten_text_cursor. Rewritten to take glyph widths into
589 account.
590
2ab7765c
EZ
5912001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
592
593 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
594 multi-line strings without a trailing "\n\".
595
311346bb
PJ
5962001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
597
598 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
599 defined.
600
2168e04d
SM
6012001-10-11 Stefan Monnier <monnier@cs.yale.edu>
602
026f408d
SM
603 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
604
c0ec53ad
SM
605 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
606 * w32proc.c (sys_spawnve):
607 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
608 * w32.c (check_windows_init_file):
609 * sound.c (Fplay_sound):
026f408d 610 * emacs.c (init_cmdargs):
c0ec53ad
SM
611 * process.c (Fstart_process): Update calls to openp.
612
613 * callproc.c (Vexec_suffixes): New var.
614 (Fcall_process): Update call to openp.
615 (decode_suffixes): New function.
616 (syms_of_callproc): Init exec-suffixes.
617
618 * lread.c (Vload_suffixes, default_suffixes): New vars.
619 (openp): Take a lisp list of suffixes.
620 Check for file-name-handlers even if the file was absolute already.
621 (syms_of_lread): Declare load-suffixes.
622 (Fload): Fix up call to openp.
623 Don't bother checking for file-name-handler at the very beginning.
624
f6333468
SM
625 * keymap.h (Fcopy_keymap): Don't export.
626
627 * lisp.h (empty_string): Declare.
c0ec53ad
SM
628 (Vload_suffixes, Vexec_suffixes): Declare.
629 (openp): Update prototype.
f6333468
SM
630
631 * emacs.c (empty_string): New var.
632 (syms_of_emacs): Initialize it.
633
634 * search.c (wordify): Use it.
635
636 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
637 selected window if it's not displayed there. Handle the case
638 when the window is dedicated.
639 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
640
641 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
642
2168e04d
SM
643 * syntax.h (struct gl_state_s): Change the meaning of b_property.
644 Remove left_ok and right_ok.
645 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
646 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
647 new meaning of b_property.
648
649 * syntax.c (update_syntax_table): Simplify.
650 (Fforward_comment): Don't skip quoted chars when going backward.
651
13d95cc0
GM
6522001-10-11 Gerd Moellmann <gerd@gnu.org>
653
beb0990f
GM
654 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
655 in case I is of some unsigned type, in which case
656 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
657 comparison becomes bogus.
658
cb938d46
GM
659 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
660 (Fuser_full_name): Fix bug treating a float as a fixnum.
661
662 * data.c (Fstring_to_number): Use make_fixnum_or_float.
663
664 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 665
13d95cc0
GM
666 * lisp.h (circular_list_error): Add prototype.
667
668 * data.c (Qcircular_list): New variable.
669 (circular_list_error): New function.
670 (syms_of_data): Initialize it Qcircular_list.
671
e35f6ff7
SM
6722001-10-10 Stefan Monnier <monnier@cs.yale.edu>
673
674 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
675 casefiddle.c, buffer.c: Include keymap.h.
676
619632ac
GM
6772001-10-10 Gerd Moellmann <gerd@gnu.org>
678
679 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
680 options. From Dave Love <d.love@dl.ac.uk>.
681
5e5388f6
GM
6822001-10-09 Gerd Moellmann <gerd@gnu.org>
683
684 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
685 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
686
14a3dff7
GM
687 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
688 unsigned char.
689 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 690
76ba8daf
AI
6912001-10-08 Andrew Innes <andrewi@gnu.org>
692
693 * lisp.h [max]: Undef min and max before redefining them.
694
695 * w32gui.h: Do not undef min and max.
696
697 * w32heap.h: Do not undef min and max.
698
699 * s/ms-w32.h: Do not undef min and max.
700
166253cb
SM
7012001-10-08 Stefan Monnier <monnier@cs.yale.edu>
702
703 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
704
0c4d9527
SS
7052001-10-08 Sam Steingold <sds@gnu.org>
706
707 * keymap.c (current-active-maps): Quote newlines (compilation error).
708
14bfa771
EZ
7092001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
710
711 * Makefile.in (lisp, shortlisp): Replace bindings.el with
712 bindings.elc, since otherwise doc strings in bindings.el get wrong
713 offsets in etc/DOC.
714
bdb7aa47
SM
7152001-10-08 Stefan Monnier <monnier@cs.yale.edu>
716
9985827f
SM
717 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
718
719 * keyboard.h (map_prompt): Remove.
720
721 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 722 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 723
bdb7aa47
SM
724 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
725
726 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
727
728 * keyboard.c (map_prompt): Remove.
729 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
730 Use Fkeymap_prompt.
731
732 * keymap.h: New file. Extracted from lisp.h.
733
9985827f
SM
734 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
735 (accessible_keymaps_1): New function.
736 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
737 (Fwhere_is_internal): Use Fcurrent_active_maps.
738 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
739 Insert in current buffer rather than standard-output.
740 Don't call `help-mode'. Export to elisp.
741 (describe_buffer_bindings): New wrapper.
742 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
743 and Sdescribe_buffer_bindings.
744
402c9a51
GM
7452001-10-08 Gerd Moellmann <gerd@gnu.org>
746
9985827f 747 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
748 Remove code setting signal handler.
749
9985827f 750 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
751 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
752
3fe81fdf
PJ
7532001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
754
755 * keyboard.c: Don't define min/max.
756
55fa7820
GM
7572001-10-08 Gerd Moellmann <gerd@gnu.org>
758
9985827f 759 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 760 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 761 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 762 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 763 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
764 Don't define min/max.
765
766 * lisp.h (min, max): New macros.
767
55fa7820
GM
768 * puresize.h (BASE_PURESIZE): Increase to 725000.
769
1aad31e4
PJ
7702001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
771
9180dc8c
PJ
772 * xfaces.c (free_frame_menubar): Add prototype.
773
01f67d2c
PJ
774 * lisp.h (init_window): Add prototype.
775
776 * editfns.c: Include ctype.h.
777
778 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 779 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
780 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
781 variable `sb'.
782
5f351ff1
PJ
783 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
784 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
785 `popup_activated_flag' and `title'.
786
479dfe87
PJ
787 * doc.c (Fdocumentation_property): Fix typo in a doc string.
788
dff49fc8
PJ
789 * emacs.c (main): Remove extra `;'.
790
248ac615
PJ
791 * atimer.h (struct atimer): Fix typos in a comment.
792
793 * atimer.c: Fix typo.
794
af232c7d
PJ
795 * Makefile.in: Fix typo.
796
797 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 798
d876f455
MB
7992001-10-07 Miles Bader <miles@gnu.org>
800
801 * Makefile.in (lisp, shortlisp): Add `button.elc'.
802
0037e2f2
KR
8032001-10-07 Ken Raeburn <raeburn@gnu.org>
804
b056f36d
KR
805 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
806 Lisp_Object.
807
0037e2f2
KR
808 * lisp.h (Ffield_end): Declare.
809
1a4372ef
GM
8102001-10-07 Gerd Moellmann <gerd@gnu.org>
811
a4a74e8c
GM
812 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
813
814 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
815
816 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
817
818 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
819
1a4372ef
GM
820 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
821 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
822
823 * alloc.c (inhibit_garbage_collection): Simplify.
824 (Fmemory_use_counts): Ditto.
825
9985827f 826 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
827 (syms_of_data): DEFVAR_INT most-positive-fixnum and
828 most-negative-fixnum.
829
9985827f 830 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
831 (FIXNUM_OVERFLOW_P): New macros.
832
4650e362
MB
8332001-10-06 Miles Bader <miles@gnu.org>
834
835 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
836 scroll_bar_bottom_shadow_pixel fields.
837 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
838 for the shadows, and tell the toolkit about them if we succeed.
839 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
840 Free scroll-bar shadow colors.
841 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
842 Free scroll-bar shadow colors when the background color changes.
843 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
844 Initialize scroll-bar shadow-color fields.
845
ace64e0a
GM
8462001-10-05 Gerd Moellmann <gerd@gnu.org>
847
848 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
849
ec66bdc7
MB
8502001-10-05 Miles Bader <miles@gnu.org>
851
9985827f
SM
852 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
853 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 854 New functions (were in simple.el).
9985827f 855 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
856 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
857 (syms_of_minibuf): Initialize them.
858
a0fb4492
GM
8592001-10-05 Gerd Moellmann <gerd@gnu.org>
860
861 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
862 (tiff_load): Install them as error and warning handler.
863
0bcf87c1
AI
8642001-10-04 Andrew Innes <andrewi@gnu.org>
865
866 * w32fns.c (x_to_w32_color): Fix argument to alloca.
867 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 868 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
869 (x_to_w32_charset): Handle private format for unknown charsets.
870 Handle wildcards in charset spec, by ignoring them.
871 (w32_codepage_for_font): Fix argument to alloca. Don't remove
872 "*-" prefix from charset.
873 (x_to_w32_font): Enlarge remainder array for safety. Specifically
874 handle the truncated font spec form constructed by font_list_1, so
875 that we correctly identify the charset fields. Don't remove "*-"
876 prefix from charset.
877 (w32_list_synthesized_fonts): Fix argument to alloca.
878
c89e4bc5
GM
8792001-10-04 Stefan Monnier <monnier@cs.yale.edu>
880
881 * window.h (MINI_WINDOW_P): Use NILP.
882
883 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
884
885 * termhooks.h (struct input_event): Use proper type for `kind'.
886
8872001-10-04 Gerd Moellmann <gerd@gnu.org>
888
889 This handles unknown keysyms better than before. For example,
890 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
891 Emacs formerly completely ignored F5. With the change, it derives
892 a key symbol from the name of the X keysym, `ccaron' in this case.
893 Reported by Martin Buchholz.
894
895 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
896 unknown keysyms.
897
898 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
899 that EVENT->code isn't a function key, use the keysym's name.
900
9012001-10-04 Gerd Moellmann <gerd@gnu.org>
902
903 FOREACH is a macro that should make it easier to loop over Lisp
904 lists with checks for cycles and proper lists.
905
906 * lisp.h (LIST_END_P, FOREACH): New macros.
907
9082001-10-04 Gerd Moellmann <gerd@gnu.org>
909
910 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
911 called for a lost connection. Prevent dumping core in this case.
912 Instead print the X error, and exit. On user request.
913
914 * xterm.c (error_msg): New variable.
915 (x_fatal_error_signal): New function.
916 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
917 as fatal_error_signal_hook around the call to XtCloseDisplay.
918
919 * emacs.c (fatal_error_signal_hook): New variable.
920 (fatal_error_signal): Call that function.
921
9222001-10-04 Gerd Moellmann <gerd@gnu.org>
923
924 With this, Emacs prints how much pure storage it will
925 approximately need in case pure storage overflows while dumping.
926
927 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
928 New variables.
929 (init_alloc_once): Initialize new variables.
930 (PURE_POINTER_P): Use new variables.
931 (pure_alloc): If pure storage overflows, allocate from the heap.
932 (check_pure_size): New function.
933 (Fgarbage_collect): Don't GC if pure storage has overflowed.
934
935 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
936 (check_pure_size): Add prototype.
937
938 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
939
9402001-10-04 Gerd Moellmann <gerd@gnu.org>
941
942 This adds a post-gc-hook that's run with GC inhibited.
943 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
944
945 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
946 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
947 (Fgarbage_collect): Run post-gc-hook.
948
9492001-10-04 Gerd Moellmann <gerd@gnu.org>
950
951 This adds `defvaralias' and `indirect-variable'. Changes not
952 directly related to this feature are there to gain the same
953 performance again as before variable aliases.
954
955 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
956 code to get and set symbol values, to take defvaralias into account.
957
958 (Note: the new `constant' bit-flag in symbols would make it
959 possible to define arbitrary read-only variables, e.g. with
960 `defconst'.)
961
962 Documentation is in lispref/variables.texi. Added to NEWS.
963
964 * lisp.h (enum symbol_interned): New enumeration.
965 (struct Lisp_Symbol): Remove member `obarray', add
966 `indirect_variable', `constant', and `interned'.
967 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
968 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
969 (indirect_variable): Add prototype.
970
971 * print.c (print_preprocess, print_object): Test internedness of
972 symbols differently.
973
974 * lread.c (Fintern, Funintern): Set symbol's interned and constant
975 bit-fields.
976 (init_obarray): Likewise for t and nil.
977
978 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
979 (Fdefvaralias): New function.
980 (specbind): Simplify the test if symbol is a constant.
981 (syms_of_eval): Defsubr Fdefvaralias.
982
983 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
984 (Qcyclic_variable_indirection): New variable.
985 (Fkeywordp): Check for internedness differently.
986 (Fmakunbound): Simplify the test if symbol is a constant.
987 (indirect_variable, Findirect_variable): New functions.
988 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
989 aliased symbol.
990 (let_shadows_buffer_binding_p): Check for variable aliases.
991 (set_internal): Simplify the test if SYMBOL is a constant.
992 If SYMBOL has a buffer-local value and is an alias, use the aliased
993 symbol instead.
994 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
995 Sindirect_variable.
996
997 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
998 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
999 set directly.
1000
1001 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
1002
1003 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
1004 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
1005 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
1006
ab952a4f
GM
10072001-10-04 Gerd Moellmann <gerd@gnu.org>
1008
1009 * Branch for 21.1.
b56ba8de 1010
ba88ff28
MB
10112001-10-03 Miles Bader <miles@gnu.org>
1012
1013 * callproc.c (syms_of_callproc): Explicitly state in the
1014 documentation for `process-environment' that earlier entries take
1015 precedence over later ones.
1016
ae1a9581
MB
10172001-10-02 Miles Bader <miles@gnu.org>
1018
1019 * textprop.c (Fnext_char_property_change)
1020 (Fprevious_char_property_change): Remove reference to non-existant
1021 argument OBJECT from doc-string.
1022
257e3f57
GM
10232001-10-01 Gerd Moellmann <gerd@gnu.org>
1024
1025 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
1026 (try_window_id): Skip back over lines ending in a newline from a
1027 string.
1028
1029 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
1030 New bit flag
1031
c1f29759
RS
10322001-10-01 Richard M. Stallman <rms@gnu.org>
1033
1034 * search.c (Freplace_match): Doc fix.
1035
c30dce3d
AI
10362001-09-28 Andrew Innes <andrewi@gnu.org>
1037
1038 * w32menu.c (set_frame_menubar): Take into account that
1039 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
1040 <raeburn@gnu.org>.
1041
03be5931
EZ
10422001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
1043
1044 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
1045
75bec752
PJ
10462001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1047
1048 * s/gnu-linux.h: Fix a typo in comment.
1049
83100e0a
AS
10502001-09-28 Andreas Schwab <schwab@suse.de>
1051
1052 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
1053 nocombreloc, in case -z combreloc is the default.
1054
a74b48cf
GM
10552001-09-28 Gerd Moellmann <gerd@gnu.org>
1056
1057 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
1058 really going on here.
1059
09c4719e
SM
10602001-09-27 Stefan Monnier <monnier@cs.yale.edu>
1061
1062 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
1063
f7d5d963
EZ
10642001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
1065
1066 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
1067 utf-8, menu-bar, and latin-N.
1068 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
1069 unconditionally now.
1070 (lisp): Add latin-N, since they are preloaded.
1071
9240e746
GM
10722001-09-27 Gerd Moellmann <gerd@gnu.org>
1073
14531065
GM
1074 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
1075 to the left. Some cleanup.
1076
9240e746
GM
1077 * xdisp.c (display_mode_element): One more case where a string's
1078 multibyteness should be used for display.
1079
edd1e654
GM
10802001-09-26 Gerd Moellmann <gerd@gnu.org>
1081
b02439c8
GM
1082 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
1083 reading at EOF.
1084
032906b1 1085 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 1086 of the only temporarily set echoing flag for deciding when
032906b1
GM
1087 the cancel echoing.
1088
1089 * keyboard.c (echo_kboard): Make externally visible.
1090
1091 * lisp.h (echo_kboard): Declare extern.
1092
cb617e7c 1093 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 1094 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
1095 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
1096 this round of redisplay if make_cursor_line_fully_visible fails.
1097 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 1098 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
1099
1100 * dispextern.h (required_matrix_width, required_matrix_height):
1101 Add prototypes.
1102
09c4719e
SM
1103 * dispnew.c (required_matrix_width, required_matrix_height):
1104 New functions.
cb617e7c 1105 (allocate_matrices_for_window_redisplay)
09c4719e
SM
1106 (allocate_matrices_for_frame_redisplay: Use them.
1107 Remove parameters CH_DIM.
cb617e7c 1108
edd1e654
GM
1109 * xdisp.c (display_mode_lines): Temporarily set selected_frame
1110 and selected_window to the frame of the window whose mode-lines
1111 are displayed, and to the window itself.
1112 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 1113 here.
edd1e654 1114
924b604c
GM
11152001-09-25 Gerd Moellmann <gerd@gnu.org>
1116
daba7643
GM
1117 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
1118 the image cache under us.
1119
b7a22712 1120 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 1121 with a string value, use that string's multibyteness for displaying.
b7a22712 1122
ad648212
GM
1123 * keyboard.c (read_char): Don't clear a message for a switch-frame
1124 event. From Stefan Monnier <monnier@cs.yale.edu>.
1125
9f8531e5
GM
1126 * xterm.c (fast_find_position) [0]: Add a presumably more correct
1127 version for after 21.1.
1128
1129 * xdisp.c (row_containing_pos): Make externally visible.
1130
1131 * dispextern.h (row_containing_pos): Add prototype.
1132
924b604c
GM
1133 * process.c (send_process): Disable composition if from_byte < 0.
1134 From Kenichi Handa <handa@etl.go.jp>.
1135
6f3f0db4
GM
11362001-09-24 Gerd Moellmann <gerd@gnu.org>
1137
c69c0ebc
GM
1138 * xterm.c (refreshicon): Function removed.
1139
d1182bc4
GM
1140 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
1141
1142 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
1143
1144 * xterm.c (toplevel): Remove includes in #if 0.
1145
6f3f0db4
GM
1146 * process.c (sigchld_handler) [LINUX]: Don't return from
1147 the signal handler at the end of the loop.
1148
59957f85
GM
11492001-09-21 Gerd Moellmann <gerd@gnu.org>
1150
09c4719e
SM
1151 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
1152 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 1153
a0528984
EZ
11542001-09-21 Markus Rost <rost@math.ohio-state.edu>
1155
1156 * Makefile.in (shortlisp): Add ../lisp/env.elc.
1157
db92b288
GM
11582001-09-20 Gerd Moellmann <gerd@gnu.org>
1159
3fed8ad5
GM
1160 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
1161 since this function can be called during GC.
1162
db92b288
GM
1163 * callproc.c (Fcall_process): Handle errors from pipe(2).
1164 (child_setup): Delete code in #ifdef vipc.
1165
7121b85a
GM
11662001-09-19 Gerd Moellmann <gerd@gnu.org>
1167
72f62cb5
GM
1168 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
1169 (display_mode_element): Display the string from decode_mode_spec
1170 depending on its multibyteness.
1171
a2697022
GM
1172 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
1173
7121b85a
GM
1174 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
1175
bfc97351
GM
11762001-09-18 Gerd Moellmann <gerd@gnu.org>
1177
c9063433
GM
1178 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
1179 recursive_edit_unwind.
1180 (recursive_edit_unwind): Set kboard state according to
1181 SINGLE-KBOARD.
1182
3fbdba3e
GM
1183 * buffer.c (modify_overlay): Don't do nothing if START == END;
1184 This can still be a modification, for example when an overlay has
1185 a before-string or after-string.
1186 (Fdelete_overlay): Prevent redisplay optimizations when deleting
1187 an overlay with before-string or after-string.
1188
1270031d
GM
1189 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
1190 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
1191
bfc97351
GM
1192 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
1193 first_unchanged_at_end_row is in front of
1194 last_unchanged_at_beg_row. This code should be removed after the
1195 release of 21.1.
1196
d8a973aa
GM
11972001-09-17 Gerd Moellmann <gerd@gnu.org>
1198
e18c8b8d
GM
1199 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
1200 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
1201
d8a973aa
GM
1202 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
1203 versions >= 2.95.
1204
ed7d6ba4
EZ
12052001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
1206
1207 * dired.c (Ffile_attributes): Doc fix.
1208
551629f9
GM
12092001-09-14 Gerd Moellmann <gerd@gnu.org>
1210
1211 * fileio.c (Ffile_symlink_p): Fix last change.
1212
1213 * filelock.c (current_lock_owner): Fix last change.
1214
4c8c7926
GM
12152001-09-13 Gerd Moellmann <gerd@gnu.org>
1216
620c4704
GM
1217 * filelock.c (current_lock_owner): If readlink returns ERANGE,
1218 take that to mean that the buffer is too small.
1219
81c3310d
GM
1220 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
1221 that to mean that the buffer is too small.
1222
06fd3792
GM
1223 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
1224 current buffer's multibyteness when discarding the iterator's
1225 stack.
1226
4c8c7926
GM
1227 * xfns.c (Fx_window_property): Handle case that property gets
1228 deleted between the two calls to XGetWindowProperty.
1229
9a72e4c1
GM
12302001-09-11 Gerd Moellmann <gerd@gnu.org>
1231
bd819d14 1232 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 1233
a41edd99
GM
1234 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
1235 in addition to read-only.
1236
1237 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
1238 to t in addition to read-only.
1239
1240 * lisp.h (Qinhibit_modification_hooks): Declare.
1241
1242 * insdel.c (Qinhibit_modification_hooks): New variable.
1243 (syms_of_insdel): Initialize and staticpro it.
1244
d4881c6a
GM
1245 * textprop.c (verify_interval_modification): Don't run
1246 modification-hooks if inhibit_modification_hooks.
1247
1248 * dispnew.c (set_window_cursor_after_update): Fix code
1249 finding glyph row containing cursor when cursor_in_echo_area
1250 is >= 0.
1251
9a72e4c1
GM
1252 * xdisp.c (init_from_display_pos): Put some code in #if 0.
1253 (add_to_log): Use bcopy instead of strcpy.
1254 (init_from_display_pos): Use an explicit loop over bytes in
1255 overlay strings instead of calling index.
1256
f4a374a1
GM
12572001-09-10 Gerd Moellmann <gerd@gnu.org>
1258
300e57bd
GM
1259 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
1260
1261 * dispnew.c (direct_output_for_insert): Don't change IT's
1262 stop_charpos to something in front of its current position.
1263
f4a374a1
GM
1264 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
1265 `format'.
1266
7e4cbc91
RS
12672001-09-10 Richard M. Stallman <rms@gnu.org>
1268
1269 * frame.c (Fmouse_position): Doc fix.
1270
6afad91e
GM
12712001-09-07 Gerd Moellmann <gerd@gnu.org>
1272
1273 * xdisp.c (init_from_display_pos): Don't compare the result
1274 of calling index with NULL.
1275
f76e0368
GM
12762001-09-06 Gerd Moellmann <gerd@gnu.org>
1277
1278 * xfns.c (x_set_background_color): Don't change the colors
1279 of the X window of scroll bar widgets.
1280
9ead1b60
AI
12812001-09-05 Andrew Innes <andrewi@gnu.org>
1282
1283 * w32fns.c (w32_createwindow): Undo last change.
1284
c3b497b3
GM
12852001-09-05 Gerd Moellmann <gerd@gnu.org>
1286
08e1d6df
GM
1287 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
1288
c3b497b3
GM
1289 * xdisp.c (string_buffer_position): Use *single_char_property*
1290 functions instead of the *single_property* functions.
b56ba8de 1291
8f860180
AI
12922001-09-04 Andrew Innes <andrewi@gnu.org>
1293
9a72e4c1
GM
1294 * w32term.c (w32_read_socket): Add more information to debugging
1295 output.
8f860180
AI
1296
1297 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
1298 from Emacs frames, so that calls to GetClipBox in w32term.c
1299 correctly report when part of a frame is visible (including
1300 scrollbars, etc). This prevents repeated redrawing of frames when
1301 only a scrollbar is visible.
1302 (w32_wnd_proc): Add more frame information to debugging output.
1303
2ee1aa00
SM
13042001-09-03 Stefan Monnier <monnier@cs.yale.edu>
1305
1306 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
1307
e3b22517
GM
13082001-09-03 Gerd Moellmann <gerd@gnu.org>
1309
7e376260
GM
1310 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
1311 help-echo for a string which doesn't have help-echo itself, use
1312 get-char-property to obtain the help-echo from the string's buffer
1313 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
1314 have mouse-face, look ``under'' the string for mouse-face from an
1315 overlay.
1316 (fast_find_position): Add parameter STOP. In the final row, stop
1317 before glyphs having STOP as object. Don't consider glyphs that
1318 are not from a buffer.
1319
e3b22517
GM
1320 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
1321
9a249bba
EZ
13222001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
1323
1324 * fns.c (Fmd5): Doc fix.
1325
c9979669
GM
13262001-08-31 Gerd Moellmann <gerd@gnu.org>
1327
1328 * composite.c (update_compositions): Do nothing if
1329 inhibit-modification-hooks is set.
1330
9584e63a
GM
13312001-08-30 Gerd Moellmann <gerd@gnu.org>
1332
986ec8f2 1333 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 1334 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
1335 glyph matrices etc. in a core dump.
1336
92a25631
GM
1337 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
1338 (syms_of_xdisp): Initialize them.
1339 (handle_single_display_prop): Don't change point, bind `object',
1340 `position', and `buffer-position' instead to the object having the
2ee1aa00 1341 `display' property, position in the object and position in the buffer.
92a25631 1342
9584e63a
GM
1343 * fileio.c (Finsert_file_contents): Don't change the multibyteness
1344 of the buffer if REPLACE is non-nil.
1345
d38633a3
GM
13462001-08-29 Gerd Moellmann <gerd@gnu.org>
1347
1348 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
1349
f4fccc1e
EZ
13502001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
1351
1352 * w32term.c (x_set_glyph_string_background_width)
1353 (show_mouse_face): Track the last changes in xterm.c.
1354
eaaa65b0
GM
13552001-08-28 Gerd Moellmann <gerd@gnu.org>
1356
7b0870b2
GM
1357 * xterm.c (x_set_glyph_string_background_width): Set the glyph
1358 string's background width so that multi-line mouse-face is drawn
1359 to the right edge of the window.
1360 (show_mouse_face): Set the row's mouse_face_p flag after drawing
1361 glyphs.
1362
6b6e2422 1363 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 1364 before inserting/writing glyphs.
6b6e2422 1365
eaaa65b0
GM
1366 * xdisp.c (display_mode_element): Use string_byte_to_char to
1367 determine character positions in strings, use chars_in_text
1368 instead of strwidth.
1369 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
1370 a matrix as parameter; this is easier to use from GDB.
1371
9ad62cf8
MB
13722001-08-28 Miles Bader <miles@gnu.org>
1373
2ee1aa00
SM
1374 * textprop.c (Fprevious_single_char_property_change)
1375 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 1376
32171635
GM
13772001-08-27 Gerd Moellmann <gerd@gnu.org>
1378
47d57b22
GM
1379 * fileio.c (Finsert_file_contents): Allocate, restore, and
1380 free composition data in the case of REPLACE not being nil.
1381
1382 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
1383 there exist overlay strings with newlines at POS.
1384 (text_outside_line_unchanged_p): Return 0 if changes start at
1385 START and overlays exist at START. Likewise for END.
1386 (try_window_id): Give up if init_to_row_end returns 0.
1387
32171635
GM
1388 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
1389 unconditionally.
1390
e1249666
GM
13912001-08-24 Gerd Moellmann <gerd@gnu.org>
1392
33954c45
GM
1393 * keymap.c (access_keymap): Return the cdr of the binding of
1394 a generic character instead of its definition (KEY . BINDING).
1395
e1249666
GM
1396 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
1397 to 0 also in the REPLACE case.
1398
fb4c6c96
AC
13992001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
1400
1401 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
1402 open to determine whether file is readable (as for DOS_NT).
1403
59ecf80b
GM
14042001-08-23 Gerd Moellmann <gerd@gnu.org>
1405
1406 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
1407 coding.type is coding_type_no_conversion or coding_type_raw_text,
1408 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
1409 non-nil instead of just setting enable_multibyte_characters in the
1410 buffer to nil.
1411
40e33037
GM
14122001-08-22 Gerd Moellmann <gerd@gnu.org>
1413
374388c3
GM
1414 * dispextern.h (struct face_cache): Add member
1415 menu_face_changed_p.
1416
1417 * xfaces.c (menu_face_changed_default): New variable.
1418 (menu_face_changed_count): Variable removed.
1419 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
1420 the menu_face_changed_default flag, otherwise set the FRAME's
1421 menu_face_changed_p flag if the `menu' face has been changed.
1422 Prevent calling set_font_frame_param if FRAME is t.
1423 (make_face_cache): Initialize cache's menu_face_changed_p
1424 from menu_face_changed_default.
1425 (realize_basic_faces): Look into the frame's face cache to
1426 determine if the menu appearance needs updating.
1427
40e33037
GM
1428 * keymap.c (access_keymap): Fix last change to not consider
1429 IDX when it has modifiers.
1430
859ea4b8
GM
14312001-08-21 Gerd Moellmann <gerd@gnu.org>
1432
1433 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
1434 . BINDING) exists, where GENERIC-CHAR is the generic character of
1435 the charset of IDX, return BINDING unless there exists a binding
1436 for IDX itself.
1437
e8660d73
GM
14382001-08-16 Gerd Moellmann <gerd@gnu.org>
1439
cca1b1d7
GM
1440 * xrdb.c (SYSV): Don't define on Solaris 2.
1441 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
1442
e8660d73 1443 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 1444 of the screen line, not text line, containing IT's current position.
e8660d73 1445
93aba6fc
GM
14462001-08-15 Gerd Moellmann <gerd@gnu.org>
1447
288d4e06
GM
1448 * window.c (window_scroll_pixel_based): Don't recenter if
1449 PT is partially visible in the window.
1450
3452efc2
SM
1451 * xterm.c (expose_window_tree, expose_window, expose_line):
1452 Return 1 when overwriting mouse-face.
82f053ab
GM
1453 (expose_frame): If mouse-face was overwritten, redo it.
1454
93aba6fc
GM
1455 * xfaces.c (x_update_menu_appearance): Don't call
1456 set_frame_menubar, let the next redisplay do it.
1457
858a55c1
AI
14582001-08-14 Andrew Innes <andrewi@gnu.org>
1459
1460 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
1461 drawing glyph string.
1462
3a990b67
EZ
14632001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
1464
1465 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
1466 running HI-UX/MPP.
1467
04386463
GM
14682001-08-14 Gerd Moellmann <gerd@gnu.org>
1469
1470 * xfaces.c (x_update_menu_appearance): Save and restore value of
1471 interrupt_input_blocked.
1472
3e6385a4
GM
14732001-08-13 Gerd Moellmann <gerd@gnu.org>
1474
b0e619b4
GM
1475 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
1476 a line start, move back to the line start.
3452efc2 1477
0de73d5a
GM
1478 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
1479 exactly when a mini-buffer is active.
1480
3e6385a4
GM
1481 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
1482 in units of 1/8 character on non window-system frames.
1483 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
1484
d1b5f629
EZ
14852001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
1486
1487 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
1488 a doc string.
1489
eaa2319f
GM
14902001-08-09 Gerd Moellmann <gerd@gnu.org>
1491
8e3189f0
GM
1492 * keyboard.c (Vpre_help_message): New variable.
1493 (syms_of_keyboard): Initialize and staticpro it.
1494 (show_help_echo): Record current message before displaying a
1495 help-echo, and restore that message when clearing the help.
1496
eaa2319f
GM
1497 * xfns.c (x_create_im): Remove prototype.
1498
1499 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
1500
1501 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 1502
eaa2319f
GM
15032001-08-08 Gerd Moellmann <gerd@gnu.org>
1504
1505 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 1506 windows whose height has changed, disable partially visible lines.
eaa2319f 1507
17fdcfc8
GM
15082001-08-07 Gerd Moellmann <gerd@gnu.org>
1509
22d01aed 1510 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 1511 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 1512
17fdcfc8
GM
1513 * xdisp.c (start_display): Don't try to determine the continuation
1514 lines width if lines are truncated. It's superfluous and leads to
1515 incorrect results if POS is not visible in the window after
1516 reseating the iterator at the previous line start.
1517
8e3fe78e
GM
15182001-08-06 Gerd Moellmann <gerd@gnu.org>
1519
1520 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1521
98a8938c
GM
15222001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1523
1524 * alloc.c (init_stack): Remove declaration.
1525
18f9986a
GM
15262001-08-03 Gerd Moellmann <gerd@gnu.org>
1527
5e1f85e0
GM
1528 * keyboard.c (read_key_sequence): Check that key is an integer
1529 before comparing it with quit_char.
1530 (add_command_key): Use larger_vector.
1531 (read_char_x_menu_prompt): Instead of converting symbol and
1532 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 1533 which cannot be confused with valid events.
5e1f85e0
GM
1534 (read_char): When reading from Vunread_command_events, check for
1535 events of the form (EVENT . disabled) instead of
1536 (EVENT . nil).
1537
18f9986a
GM
1538 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
1539 a float, determine the max height from the frame's height.
1540
fbc7f2a6
GM
15412001-08-02 Gerd Moellmann <gerd@gnu.org>
1542
1543 * xdisp.c (redisplay_internal): Take message_cleared_p into
1544 account only if minibuf_level == 0.
1545
81b1a79d
GM
15462001-08-01 Gerd Moellmann <gerd@gnu.org>
1547
e5c60873
GM
1548 * xdisp.c (redisplay_internal): Add a check for the last
1549 displayed message.
3452efc2 1550
6e019995
GM
1551 * xdisp.c (message_cleared_p): New variable.
1552 (clear_message): Set message_cleared_p when clearing the current
1553 message.
1554 (redisplay_internal): Look at message_cleared_p to capture
1555 the case that the echo area should be cleared.
1556
308a74d8
GM
1557 * keyboard.c (command_loop_1): Fix spelling of
1558 resize_echo_area_exactly.
1559
3452efc2 1560 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
1561
1562 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
1563
81b1a79d
GM
1564 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
1565 current matrix when the window gets smaller.
1566
ada329e6
EZ
15672001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
1568
1569 * print.c (strout): Cast the character passed to insert_char to
1570 unsigned char, to avoid sign extension when it is promoted to int.
1571
ed86208c
GM
15722001-07-31 Gerd Moellmann <gerd@gnu.org>
1573
1574 * fileio.c (Finsert_file_contents): Don't treat a return value
1575 of 0 from emacs_read as an IO error.
1576
6594ac22
GM
15772001-07-30 Gerd Moellmann <gerd@gnu.org>
1578
cef68af5
GM
1579 * keyboard.c (abs): New macro.
1580 (double_click_fuzz): New variable.
1581 (make_lispy_event): Use it to determine what makes a double-click.
1582 (syms_of_keyboard): DEFVAR_INT it.
1583
6594ac22
GM
1584 * xmenu.c (set_frame_menubar): Take into account that
1585 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
1586 <raeburn@gnu.org>.
1587
75c5350a
GM
15882001-07-27 Gerd Moellmann <gerd@gnu.org>
1589
1590 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
1591
1592 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
1593 of row's visible height.
1594
1595 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
1596 deal with the first overlay string having an image `display' property.
1597 (try_window_reusing_current_matrix, compute_line_metrics):
1598 Fix computation of row's visible height for the case that part of the
75c5350a
GM
1599 row is invisible above and part of the row is at the same time
1600 invisible below the window.
1601
ac49effe
GM
16022001-07-26 Gerd Moellmann <gerd@gnu.org>
1603
1604 * xfns.c (x-show-tip): Doc fix.
3452efc2 1605
ac49effe
GM
1606 * xfns.c (Vx_max_tooltip_size): New variable.
1607 (syms_of_xfns): DEFVAR_LISP it.
1608 (Fx_show_tip): Set frame's window_width to the width of the
1609 window. Use a maximum tooltip size specified by
1610 Vx_max_tooltip_size, if that has valid contents.
1611 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 1612
8c3b00cb
AI
16132001-07-26 Andrew Innes <andrewi@gnu.org>
1614
1615 * w32term.c (x_display_list): New variable.
1616 (w32_term_init): Set it.
1617
1618 * w32term.h (x_display_list): New extern.
1619
16098288
GM
16202001-07-26 Gerd Moellmann <gerd@gnu.org>
1621
1622 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
1623 is non-nil, instead of when redisplaying_p is non-zero.
1624 See comment there.
16098288
GM
1625 (mark_window_display_accurate_1): Add an assertion.
1626
64c5be50
GM
16272001-07-25 Gerd Moellmann <gerd@gnu.org>
1628
e743f599
GM
1629 * dispextern.h (struct it): Increase size of ctl_chars to 16.
1630
563b384d
GM
1631 * xfns.c (Fx_file_dialog): Block/unblock input while processing
1632 events so that we get a chance of processing expose events.
1633
64c5be50
GM
1634 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
1635
296808a5
GM
16362001-07-24 Gerd Moellmann <gerd@gnu.org>
1637
1638 * xfns.c (valid_image_p): Protect better against invalid image
1639 specifications. Previous code could signal an error.
1640
5247262a
GM
16412001-07-23 Gerd Moellmann <gerd@gnu.org>
1642
3452efc2 1643 * indent.c (current_column): Fix column computation in the
f1004faf
GM
1644 presence of display table entries.
1645 (current_column_1, Fmove_to_column, compute_motion): Likewise.
1646
dd42b31a
GM
1647 * dispnew.c (adjust_glyph_matrix): In the optimization for
1648 windows whose height has changed, use the new window height
1649 to compute which rows to invalidate.
1650
9e5a7f2a
GM
1651 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
1652 (MAX_10_EXP): New macro.
1653 (Fformat): Use it.
1654
5247262a
GM
1655 * coding.c (code_convert_region): Handle the multibyte case if
1656 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
1657
177ab8ce
GM
16582001-07-20 Gerd Moellmann <gerd@gnu.org>
1659
6e07c0a5
GM
1660 * dispextern.h (struct face): Change type of `stipple' to
1661 int; it's an ID.
1662
177ab8ce
GM
1663 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
1664
b5b80599
GM
16652001-07-19 Gerd Moellmann <gerd@gnu.org>
1666
4e2a256b
GM
1667 * dispnew.c (update_window): Don't set the cursor at the end
1668 of the update if display update has been paused.
1669
3452efc2 1670 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 1671
c1fd9232
KR
16722001-07-18 Ken Raeburn <raeburn@gnu.org>
1673
1674 * fns.c (Fset_char_table_default): Check that a charset is defined
1675 before checking its dimension.
1676
928a85c1
KR
16772001-07-17 Ken Raeburn <raeburn@gnu.org>
1678
1679 * coding.c (setup_coding_system): Don't do any designation based
1680 on reg_bits if charset is not yet defined.
1681
fb4c6c96 1682 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
1683 pointer, using eassert.
1684
de11c1ea
GM
16852001-07-17 Gerd Moellmann <gerd@gnu.org>
1686
3452efc2
SM
1687 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
1688 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 1689
467f1209
GM
16902001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
1691
1692 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
1693
c3d6be34
GM
16942001-07-16 Gerd Moellmann <gerd@gnu.org>
1695
c1d61a7d
GM
1696 * fileio.c (unwind_read): Function removed.
1697 (read_non_regular, read_non_regular_quit): New functions.
1698 (Finsert_file_contents): When reading from non-regular files,
1699 arrange to catch a `quit' and terminate the loop. Rearrange
1700 code so that a `quit' when reading from a regular file doesn't
1701 insert text in the buffer.
1702
c3d6be34
GM
1703 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
1704 Clear faces afterwards.
1705 (clear_font_table): Take a x_display_info parameter. Don't free
1706 fonts being the default font of any frame on the given display.
1707
e06aa1f9
GM
17082001-07-13 Gerd Moellmann <gerd@gnu.org>
1709
1710 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
1711 instead of CHAR_STRING which can signal an error.
1712
1713 * charset.c (char_to_string_1): Extracted from char_to_string.
1714 Return -1 instead of signaling an error.
1715 (char_to_string): Use it.
1716
1717 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
1718
176c92e6
SM
17192001-07-12 Stefan Monnier <monnier@cs.yale.edu>
1720
1721 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
1722 is t, don't try to append anything to it.
1723
1c56232f
EZ
17242001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
1725
1726 * dired.c (file_name_completion): Pass dp->d_name to
1727 Fstring_match, not elt, which is always nil here.
1728
1d2b2268
GM
17292001-07-12 Gerd Moellmann <gerd@gnu.org>
1730
1731 * xselect.c (x_decline_selection_request): Handle errors
1732 caused by receivers that have vanished.
1733
1734 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
1735 ignoring events on foreign windows in #if 0. Always dispatch
1736 the event after checking it with x_handle_property_notify.
1737
1738 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
1739 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
1740 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
1741 (toplevel): Add prototypes for file-local functions.
1742 (x_atom_to_symbol): Remove DPYINFO parameter.
1743
fe5a0162
SM
17442001-07-11 Stefan Monnier <monnier@cs.yale.edu>
1745
1746 * w32menu.c (menubar_selection_callback, w32_menu_show):
1747 Initialize `entry' to nil.
1748 (w32_dialog_show): Remove unused `save_wv' variable.
1749 (name_is_separator): Recognize "--:foo" and "--foo-bar".
1750
a777242c
GM
17512001-07-11 Gerd Moellmann <gerd@gnu.org>
1752
8ee5b6a3
GM
1753 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
1754
d0e2444e
GM
1755 * fileio.c (unwind_read): Print a message when discarding inserted
1756 text or switching the buffer to unibyte. Change parameter.
1757 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 1758
a777242c
GM
1759 * fileio.c (unwind_read): New function.
1760 (Finsert_file_contents): Record it as unwind-function for
1761 the case that reading is interrupted by C-g.
1762
ae794295
GM
17632001-07-10 Gerd Moellmann <gerd@gnu.org>
1764
fe5a0162 1765 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
1766 update when scrolling_window returns 0.
1767
6b05fae3
GM
1768 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
1769
1770 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 1771 for the case that x_decode_color signals an error.
6b05fae3 1772
ae794295
GM
1773 * xdisp.c (add_to_log): Do nothing if called asynchronously.
1774
bb6e8cee
GM
17752001-07-09 Gerd Moellmann <gerd@gnu.org>
1776
1777 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
1778 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
1779 around ioctls.
1780
36b40a8a
EZ
17812001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
1782
24b97d4b
EZ
1783 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
1784 doc string line for dos-timezone-offset.
1785
36b40a8a
EZ
1786 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
1787 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
1788 (syms_of_msdos): Add \n\ at the end of a line in the doc string
1789 line for dos-unsupported-char-glyph.
36b40a8a
EZ
1790
1791 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
1792
0967b4b0
GM
17932001-07-05 Gerd Moellmann <gerd@gnu.org>
1794
f25cfe53
GM
1795 * sound.c: Include Emacs' header files with #include "...".
1796
0967b4b0
GM
1797 * eval.c (specbind): Additionally record the buffer that was
1798 current when a buffer-local or frame-local variable was bound.
1799
c347a1c3
GM
18002001-07-04 Gerd Moellmann <gerd@gnu.org>
1801
1802 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
1803 to unibyte characters in unibyte buffers.
1804
6332ca8a
GM
18052001-07-03 Gerd Moellmann <gerd@gnu.org>
1806
38472d44
GM
1807 * eval.c (specbind): If SYMBOL has a frame-local binding, record
1808 the frame on the binding stack. Change format of entries for
1809 local bindings on the binding stack to '(SYMBOL . WHERE)'.
1810 (unbind_to): Handle unbinding a frame-local variable.
1811
6332ca8a 1812 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 1813 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
1814 (dump_glyph_row): Print row's continuation_lines_width.
1815 (try_window_id): Take the shortcut if ZV is visible in the
1816 window, but there are actually no changes at ZV.
1817
63d1b174
GM
18182001-07-02 Gerd Moellmann <gerd@gnu.org>
1819
4c175203
GM
1820 * xterm.h (x_free_dpy_colors): Add prototype.
1821
1822 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
1823 right number of arguments.
1824
0b54ce28
GM
1825 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
1826 ($(lwlibdir)TAGS): New target.
4c175203 1827 (TAGS): Fix dependency list.
0b54ce28 1828
63d1b174
GM
1829 * xterm.c (x_list_fonts): Make sure XFreeFont is called
1830 with input blocked.
1831
d827466c
GM
18322001-06-30 Gerd Moellmann <gerd@gnu.org>
1833
1834 * emacs.c (main): Remove extern declaration for sys_nerr, which
1835 isn't used and causes a compilation error with GCC 3.0 on
1836 FreeBSD 4.3.
1837
b5cb1ada
GM
18382001-06-27 Gerd Moellmann <gerd@gnu.org>
1839
a5d3ec3f 1840 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 1841 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
1842 (toplevel): Include <signal.h> and syssignal.h.
1843
b5cb1ada
GM
1844 * sound.c (vox_configure, vox_close): Turn off atimers
1845 around ioctls.
1846
d9bad487
GM
18472001-06-26 Gerd Moellmann <gerd@gnu.org>
1848
fdbb67fe
GM
1849 * keyboard.c (read_char) <non_reread>: Record the previous idle
1850 start time before calling timer_stop_idle.
1851 (read_char) <reread_first>: After processing a help-echo event,
1852 restore the previous idle start time.
1853
d9bad487
GM
1854 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
1855 the start of invisible text.
1856 (setup_for_ellipsis): New function.
1857 (next_overlay_string): After all overlay strings have been
1858 processed, display an ellipsis if necessary.
1859 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
1860 (push_it): Initialize display_ellipsis_p on the iterator's stack.
1861
1862 * dispextern.h (struct iterator_stack_entry): Add member
1863 display_ellipsis_p.
1864
2b9c25e0
GM
18652001-06-25 Gerd Moellmann <gerd@gnu.org>
1866
80de57df
GM
1867 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
1868 on the value of the wait-for-wm frame parameter.
1869
1870 * xterm.h (struct x_output): Add member wait_for_wm.
1871
1872 * xfns.c (Qwait_for_wm): New variable.
1873 (x_frame_parms): Add entry for `wait-for-wm".
1874 (x_set_wait_for_wm): New function.
1875 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
1876 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
1877
2b9c25e0
GM
1878 * xdisp.c (try_window_id) <all changes below window end>: Don't
1879 take this shortcut if ZV is visible in the window.
1880 (try_window_id): When checking for window start being in changed
1881 text, don't check that the buffer's size has changed.
1882
f772775c
RS
18832001-06-23 Richard M. Stallman <rms@gnu.org>
1884
1885 * minibuf.c (Fcompleting_read): Doc fix.
1886
fa9090b8
GM
18872001-06-19 Gerd Moellmann <gerd@gnu.org>
1888
1889 * composite.c (Ffind_composition_internal): Accept ZV
1890 and a string's end position as POS.
1891
f6f1beba
GM
18922001-06-18 Gerd Moellmann <gerd@gnu.org>
1893
1894 * composite.c (Ffind_composition_internal): Check POS
1895 for validity.
1896
0ae83348
EZ
18972001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
1898
1899 * editfns.c (Fmessage_box): If the frame is not under a window
1900 system, output the message in the echo area.
1901
e4cdc335
RS
19022001-06-14 Richard M. Stallman <rms@gnu.org>
1903
1904 * xdisp.c (try_window_id): When EOB is visible, don't treat
1905 insertion at EOB as if it were "off the bottom of the screen."
1906
a55a5f3c
AI
19072001-06-11 Andrew Innes <andrewi@gnu.org>
1908
1909 * w32proc.c (create_child): Add new parameter is_gui_app.
1910 (w32_executable_type): Add new parameter is_gui_app.
1911 (sys_spawnve): Use it.
1912 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
1913 SIGQUIT. This matches better how the signals are interpreted by
1914 MSVC compiled programs.
1915 (syms_of_ntproc): Update docstring.
1916
1b85dc1c
SM
19172001-06-02 Stefan Monnier <monnier@cs.yale.edu>
1918
1919 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
1920 well otherwise note_mouse_highlight might optimize away highlighting
1921 if we pass over that same overlay again.
1922
b75f8eab
EZ
19232001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
1924
1925 * lread.c (Fload): Document that the argument is run via
1926 substitute-in-file-name.
1927
94843cc1
GM
19282001-05-31 Gerd Moellmann <gerd@gnu.org>
1929
b14659e6
GM
1930 * Makefile.in (bootstrap-doc): New target.
1931 (bootstrap-emacs): Depend on it.
1932
0894672f
GM
1933 * fileio.c (Fdo_auto_save): Don't try to create the directory of
1934 auto-save-list-file-name when shutting down Emacs, because
1935 creating the directory might signal an error, and leaves
1936 Emacs in a strange state.
1937
94843cc1
GM
1938 * term.c: (tty_cursor_hidden): New variable.
1939 (update_begin): Don't call tty_hide_cursor. Clean up.
1940 (update_end, set_terminal_window, set_scroll_region): Clean up.
1941 (ring_bell, reset_terminal_modes): Clean up.
1942 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
1943 on tty_cursor_hidden.
1944 (write_glyphs): Call tty_hide_cursor.
1945
db3a49a6
SM
19462001-05-30 Stefan Monnier <monnier@cs.yale.edu>
1947
1948 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
1949
8bd189fb
GM
19502001-05-30 Gerd Moellmann <gerd@gnu.org>
1951
6f1be3b9
GM
1952 * xfns.c (enum image_value_type): New enumerator
1953 IMAGE_STRING_OR_NIL_VALUE.
1954 (parse_image_spec): Handle it.
1955 (xbm_format, pbm_format): Use it for :foreground and :background.
1956 (xbm_load, pbm_load): Check for nil color names.
1957
8bd189fb
GM
1958 * xterm.c (note_mouse_highlight): If an overlapping overlay
1959 exists, but we find that we highlight the same overlay as before,
1960 don't do the highlighting again.
1961
7bdba03c
GM
19622001-05-29 Gerd Moellmann <gerd@gnu.org>
1963
4c329aa8
GM
1964 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
1965 Protect unibyte strings created by replacing their multibyte
1966 equivalents in menu_items.
1967
e15e2828
GM
1968 * keymap.c (Fsingle_key_description): NUL-terminate the string
1969 buffer before calling build_string.
1970
7bdba03c
GM
1971 * callproc.c (Fcall_process): Deal with decode_coding returning
1972 CODING_FINISH_INCONSISTENT_EOL.
1973
89c8dc6c
GM
19742001-05-28 Gerd Moellmann <gerd@gnu.org>
1975
db3a49a6 1976 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
1977 an item's name with its key description in case the description
1978 is a multibyte string.
1979
1980 * keymap.c (Fsingle_key_description): Create a multibyte string
1981 only if necessary.
1982
eb04d6cd
GM
1983 * macros.c (Fstart_kbd_macro): Doc fix.
1984
8bd6307f
GM
1985 * xterm.c (cursor_in_mouse_face_p): New function.
1986 (x_draw_stretch_glyph_string): Use it to choose a different GC
1987 when drawing a cursor within highlighted text.
1988
e26c4089
GM
1989 * editfns.c (char_property_eq): Put in #if 0.
1990
1991 * indent.c (string_display_width): Put in #if 0.
1992
1993 * lread.c (Fload): Remove unused label.
1994
89c8dc6c
GM
1995 * termcap.c (speeds): Put in #if 0.
1996
9a1211f2
GM
19972001-05-18 Gerd Moellmann <gerd@gnu.org>
1998
29148a3f
GM
1999 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
2000
9a1211f2
GM
2001 * xfaces.c (xlfd_point_size): Don't divide pixel size from
2002 transformation matrix by 10.
2003
09393d07
GM
20042001-05-16 Gerd Moellmann <gerd@gnu.org>
2005
2006 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
2007 only if it's equal to the former foreground pixel color.
db3a49a6 2008 (x_set_foreground_color, x_set_background_color)
09393d07
GM
2009 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
2010
460e6bae
GM
20112001-05-16 Dave Love <fx@gnu.org>
2012
2013 * insdel.c (signal_before_change, signal_after_change): Consider a
2014 local change hook which changes the buffer.
99c78ce8
GM
2015
2016 * process.c (read_process_output): Don't call signal_after_change
2017 and update_compositions after insert_from_string_before_markers.
2018
dbcf3c03
GM
20192001-05-16 Gerd Moellmann <gerd@gnu.org>
2020
a90b3d3c
GM
2021 * xfaces.c (split_font_name): Use the right field when
2022 checking for `[...]' syntax.
2023
1b7818b4
GM
2024 * buffer.c (copy_overlays): New function.
2025 (clone_per_buffer_values): Use it.
2026
2027 * buffer.h (OVERLAY_PLIST): New macro.
2028
9bae8781
GM
2029 * keymap.c (Fsingle_key_description): Replace a build_string with
2030 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
2031
dbcf3c03
GM
2032 * fontset.c (Ffontset_info): Check that face is non-null
2033 before accessing its fields.
2034
8a1ae4dd
GM
20352001-05-15 Gerd Moellmann <gerd@gnu.org>
2036
18a0a39e
GM
2037 * keyboard.c (read_key_sequence): Prevent generating a fake
2038 prefix key twice.
2039
e335b66a
GM
2040 * xfaces.c (split_font_name): Handle `[...]' for the right
2041 font name fields.
2042
8a1ae4dd
GM
2043 * ccl.c (ccl_driver): Don't copy remaining bytes in case
2044 of CCL_STAT_INVALID_CMD.
2045
3cf80731
SM
20462001-05-14 Stefan Monnier <monnier@cs.yale.edu>
2047
33568849
SM
2048 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
2049 in <var> has no default value yet.
2050
3cf80731
SM
2051 * xfaces.c (try_alternative_families): First try the FAMILY.
2052 And if nothing is found in the end, try again with scalable fonts.
2053 (try_font_list): Let try_alternative_families do a bit more of
2054 the work. Only use FAMILY if it is not nil.
2055 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
2056
933b0249
GM
20572001-05-14 Gerd Moellmann <gerd@gnu.org>
2058
58e5af83
GM
2059 * xterm.c (note_mouse_highlight): Avoid changing the mouse
2060 pointer shape when show_mouse_face has already done it.
33568849 2061
58e5af83 2062 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
2063 full-width rows.
2064
7b16a6bf
GM
2065 * xfaces.c (split_font_name): Make sure to leave the loop
2066 with the right value of `i'.
3cf80731 2067
933b0249
GM
2068 * xfaces.c (split_font_name): Handle matrix transformations
2069 in the pixel and point size fields of XLFD font names.
2070 (xlfd_point_size): Likewise.
2071
dddcbf00
EZ
20722001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
2073
3cf80731 2074 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
2075 (x_to_w32_font): Add prototype.
2076
7689ef0b
EZ
2077 * regex.c (malloc, realloc, free) [emacs]: Undefine before
2078 redefining, to avoid compiler warnings.
2079
e7c15bba
EZ
2080 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
2081
dddcbf00
EZ
2082 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
2083 (w32_get_bdf_glyph): Cast between unsigned char and char when
2084 passing arguments to subroutines, to shut up compiler warnings.
2085 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
2086 GET_HEX_VAL.
2087
2088 * xfaces.c: Include keyboard.h before frame.h, not after it.
2089
2090 * widget.c: Include keyboard.h before frame.h.
2091
2092 * w32term.h (struct image, struct face): Forward declaration, to
2093 avoid compiler warnings.
2094
7bd2d083
GM
20952001-05-11 Gerd Moellmann <gerd@gnu.org>
2096
47e72862
GM
2097 * keyboard.c (read_key_sequence): Don't modify events when
2098 generating fake prefix keys (mode-line, scroll-bar, ...) since
2099 this prevents proper processing of such events when pushed back
2100 into unread-command-events.
2101
dd5f324b
GM
2102 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
2103 actually redrawn. Make the function static.
2104 (note_mouse_highlight): Fix a case where the mouse cursor
2105 was changed back to the text cursor.
2106
2107 * xterm.h (clear_mouse_face): Remove prototype.
2108
d88a79d4
GM
2109 * xdisp.c (try_window_id): Fix the fix and set the right
2110 window_end_vpos.
2111
2112 * xdisp.c (try_window_id): Fix computation of window end in the
2113 case that lines were deleted at the end of the window. Add some
2114 more debug_method_adds.
0416532f 2115
7bd2d083
GM
2116 * xfaces.c (try_alternative_families): New function.
2117 (try_font_list): Use it. If ATTRS specifies a family, check
2118 fonts from that family first.
2119 (choose_face_font): Remove code setting the family part of
2120 the pattern to nil.
2121
23fca891
GM
21222001-05-10 Gerd Moellmann <gerd@gnu.org>
2123
ff9aa2ca
GM
2124 * xdisp.c (try_window_id): Fix case of all changes before
2125 the window start.
7b2654b5 2126
23fca891
GM
2127 * xdisp.c (try_window_id): Add some xasserts.
2128
e9726794
GM
21292001-05-09 Gerd Moellmann <gerd@gnu.org>
2130
2131 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
2132
9e53a675
GM
21332001-05-09 Dave Love <fx@gnu.org>
2134
2135 * xdisp.c (GIVE_UP): Fix for K&R C.
2136
0d487c52
GM
21372001-05-09 Gerd Moellmann <gerd@gnu.org>
2138
fe88d421
GM
2139 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
2140
0d487c52
GM
2141 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
2142 back to the text cursor shape without need.
2143
1e9fc92e
GM
21442001-05-07 Gerd Moellmann <gerd@gnu.org>
2145
a2a6232e
GM
2146 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
2147
2148 * dispextern.h (inverse_video): Declare extern.
2149
1e9fc92e
GM
2150 * keyboard.c (delete_kboard): Handle the case that selected_frame
2151 has been deleted in the course of x_connection_closed.
2152
12949a7f
EZ
21532001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
2154
7b2654b5
SM
2155 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
2156 Fix the change from 2001-04-30.
12949a7f 2157
2fa2f461
GM
21582001-05-03 Gerd Moellmann <gerd@gnu.org>
2159
a779d213
GM
2160 * xfns.c (file_dialog_unmap_cb): New function.
2161 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
2162 where a dialog is closed via the window manager.
2163
7b2654b5 2164 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
2165 the window start or all below the window end mostly rewritten.
2166 (redisplay_window): Move the tests if try_window_id is
2167 applicable to try_window_id.
2168 (GIVE_UP): New macro.
2169
3356df63
GM
21702001-05-02 Gerd Moellmann <gerd@gnu.org>
2171
a39202f6 2172 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
2173 currently being updated, mark the frame garbaged.
2174 Fix computation of rows intersecting the exposed rectangle.
a39202f6 2175 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 2176
3356df63
GM
2177 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
2178 again if it has already been drawn.
2179
a9d2fd1d
SM
21802001-05-01 Stefan Monnier <monnier@cs.yale.edu>
2181
2182 * syntax.c (update_syntax_table): Check that oldi has the same
2183 properties as old_prop before deciding not to invalidate.
2184
c95fc5f1
GM
21852001-04-30 Gerd Moellmann <gerd@gnu.org>
2186
a9793e45
GM
2187 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
2188 read-only text that is so because of text properties.
2189
c95fc5f1 2190 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 2191 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
2192 windows that are components of a Lucid menu bar.
2193
5a5d9185
GM
21942001-04-27 Gerd Moellmann <gerd@gnu.org>
2195
2196 * term.c (turn_on_face): Fix reverse video handling on terminals
2197 that don't support colors.
2198
ba973f7a
GM
21992001-04-26 Gerd Moellmann <gerd@gnu.org>
2200
2201 * editfns.c (save_excursion_restore): Don't use XBUFFER on
2202 a non-buffer.
2203
8c56a983
GM
22042001-04-25 Gerd Moellmann <gerd@gnu.org>
2205
a728644c
GM
2206 * term.c (toggle_highlight): New function.
2207 (turn_on_face): Change handling of reverse video.
2208
7b2654b5
SM
2209 * process.c (wait_reading_process_input):
2210 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 2211
bfd8410f
GM
2212 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
2213 of the number of overlays to check.
2214
be2488ca
GM
2215 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
2216
8c56a983
GM
2217 * xdisp.c (try_window_id): Fix a case where window_end_pos
2218 and window_end_bytepos were not adjusted.
2219
522d42f7
GM
22202001-04-23 Gerd Moellmann <gerd@gnu.org>
2221
2222 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
2223 zero instead of -1.
2224
78c1afb6
EZ
22252001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
2226
a9d2fd1d
SM
2227 * process.c (wait_reading_process_input) [!subprocesses]:
2228 Don't reference waiting_for_user_input_p, it's not defined in the
2229 branch without async subprocesses support.
78c1afb6 2230
a2fab450
GM
22312001-04-19 Gerd Moellmann <gerd@gnu.org>
2232
a122a38e
GM
2233 * keyboard.c (delete_kboard): Prevent a dangling reference
2234 from current_kboard to KB, which is freed.
2235
a9d2fd1d
SM
2236 * process.c (wait_reading_process_input):
2237 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
2238 read_key_sequence aware of buffer changes from under it.
2239
0f8d6dc7
GM
22402001-04-18 Gerd Moellmann <gerd@gnu.org>
2241
eeffb293
GM
2242 * xfaces.c (Qscalable_fonts_allowed): New variable.
2243 (realizing_basic_faces_p): Removed.
2fa2f461
GM
2244 (x_face_list_fonts): Special handling for realizing_basic_faces_p
2245 removed.
eeffb293 2246 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
2247 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
2248 for scalable-fonts-allowed to t.
eeffb293 2249
0f8d6dc7
GM
2250 * fileio.c (Finsert_file_contents): If the file size returned from
2251 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 2252 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 2253
eec2d1de
EZ
22542001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
2255
2256 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
2257 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
2258 (__memalign_hook): Make the two prototypes consistent.
2259
f4f480bd
GM
22602001-04-17 Gerd Moellmann <gerd@gnu.org>
2261
2262 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
2263 matrix of mini-windows.
2264
52283633
SM
22652001-04-12 Stefan Monnier <monnier@cs.yale.edu>
2266
2267 * intervals.c (find_interval): Don't rebalance during signal handling.
2268
ec2423c9
GM
22692001-04-11 Gerd Moellmann <gerd@gnu.org>
2270
30cb0001 2271 * fns.c: Include blockinput.h.
52283633 2272
ec2423c9
GM
2273 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
2274
719d83ad
GM
22752001-04-10 Gerd Moellmann <gerd@gnu.org>
2276
60f8d735
GM
2277 * fns.c (Fcompare_strings): Fix return values.
2278
afffeb57
GM
2279 * window.c (window_scroll): Change the meaning of N to mean
2280 N screen-fulls or N lines.
2281 (window_scroll_pixel_based, window_scroll_line_based)
2282 (scroll_command, Fscroll_other_window): Change accordingly.
2283
52283633
SM
2284 * window.c (window_scroll_pixel_based, Frecenter):
2285 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
2286 height of the window.
2287
2288 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
2289 instead of using it.last_visible_y for the height of the window.
52283633 2290
719d83ad 2291 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 2292 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
2293
2294 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
2295 able to write to hidden and system files. From Dan Holmsand
2296 <dan@eyebee.com>.
719d83ad 2297
8ddf3ee1
GM
2298 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
2299 Holmsand <dan@eyebee.com>.
719d83ad 2300
522ed7fb
GM
23012001-04-09 Gerd Moellmann <gerd@gnu.org>
2302
9170e5d4
GM
2303 * fns.c (Fplist_get, Fplist_put): Add QUITs.
2304
522ed7fb
GM
2305 * window.c (window_internal_height): Return 1 less if the
2306 window has a header line.
2307
2308 * xdisp.c (try_window_id): When scrolling on a terminal, take
2309 the change of window_internal_height into account.
2310
ceeb3d7d
EZ
23112001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
2312
2313 * gmalloc.c (align): If the argument SIZE would overflow
2314 __malloc_ptrdiff_t, fail right away.
2315
63685b9d
GM
23162001-04-06 Gerd Moellmann <gerd@gnu.org>
2317
2318 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
2319 Make sure the tooltip is completely visible.
2320 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
2321
2322 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
2323
2324 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
2325
3ffb33bb
DL
23262001-04-06 Dave Love <fx@gnu.org>
2327
52283633
SM
2328 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
2329 Fix test of `from'.
3ffb33bb 2330
869fb12c
GM
23312001-04-06 Gerd Moellmann <gerd@gnu.org>
2332
52283633 2333 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 2334
869fb12c
GM
2335 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
2336
441bf856
GM
23372001-04-05 Gerd Moellmann <gerd@gnu.org>
2338
4d664b04
GM
2339 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
2340
52283633 2341 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 2342
30ca89f5
GM
2343 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
2344 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
2345
2346 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
2347 shell widget's position only if it is non-null.
2348
52283633
SM
2349 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
2350 Set f->output_data.x->widget to null after destroying it.
30ca89f5 2351
81a81c0f
GM
2352 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
2353 FILENAME to bring it in synch with the documentation.
2354
441bf856
GM
2355 * xfaces.c (realizing_basic_faces_p): Renamed from
2356 realize_default_face_p.
2357 (realize_basic_faces): Set/clear realizing_basic_faces_p.
2358 (realize_default_face): Don't set the flag.
2359
702a1e8e
GM
23602001-04-04 Gerd Moellmann <gerd@gnu.org>
2361
1013f4e3
GM
2362 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
2363
52283633
SM
2364 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
2365
1013f4e3
GM
2366 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
2367 the buffer that was used for echoing.
2368
702a1e8e
GM
2369 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
2370 (first_font_matching): Removed unused function.
2371 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
2372 (may_use_scalable_font_p): Remove parameter FONT; rename
2373 parameter NAME to FONT.
2374 (x_face_list_fonts): Fix missing bounds check.
2375 (realizing_default_face_p): New variable.
2376 (realize_default_face): Set and clear that flag.
2377 (x_face_list_fonts): When called during the realization of the
2378 default face, and no matching fonts are found when ignoring
2379 scalable fonts and fonts matching a regexp from
2380 face-ignored-fonts, try without ignoring fonts.
2381
f9dbcda4
GM
23822001-04-03 Gerd Moellmann <gerd@gnu.org>
2383
ad18ffb1
GM
2384 * xfns.c (postprocess_image): New function.
2385 (lookup_image): Call it for all image types except PostScript.
2386 (x_kill_gs_process): Call postprocess_image.
2387
f9dbcda4
GM
2388 * xterm.c (x_use_underline_position_properties): New variable.
2389 (x_draw_glyph_string): Use it.
2390 (syms_of_xterm): DEFVAR_BOOL it.
2391
651f03b6
GM
23922001-04-02 Gerd Moellmann <gerd@gnu.org>
2393
2394 * xterm.c (x_alloc_nearest_color_1): New function.
2395 (x_alloc_nearest_color): Use it.
2396 (x_color_cells): Take a Display as argument, instead of a frame.
2397 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
2398 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
2399 (x_initialize): Register cvt_string_to_pixel as resource converter
2400 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
2401
73d75a62
GM
24022001-03-30 Gerd Moellmann <gerd@gnu.org>
2403
b2046df8
GM
2404 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
2405 (set_iterator_to_next): If a string from a display property ends,
2406 consider the case that this might also be the end of an
2407 overlay string having the display property.
2408
52283633 2409 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 2410
87d8eba4
GM
2411 * xdisp.c (reseat_to_string): Undo last change.
2412
73d75a62
GM
2413 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
2414 matrix of a window when the header line changes, when
2415 new rows are allocated, or when the width changes.
2416
911a2406
EZ
24172001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
2418
52283633 2419 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 2420
aea51abe
EZ
24212001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
2422
2423 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
2424 deprecated.
2425
176bc847
GM
24262001-03-29 Gerd Moellmann <gerd@gnu.org>
2427
ed31fabf
GM
2428 * data.c (Fsubr_interactive_form): New function.
2429 (syms_of_data): Defsubr it.
2430
176bc847
GM
2431 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
2432 (live_float_p, live_misc_p): Return 1 only if the offset of the
2433 pointer in its block is >= 0.
2434
e59d0e9d
GM
24352001-03-28 Paul Eggert <eggert@twinsun.com>
2436
2437 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
2438 microseconds calcuation. Avoid double-rounding problem.
2439 In doc string, warn that the result is approximate.
2440
f827b862
GM
24412001-03-28 Gerd Moellmann <gerd@gnu.org>
2442
30a3f61c
GM
2443 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
2444 bind `inhibit-eval-during-redisplay' to t.
2445
2446 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
2447
2448 * xdisp.c (inhibit_eval_during_redisplay)
2449 (Qinhibit_eval_during_redisplay): New variables.
2450 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
2451 don't eval, return nil instead.
2452 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
2453 Initialize Qinhibit_eval_during_redisplay.
2454
e719f5ae
GM
2455 * xdisp.c (reseat_to_string): If STRING is multibyte, set
2456 the iterator's multibyte_p flag.
2457
deb2613a
GM
2458 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
2459 instead of setting it to zero; it's incremented for each frame
2460 where the menu face is changed.
2461
52283633
SM
2462 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
2463 change bottom shadow accordingly.
2464
2465 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
2466 intersections here.
2467 (expose_window): Do it here instead.
52283633 2468 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 2469
f827b862
GM
2470 * bytecode.c (BYTE_CODE_QUIT): New macro.
2471 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
2472
4bde0ebb
GM
24732001-03-27 Gerd Moellmann <gerd@gnu.org>
2474
607ec83c
GM
2475 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
2476 Give up if matrix starts in an ellipsis.
2477 (init_from_display_pos): Do nothing if POS doesn't specify
2478 a dpvec_index but the iterator has such a position.
2479
0245398f
GM
2480 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
2481
aba25348
GM
2482 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
2483 x/y position is (0, 0) after destroying the menu bar, restore
2484 its original position.
2485
4bde0ebb
GM
2486 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
2487 (init_from_display_pos): Use it.
2488 (try_window_reusing_current_matrix): Don't use cursor_row_p.
2489
8cdb267e
GM
24902001-03-26 Gerd Moellmann <gerd@gnu.org>
2491
2492 * xdisp.c (try_window_id): Undo last change.
2493
9948db79
EZ
24942001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
2495
2496 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
2497
2498 * buffer.c (syms_of_buffer): Doc fix.
2499
2eddf899
GM
25002001-03-26 Gerd Moellmann <gerd@gnu.org>
2501
2502 * xfaces.c (x_update_menu_appearance): Use local variable
2503 popup_path for setting font resources.
2504
6c145d35
EZ
25052001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
2506
6a65b1b5
EZ
2507 * frame.c (Fframe_list): Don't reference tip_frame if
2508 HAVE_WINDOW_SYSTEM is not defined.
2509
6c145d35
EZ
2510 * emacs.c (main): Update the copyright year. From Werner LEMBERG
2511 <wl@gnu.org>.
2512
d74c1900
GM
25132001-03-25 Gerd Moellmann <gerd@gnu.org>
2514
20fbd925
GM
2515 * xdisp.c (init_from_display_pos): Test invisible property
2516 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 2517
927c5b3b
GM
2518 * xdisp.c (redisplay_internal) <update one window>: Make sure
2519 last_arrow_position and last_arrow_string are set.
2520
d74c1900
GM
2521 * frame.c (Fframe_list): Don't return a tooltip frame.
2522
091f8878
GM
25232001-03-23 Gerd Moellmann <gerd@gnu.org>
2524
52283633
SM
2525 * xdisp.c (mark_window_display_accurate_1): New function,
2526 extracted from mark_window_display_accurate.
2527 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
2528 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
2529 (mark_window_display_accurate): Use it.
2530 (redisplay_internal): Use it for the selected window.
2531 (redisplay_internal): Avoid duplicate mark_window_display_accurate
2532 for the selected frame.
2533
ac90c44f
GM
2534 * xdisp.c Use make_number, for readability.
2535 (try_window_id): Disable rows below the window end.
2536 (try_window_reusing_current_matrix): Use cursor_row_p.
2537 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
2538 of rows.
2539 (init_from_display_pos): If POS specifies a position in a display
2540 vector, maybe get the iterator set up for that ellipsis.
43c09969 2541
091f8878
GM
2542 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
2543
991786dd
EZ
25442001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
2545
2546 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
2547
6c29b43c
GM
25482001-03-23 Gerd Moellmann <gerd@gnu.org>
2549
2550 * xfaces.c (x_update_menu_appearance): Use a different path
2551 for Lucid popup menus.
2552
d8731202
SM
25532001-03-22 Stefan Monnier <monnier@cs.yale.edu>
2554
2555 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
2556
2557 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
2558 (string_buffer_position): Use `make_number'.
2559
f61a541b
GM
25602001-03-22 Gerd Moellmann <gerd@gnu.org>
2561
3c9e997b
GM
2562 * xfaces.c (x_update_menu_appearance): Renamed from
2563 x_set_menu_face_resources. Use different resources for popups.
2564
2565 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
2566 (GC_CHECK_STRING_BYTES): Don't define.
2567
364cd450
GM
2568 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
2569 Removed, together with subroutines.
2570 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 2571 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 2572
d8731202
SM
2573 * dispextern.h (x_set_menu_resources_from_menu_face):
2574 Remove prototype.
364cd450 2575
d8731202 2576 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
2577 Remove calls to x_set_menu_resources_from_menu_face.
2578
d8731202
SM
2579 * xfaces.c (xm_set_menu_resources_from_menu_face):
2580 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
2581
2582 * xmenu.c: Include widget.h.
2583 (single_submenu): Return int. Some cleanup.
2584 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
2585
140330de
GM
25862001-03-21 Gerd Moellmann <gerd@gnu.org>
2587
2588 * xterm.c (x_update_window_end): Handle overwritten mouse face
2589 also for tool bar windows.
2590 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
2591 DRAW is DRAW_IMAGE_RAISED.
2592
1741905c
GM
25932001-03-20 Gerd Moellmann <gerd@gnu.org>
2594
fa88947e
GM
2595 * print.c (syms_of_print): Doc fixes.
2596
1741905c
GM
2597 * fns.c (Fmd5): Doc fix.
2598
ade0bee1
GM
25992001-03-19 Gerd Moellmann <gerd@gnu.org>
2600
357e7376
GM
2601 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
2602 Clear area of the frame not occupied by the scroll bar.
2603
c2c097cc
GM
2604 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
2605 tip frame's root window buffer to *tip* right after creating
2606 the frame.
2607
ade0bee1
GM
2608 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
2609 is an integer don't have to be for space characters.
2610
88c6e37e
GM
26112001-03-16 Gerd Moellmann <gerd@gnu.org>
2612
52283633
SM
2613 * indent.c (current_column, current_column_1, Fmove_to_column)
2614 (compute_motion): Handle characters from display vectors differently.
88c6e37e 2615
c62eed76
KH
26162001-03-15 Kenichi Handa <handa@etl.go.jp>
2617
2618 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
2619 drawing glyph string.
2620
c899e7e6
GM
26212001-03-15 Gerd Moellmann <gerd@gnu.org>
2622
d0bbfc99
GM
2623 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
2624 (command_loop_1): Undo last change.
2625
03d1a189
GM
2626 * xterm.c (fast_find_position): Return the correct vpos.
2627
c899e7e6 2628 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 2629 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
2630 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
2631 Call store_symval_forwarding with BUF null.
2632 (set_internal): Call store_symval_forwarding with the BUF
2633 parameter passed to set_internal. Formerly, the value was always
2634 set in the current buffer; the buffer recorded in specbind for
2635 this case wasn't used.
2636 (arith_driver): Reindent.
2637
52283633
SM
2638 * buffer.c (swap_out_buffer_local_variables):
2639 Call store_symval_forwarding with BUF null.
c899e7e6
GM
2640
2641 * lisp.h (store_symval_forwarding): Change prototype.
2642
2643 * eval.c (specbind): Call store_symval_forwarding with BUF null.
2644
57ac7c81
GM
26452001-03-14 Gerd Moellmann <gerd@gnu.org>
2646
697617d9
GM
2647 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
2648 FOR_DELETION. Avoid resizing the mini-window of the selected
2649 frame if FOR_DELETION is set.
2650 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
2651 (Fmake_frame_invisible): Change calls to do_switch_frame for new
2652 signature.
2653
2654 * window.c (Fset_window_configuration): Change call to
2655 do_switch_frame to new format.
2656
2657 * keyboard.c (quit_throw_to_read_char): Change call to
2658 do_switch_frame to new format.
2659
2660 * lisp.h (do_switch_frame): Change prototype.
2661
819dce0f
GM
2662 * frame.c (Fframe_parameters): In the `buffer-list' frame
2663 parameter, store the buffer list of FRAME, not the list of the
2664 selected frame.
2665
57ac7c81
GM
2666 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
2667 box just because the glyph row's full_width_p flag is set.
2668
65008712
GM
26692001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
2670
2671 * xdisp.c (highlight_trailing_whitespace): On character terminals,
2672 skip the padding blanks inserted in extend_face_to_end_of_line,
2673 before checking for trailing whitespace.
2674
159cf431
GM
26752001-03-13 Gerd Moellmann <gerd@gnu.org>
2676
52283633 2677 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
2678 Remove special handling for LessTif/Motif.
2679 (toplevel): Don't include Xm/Xm.h.
2680
52283633
SM
2681 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
2682 Remove workaround code for LessTif; it doesn't work anymore.
2683
2564ea1b 2684 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 2685 Xm/ScrollBarP.h.
afcdc0a1 2686
52283633
SM
2687 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
2688 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
2689 contemporary LessTif.
2690
52283633
SM
2691 * xfaces.c (xm_set_menu_resources_from_menu_face):
2692 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 2693
159cf431
GM
2694 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
2695 removing button grabs.
2696
c6f7429a
KH
26972001-03-13 Kenichi Handa <handa@etl.go.jp>
2698
cb82d767
KH
2699 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
2700 and clip-large-size-font as obsolete.
2701
c6f7429a
KH
2702 * lread.c (read_multibyte): Check the validity of multibyte
2703 sequence. If invalid, return the first byte.
2704
760cefb5
GM
27052001-03-12 Gerd Moellmann <gerd@gnu.org>
2706
2707 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
2708 before running the command; timer functions or process
2709 filters may have set it.
2710
5141f9d0
EZ
27112001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
2712
2713 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
2714 Doc fix.
2715
b6a15240
GM
27162001-03-12 Gerd Moellmann <gerd@gnu.org>
2717
2718 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
2719 to sprintf.
2720
95522746
GM
27212001-03-09 Gerd Moellmann <gerd@gnu.org>
2722
db14cfc5
GM
2723 * dispextern.h (string_buffer_position): Add prototype.
2724
52283633 2725 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
2726 (single_display_prop_string_p): New functions.
2727
2728 * xterm.c (note_mouse_highlight): If there's no help-echo on
2729 a string, look at the buffer text ``under'' it.
2730
2731 * keyboard.c (make_lispy_event): Add string info to the event,
2732 analogous to what's done on mode lines.
2733 (read_key_sequence): For a click on a string, consider `local-map'
2734 and `keymap' of that string.
2735
52283633
SM
2736 * keyboard.c (make_lispy_event, make_lispy_movement):
2737 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
2738
2739 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
2740
2741 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
2742 POS; return void.
2743
95522746
GM
2744 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
2745 flags argument to emacs_open; it seems to conflict with O_EXCL.
2746
898a399d
KH
27472001-03-09 Kenichi Handa <handa@etl.go.jp>
2748
28cd4910
KH
2749 * composite.h (struct composition): Change types of members;
2750 glyph_len to unsigned, width to unsigned short.
898a399d 2751
4cdf6a6c
AI
27522001-03-08 Andrew Innes <andrewi@gnu.org>
2753
2754 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
2755 menu titles.
2756
129004d3
GM
27572001-03-08 Gerd Moellmann <gerd@gnu.org>
2758
221dd3e7
GM
2759 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
2760 instead of nil.
2761
52283633 2762 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
2763 help-echo in strings.
2764 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
2765 (fast_find_string_pos): New function.
2766
52283633
SM
2767 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
2768 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
2769
2770 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
2771 Handle `mouse-face'.
2772
2773 * dispextern.h (face_at_string_position): Change prototype.
2774
52283633 2775 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 2776
129004d3
GM
2777 * keyboard.c (make_lispy_event): Avoid generating drag events
2778 if the mouse hasn't actually moved to another buffer position.
52283633 2779
80c8ab8c
DL
27802001-03-08 Dave Love <fx@gnu.org>
2781
129004d3 2782 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 2783
989521fd
GM
27842001-03-08 Gerd Moellmann <gerd@gnu.org>
2785
2786 * process.c (Fset_process_window_size): Fix a typo.
2787
bb5c338d
KH
27882001-03-08 Kenichi Handa <handa@etl.go.jp>
2789
2790 * coding.c (detect_coding_sjis): Do more rigid check.
2791 (detect_coding_big5): Likewise.
2792 (decode_coding_sjis_big5): Likewise.
2793 (Fdetect_coding_region): Call detect_coding_system with tailing
2794 anchor byte `\0' for more rigid detection.
52283633 2795 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
2796 (Fdetect_coding_string): Likewise.
2797
8b8f9197
SM
27982001-03-07 Stefan Monnier <monnier@cs.yale.edu>
2799
2800 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
2801 a string before extracting its data.
2802
3bdf2660
GM
28032001-03-07 Gerd Moellmann <gerd@gnu.org>
2804
2805 * window.c (Frecenter): Rewrite code handling negative values
2806 of ARG on graphical frames.
2807
28082001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
2809
2810 * window.c (displayed_window_lines): If W->start is outside the
2811 accessible portion of the buffer, call start_display with BEGV or
2812 ZV instead of W->start.
2813
471f86b9
GM
28142001-03-07 Gerd Moellmann <gerd@gnu.org>
2815
2ab62c6c
GM
2816 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
2817
471f86b9
GM
2818 * process.c (Fset_process_filter): Don't crash if the input
2819 file descriptor of PROCESS is closed.
2820 (Fset_process_window_size): Likewise.
2821
101922c3
GM
28222001-03-06 Kenichi Handa <handa@etl.go.jp>
2823
2824 * xterm.c (XTflash): Make the timeout of select shorter, and call
2825 select repeatedly until the desired time expires.
2826
45d051a7
GM
28272001-03-06 Gerd Moellmann <gerd@gnu.org>
2828
2829 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
2830
2831 * xfns.c (Fx_create_frame): Clear Vwindow_list.
2832
2833 * lisp.h (Vwindow_list): Declare extern.
2834
8f372c46
EZ
28352001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
2836
2837 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
2838
f16a7aa5
GM
28392001-03-06 Gerd Moellmann <gerd@gnu.org>
2840
157ae273
GM
2841 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
2842 to detect a case where we have to highlight a different region
2843 despite not having left the currently highlighted region.
2844 Set mouse_face_overlay in the x_display_info.
45d051a7 2845 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
2846
2847 * xterm.h (struct x_display_info): Add mouse_face_overlay.
2848
2849 * buffer.c (mouse_face_overlay_overlaps): New function.
2850
2851 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
2852 (Qmouse_face): Declare extern.
2853
f16a7aa5
GM
2854 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
2855 if face_change_count is non-zero.
2856
827afcac
KH
28572001-03-06 Kenichi Handa <handa@etl.go.jp>
2858
2859 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
2860 that the source is unibyte.
2861
14c7242e
DL
28622001-03-05 Dave Love <fx@gnu.org>
2863
827afcac 2864 * xterm.c (XTmouse_position): Fix typo.
14c7242e 2865
c28b847b
GM
28662001-03-05 Gerd Moellmann <gerd@gnu.org>
2867
2868 * minibuf.c (read_minibuf): Clean up the binding stack if
2869 called noninteractively.
2870
b86644f2
KH
28712001-03-05 Kenichi Handa <handa@etl.go.jp>
2872
2873 * coding.c (syms_of_coding): Docstring modified.
2874
203682cc 28752001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
2876
2877 * charset.c (char_to_string): If a single byte char has modifier
2878 bits that can't be reflected to the character code, ignore them
45d051a7 2879 instead of signaling an error.
b86644f2 2880
e30bd7b7
EZ
28812001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
2882
2883 * s/msdos.h: Update copyright notice.
2884
2885 * dosfns.h: Update copyright notice.
2886
2887 * dosfns.c: Update copyright notice.
2888
2889 * msdos.c: Update copyright notice.
2890
b52b65bd
GM
28912001-03-02 Gerd Moellmann <gerd@gnu.org>
2892
2893 * xterm.c (glyph_rect): New function.
2894 (XTmouse_position): Use it to raise the threshold for mouse
2895 movement event generation.
2896
53c4b1e6
EZ
28972001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
2898
2899 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
2900 specifies (reverse . t), reverse the initial screen colors.
2901 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
2902 but we are reversing the colors, set bg_set, not fg_set.
2903 Likewise for setting background-color and reversing: set fg_set.
2904 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
2905 in effect.
2906
2907 * xfaces.c (Finternal_set_lisp_face_attribute)
2908 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
2909 parameters alist.
2910
f964b4d7
GM
29112001-03-02 Gerd Moellmann <gerd@gnu.org>
2912
ef53d75e
GM
2913 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
2914 to a single slash in the middle of file names.
2915
52283633 2916 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
2917 Accept only alphanumeric time zone names.
2918
f964b4d7
GM
2919 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
2920 or width area.
2921 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
2922 a widget to zero height.
52283633 2923
c3c45f65
GM
29242001-03-01 Gerd Moellmann <gerd@gnu.org>
2925
2926 * window.c (Fwindow_end): Call move_it_past_eol only if
2927 ending up on a partially visible line.
2928
028d739a
DL
29292001-03-01 Dave Love <fx@gnu.org>
2930
2931 * ccl.c (Fccl_execute): Doc fix.
2932
57c5889c
GM
29332001-03-01 Gerd Moellmann <gerd@gnu.org>
2934
35f59f6b
GM
2935 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
2936 of the tool bar before calling x_figure_window_size.
2937
f84ff02c
GM
2938 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
2939 NULL after destroying it, otherwise XTread_socket can access a
2940 destroyed widget when input is unblocked.
2941
8b8f9197 2942 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 2943
57c5889c
GM
2944 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
2945 same name as before, although there was a change in fontsets.
2946
224227d1
KR
29472001-02-28 Ken Raeburn <raeburn@gnu.org>
2948
4560730a
KR
2949 * lisp.h (Fframe_parameter): Declare.
2950
224227d1 2951 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 2952 Lisp_Object.
224227d1 2953
ece93c02
GM
29542001-02-28 Gerd Moellmann <gerd@gnu.org>
2955
11ef99b9
GM
2956 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
2957 NULL instead.
2958
2959 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
2960 NULL instead.
2961
ece93c02
GM
2962 * alloc.c (toplevel): Include process.h.
2963 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
2964 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
2965 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
2966 (allocate_vector, allocate_hash_table, allocate_window)
2967 (allocate_frame, allocate_process, allocate_other_vector):
2968 New functions.
ece93c02
GM
2969 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
2970 (mark_maybe_pointer): New function.
52283633 2971 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
2972 remain and not Lisp_Objects.
2973 (min_heap_address, max_heap_address): New variables.
2974 (mem_find): Return MEM_NIL if START is below min_heap_address or
2975 above max_heap_address.
2976 (mem_insert): Compute min_heap_address and max_heap_address.
2977
2978 * process.c (make_process): Use allocate_process.
2979
2980 * frame.c (make_frame): Use allocate_frame.
2981
2982 * window.c (make_window, make_dummy_parent): Use allocate_window.
2983 (Fcurrent_window_configuration): Use allocate_other_vector.
2984
2985 * lisp.h (allocate_vectorlike): Remove prototype.
2986 (allocate_vector, allocate_other_vector, allocate_frame)
2987 (allocate_window, allocate_process, allocate_hash_table):
2988 Add prototypes.
2989
2990 * fns.c (Fdelete, larger_vector): Use allocate_vector.
2991 (make_hash_table, copy_hash_table): Use allocate_hash_table.
2992
063af457
KH
29932001-02-27 Kenichi Handa <handa@etl.go.jp>
2994
2995 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
2996 treat the produced bytes as a valid multibyte sequence.
2997
2998 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
2999 (ccl_driver) <CCL_WriteMultibyteChar2>:
3000 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
3001 <ccl_finish>: Set ccl->eight_bit_control properly.
3002
3003 * ccl.h (struct ccl_program): New member eight_bit_control.
3004
f58c6494
SM
30052001-02-26 Stefan Monnier <monnier@cs.yale.edu>
3006
3007 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
3008 accessible_keymaps_char_table.
3009 (accessible_keymaps_char_table): Obey `is_metized'.
3010 (where_is_internal, Fwhere_is_internal): Don't confuse int and
3011 Lisp_Object.
3012
c596c392
GM
30132001-02-26 Gerd Moellmann <gerd@gnu.org>
3014
3015 * dispnew.c: Check HAVE_TERM_H before including term.h.
3016
425de386
AI
30172001-02-24 Andrew Innes <andrewi@gnu.org>
3018
3019 * makefile.w32-in: Update copyright notice.
3020
2ba11bbd
SM
30212001-02-24 Stefan Monnier <monnier@cs.yale.edu>
3022
3023 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
3024
66c56ed1
KH
30252001-02-24 Kenichi Handa <handa@etl.go.jp>
3026
4c1593ce
KH
3027 * Makefile.in (lisp): Add international/utf-8.elc.
3028
66c56ed1
KH
3029 * fontset.c (Fnew_fontset): Fix handling of the case that an
3030 element of FONTLIST is a cons of family and registry.
3031
796ead7e
JR
30322001-02-23 Jason Rumney <jasonr@gnu.org>
3033
3034 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
3035 to height unconditionally.
3036
3037 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 3038 background face to the end of the drawing area in the text area, only.
796ead7e
JR
3039 (x_insert_glyphs): Call window_box_left to obtain the left
3040 x-coordinate of the area to shift.
3041
3042 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
3043 safe_run_hooks.
3044
f6839838
AI
30452001-02-22 Andrew Innes <andrewi@gnu.org>
3046
52283633 3047 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
3048 ($(BLD)\dispnew.obj):
3049 ($(BLD)\editfns.obj):
3050 ($(BLD)\fileio.obj):
3051 ($(BLD)\filelock.obj):
3052 ($(BLD)\keyboard.obj):
3053 ($(BLD)\w32proc.obj):
3054 ($(BLD)\process.obj):
3055 ($(BLD)\sysdep.obj): Ditto.
3056
3057 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
3058 header files.
52283633
SM
3059 ($(BLD)/dispnew.$(O)):
3060 ($(BLD)/editfns.$(O)):
3061 ($(BLD)/fileio.$(O)):
3062 ($(BLD)/filelock.$(O)):
3063 ($(BLD)/keyboard.$(O)):
3064 ($(BLD)/w32proc.$(O)):
3065 ($(BLD)/process.$(O)):
f6839838
AI
3066 ($(BLD)/sysdep.$(O)): Ditto.
3067
c224f70b
GM
30682001-02-22 Gerd Moellmann <gerd@gnu.org>
3069
51695746
GM
3070 * xdisp.c (forward_to_next_line_start): When taking the shortcut
3071 at the start of the function, check that the \n in it->c is
3072 from the iterator's current position.
52283633 3073
a61b7058
GM
3074 * xdisp.c (handle_single_display_prop): Add parameter
3075 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
3076 properties which replace the display of text with something else.
3077 (handle_display_prop): Call handle_single_display_prop with
3078 additional argument saying if we already replaced text display
3079 with something else. Use AREF.
52283633 3080 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
3081 (decode_mode_spec_coding): Use AREF and ASIZE.
3082
3473f362
GM
3083 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
3084 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
3085 * vmstime.h: Files removed.
52283633 3086
2bb58df3
GM
3087 * unexencap.c, unexfx2800.c: Files removed.
3088
c224f70b
GM
3089 * dispnew.c (direct_output_for_insert): Give up if we are showing
3090 a message or just cleared the message because we might need to
3091 resize the echo area window or display an empty echo area.
3092
ffc9ff0c
GM
30932001-02-21 Gerd Moellmann <gerd@gnu.org>
3094
0528abe1
GM
3095 * xdisp.c (redisplay_internal): Do the
3096 mark_window_display_accurate after all windows have been
3097 redisplayed because this call resets flags in buffers which are
3098 needed for proper redisplay.
3099
52283633
SM
3100 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
3101 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
3102 the old names.
3103
52283633
SM
3104 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3105 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3106
3107 * msdos.h (struct x_output): Rename busy_window to
3108 hourglass_window, busy_p to hourglass_p.
3109
52283633
SM
3110 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3111 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3112
3113 * xfns.c: Rename everything containing *busy_cursor* and similar
3114 to *hourglass*.
3115 (syms_of_w32fns): Rename x-busy-pointer-shape to
3116 x-hourglass-pointer-shape, display-busy-cursor to
3117 display-hourglass, busy-cursor-delay to hourglass-delay.
3118
3119 * w32fns.c: Rename everything containing *busy_cursor* and similar
3120 to *hourglass*.
3121 (syms_of_w32fns): Rename x-busy-pointer-shape to
3122 x-hourglass-pointer-shape, display-busy-cursor to
3123 display-hourglass, busy-cursor-delay to hourglass-delay.
3124
3125 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
3126 of its busy_p flag.
3127
3128 * dispextern.h (start_hourglass, cancel_hourglass)
3129 (display_hourglass_p): Renamed from *busy_cursor*.
3130
ab2c5f0a
GM
31312001-02-20 Gerd Moellmann <gerd@gnu.org>
3132
d17e49a8
GM
3133 * keyboard.c (read_char): When an event from unread-command-events
3134 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
3135
fa97adf6
GM
3136 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
3137 equal to the current buffer.
3138
ab2c5f0a
GM
3139 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
3140 nil, otherwise we're left with truncate_lines t when a message
3141 is printed with message-truncate-lines bound to t.
3142
aeac019e
GM
31432001-02-19 Gerd Moellmann <gerd@gnu.org>
3144
c8bc6f65
GM
3145 * window.c (Fmove_to_window_line): Undo last change.
3146 (displayed_window_lines): Call line_bottom_y to determine
3147 the line's bottom position.
3148
3149 * dispextern.h (line_bottom_y): Add prototype.
3150
52283633 3151 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
3152 (pos_visible_p): Use it.
3153
980a2d69
GM
3154 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
3155 set redisplaying_p to 0 here instead of in Frecursive_edit.
3156 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
3157 set redisplaying_p.
3158
52283633 3159 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
3160 New variables.
3161 (syms_of_xdisp): Initialize new variables.
3162 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
3163 Specbind `inhibit-menubar-update' when updating the menu bar.
3164
65048e97
GM
3165 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
3166 safe_run_hooks.
3167
3168 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
3169 safe_run_hooks.
3170
a57c4026
GM
3171 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
3172 is null.
3173
aeac019e
GM
3174 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
3175 to the start of the file.
3176
76846b31
GM
31772001-02-16 Gerd Moellmann <gerd@gnu.org>
3178
f3f053f3 3179 * window.c (set_window_buffer): Fix last change.
52283633 3180
f3f053f3
GM
3181 * window.c (set_window_buffer): Set window's vscroll to 0.
3182
dad75588
GM
3183 * window.c (coordinates_in_window): Increase width of area
3184 where the vertical line can be dragged.
3185
c220b753
GM
3186 * xterm.c (x_set_glyph_string_background_width): Extend the
3187 background face to the end of the drawing area in the text
3188 area, only.
3189
c56b1c1b
GM
3190 * xdisp.c (handle_single_display_prop): Set iterator's position
3191 to where the `display' property starts, like for images.
3192 (dump_glyph): New function.
3193 (dump_glyph_row): Use it. Dump info about marginal areas.
3194
3195 * dispnew.c (direct_output_for_insert): Recognize more cases where
3196 glyphs can be written instead of being inserted.
3197
3198 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
3199 the left x-coordinate of the area to shift.
3200
76846b31
GM
3201 * dired.c (directory_files_internal): Set result list to nil
3202 before retrying.
3203
0fc71a77
KH
32042001-02-15 Kenichi Handa <handa@etl.go.jp>
3205
3206 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
3207 invalid multibyte sequence, treat *SRC as a character of
3208 eight-bit-graphic.
3209
25078b54
EZ
32102001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
3211
3212 * textprop.c (Fset_text_properties): Doc fix.
3213
8399f8a0
GM
32142001-02-15 Gerd Moellmann <gerd@gnu.org>
3215
3216 * dispnew.c (update_text_area): Undo change of 2001-01-12.
3217
9a2a6f73
DL
32182001-02-14 Dave Love <fx@gnu.org>
3219
3220 * coding.c: Doc and message fixes.
3221
bf853fee
AI
32222001-02-14 Andrew Innes <andrewi@gnu.org>
3223
3224 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
3225 Emacs frame above the screen size.
3226
78c663d8
GM
32272001-02-14 Gerd Moellmann <gerd@gnu.org>
3228
3229 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
3230
7cc9f69f
GM
32312001-02-13 Gerd Moellmann <gerd@gnu.org>
3232
0a411995
GM
3233 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
3234 case that TO ends up beyond ZV after running before-change-functions.
3235
5ddc1b75
GM
3236 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
3237 the selected window if it is showing the buffer in question.
3238
7cc9f69f
GM
3239 * dired.c (directory_files_internal): Initialize errno.
3240 (toplevel): Include errno.h.
3241
2e6621ca
GM
32422001-02-13 Kenichi Handa <handa@etl.go.jp>
3243
3244 * xfaces.c (best_matching_font): New parameter width_ratio.
3245 Multiply avgwidth by width_ratio.
3246 (choose_face_font): Call best_matching_font with width_ratio
3247 calculated from the column width of C.
3248
60222d69
AI
32492001-02-12 Andrew Innes <andrewi@gnu.org>
3250
3251 The following changes are to draw box lines inside characters area
3252 if line-width is negative.
52283633 3253
60222d69
AI
3254 * w32term.c (x_produce_image_glyph): Pay attention to the case that
3255 face->box_line_width is negative.
3256 (x_produce_stretch_glyph): Likewise.
3257 (x_produce_glyphs): Likewise.
3258 (x_estimate_mode_line_height): Likewise.
3259 (x_draw_glyph_string_background): Likewise.
3260 (x_draw_glyph_string_foreground): Likewise.
3261 (x_draw_composite_glyph_string_foreground): Likewise.
3262 (x_draw_glyph_string_box): Likewise.
3263 (x_draw_image_foreground): Likewise.
3264 (x_draw_image_relief): Likewise.
3265 (x_draw_image_foreground_1): Likewise.
3266 (x_draw_image_glyph_string): Likewise.
3267
9804b846
KH
32682001-02-09 Kenichi Handa <handa@etl.go.jp>
3269
3270 The following changes are to draw box lines inside characters area
3271 if line-width is negative.
52283633 3272
9804b846
KH
3273 * xterm.c (x_produce_image_glyph): Pay attention to the case that
3274 face->box_line_width is negative.
3275 (x_produce_stretch_glyph): Likewise.
3276 (x_produce_glyphs): Likewise.
3277 (x_estimate_mode_line_height): Likewise.
3278 (x_draw_glyph_string_background): Likewise.
3279 (x_draw_glyph_string_foreground): Likewise.
3280 (x_draw_composite_glyph_string_foreground): Likewise.
3281 (x_draw_glyph_string_box): Likewise.
3282 (x_draw_image_foreground): Likewise.
3283 (x_draw_image_relief): Likewise.
3284 (x_draw_image_foreground_1): Likewise.
3285 (x_draw_image_glyph_string): Likewise.
3286
3287 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
3288 and :line-width can be negative.
52283633 3289 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 3290
49be9f70
JR
32912001-02-09 Jason Rumney <jasonr@gnu.org>
3292
3293 * w32term.c (w32_encode_char): Treat eight bit graphic and control
3294 characters the same as ASCII and latin-1.
3295 (x_display_and_set_cursor): Check for the focus frame's selected
3296 window instead of selected_window.
3297 (x_after_update_window_line): Don't clear if frame's internal
3298 border width is zero.
3299 (x_new_font): Don't change a tooltip's size.
3300 (w32_initialize): Set char_ins_del_ok to 1.
3301
3302 * w32fns.c (Fx_show_tip): Fix calls to make_number.
3303 (x_set_font): If font hasn't changed, avoid recomputing
3304 faces and other things.
52283633
SM
3305 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
3306 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
3307 (x_create_tip_frame): Prevent changing the tooltip's
3308 background color by specifying a color for the default font
3309 in .Xdefaults.
3310 (Qcancel_timer): New variable.
3311 (syms_of_w32fns): Initialize and staticpro it.
3312 (Fx_hide_tip, Fx_show_tip): Use it.
3313 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
3314 the timer.
3315 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
3316
3317 * w32.c (init_environment): Duplicate local string before putenv.
3318
555e35d2
SZ
33192001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
3320
3321 * charset.c (Fstring): A typo.
3322
19c92c94
KH
33232001-02-09 Kenichi Handa <handa@etl.go.jp>
3324
e47a1c33
KH
3325 * charset.c (Fstring): If all arguments are less than 256, return
3326 a unibyte string.
3327
3328 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
3329 return a unibyte string.
3330
19c92c94
KH
3331 * coding.c (code_convert_region): After detecting a coding, if
3332 nothing found, set coding->composing to COMPOSITION_NO.
3333 (decode_coding_string): Likewise.
3334
d8e675f5
SM
33352001-02-08 Stefan Monnier <monnier@cs.yale.edu>
3336
3337 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
3338 to avoid overflow.
3339
bd503487
KH
33402001-02-07 Kenichi Handa <handa@etl.go.jp>
3341
3342 * charset.c (parse_str_to_multibyte): New function.
3343
3344 * charset.h (parse_str_to_multibyte): Extern it.
3345
3346 * print.c (print_string): If we are going to print a unibyte
3347 string into a multibyte buffer, convert the string to multibyte by
3348 str_to_multibyte.
3349
a8370d72
AI
33502001-02-06 Andrew Innes <andrewi@gnu.org>
3351
3352 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
3353 been created. It seems we can get sent window messages such as
3354 WM_ERASEBKGND before we properly update a frame.
3355
c363a1d6
GM
33562001-02-06 Gerd Moellmann <gerd@gnu.org>
3357
3358 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
3359 Avoid some unnecessary cursor positioning.
3360
a08332c0
GM
33612001-02-05 Gerd Moellmann <gerd@gnu.org>
3362
52283633 3363 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
3364 (LFACE_AVGWIDTH): New macro.
3365 (LFACEP): Use AREF.
3366 (check_lface_attrs): Check LFACE_AVGWIDTH.
3367 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
3368 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
3369 (merge_face_vectors): Check LFACE_AVGWIDTH.
3370 (Finternal_make_lisp_face): Use AREF.
3371 (xm_set_menu_resources_from_menu_face)
3372 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
3373 (Finternal_lisp_face_empty_p): Use AREF.
3374 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
3375 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
3376 Compare average widths..
3377 (best_matching_font): Arrange for comparing average widths.
3378
52283633
SM
3379 * dispextern.h (enum lface_attribute_index):
3380 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
3381
5cb3c8d4
DL
33822001-02-05 Dave Love <fx@gnu.org>
3383
3384 * puresize.h: Revert last change following loadup.el change.
3385
193fba87
AI
33862001-02-05 Andrew Innes <andrewi@gnu.org>
3387
3388 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
3389 invocation of temacs, to work with Windows 2000.
3390 (bootstrap-emacs): Ditto.
3391
e16f52ce
GM
33922001-02-05 Gerd Moellmann <gerd@gnu.org>
3393
7a58ab59
GM
3394 * xterm.c (x_display_and_set_cursor): Check for the focus
3395 frame's selected window instead of selected_window.
3396
e89aaabd
GM
3397 * xdisp.c (try_scrolling): If point is in the line below the
3398 window, make sure to move the iterator at least a canonical
3399 char height down.
3400
52283633 3401 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 3402
789ce875
KH
34032001-02-05 Kenichi Handa <handa@etl.go.jp>
3404
52283633
SM
3405 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
3406 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
3407 (ccl_driver): If the CCL program is terminated because of
3408 CCL_STAT_INVALID_CMD, copy the remaining source data to the
3409 destination instead of throwing them away.
3410
20b28f82
GM
34112001-02-02 Gerd Moellmann <gerd@gnu.org>
3412
79fb38c0
GM
3413 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
3414 faces and other things.
3415
20b28f82
GM
3416 * xdisp.c (get_next_display_element): Fix case of empty
3417 display table entry.
3418
5a72551e
EZ
34192001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
3420
eb24d0bf
EZ
3421 * editfns.c (Fconstrain_to_field): Doc fix.
3422
6a3f48c7
EZ
3423 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
3424 into `thoroughly', to make it consistent with the doc string.
3425
5a72551e
EZ
3426 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
3427
01acdb05
GM
34282001-02-01 Gerd Moellmann <gerd@gnu.org>
3429
0353b28f
GM
3430 * search.c (search_buffer): Call set_search_regs with a byte
3431 position, not a character position.
3432
01acdb05
GM
3433 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
3434 minibuffer-only,
3435
e86b5133
EZ
34362001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
3437
3438 * frame.c (Fmodify_frame_parameters): Doc fix.
3439
7442878f
GM
34402001-01-31 Gerd Moellmann <gerd@gnu.org>
3441
01acdb05
GM
3442 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
3443 identifier which is not reserved by Standard C.
52283633 3444
7442878f
GM
3445 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
3446
3447 * window.c (enum window_part): New enumeration.
3448 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
3449 Qright_bitmap_area.
3450 (coordinates_in_window): Return an enumerator from enum
3451 window_part. Fix handling of right scroll bar.
3452 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
3453 `right-fringe' instead of `left-bitmap-area' and
3454 `right-bitmap-area'. Use enumerators from enum window_part
3455 instead of hard-coded integers.
52283633
SM
3456 (check_window_containing, window_from_coordinates):
3457 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
3458 (syms_of_window): Replace Qleft_bitmap_area and
3459 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
3460
7c132cba
EZ
34612001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
3462
3463 * editfns.c (Fformat_time_string): Doc fix.
3464
c359dd9e
SM
34652001-01-31 Stefan Monnier <monnier@cs.yale.edu>
3466
3467 * keymap.c (Fwhere_is_internal): Use the first valid binding
3468 if no ascii binding is found (when firstonly is t).
3469
ce070307
GM
34702001-01-31 Gerd Moellmann <gerd@gnu.org>
3471
b4f30ec5
GM
3472 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
3473 instead of Finteractive_p.
3474
3475 * lisp.h (interactive_p): Add prototype.
3476
3477 * eval.c (interactive_p): New function.
3478 (Finteractive_p): Use it.
3479
ce070307
GM
3480 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
3481
f57b6e64
DL
34822001-01-31 Dave Love <fx@gnu.org>
3483
d61c7afe
DL
3484 * .gdbinit (hook-run): Define to run xreload.
3485
f57b6e64
DL
3486 * textprop.c (Fset_text_properties): Fix newline in doc string.
3487
eef93f99
GM
34882001-01-30 Gerd Moellmann <gerd@gnu.org>
3489
52283633
SM
3490 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
3491 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
3492
3493 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 3494 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
3495 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
3496
3497 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
3498 height.
3499
d9c1f6f9
DL
35002001-01-30 Dave Love <fx@gnu.org>
3501
3502 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
3503 AFTER_POTENTIAL_GC.
3504
e8f044a0
GM
35052001-01-29 Gerd Moellmann <gerd@gnu.org>
3506
52283633
SM
3507 * bytecode.c (Fbyte_code) <Bcurrent_column>:
3508 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 3509
8e1db7b3
EZ
35102001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
3511
3512 * textprop.c (Fset_text_properties): Doc fix.
3513
4eefd9d2
GM
35142001-01-29 Gerd Moellmann <gerd@gnu.org>
3515
3516 * xdisp.c (forward_to_next_line_start): Remove xassert.
3517
fccb8288
EZ
35182001-01-29 Jason Rumney <jasonr@gnu.org>
3519
4eefd9d2 3520 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
3521 returning without releasing it.
3522
76581eab
KH
35232001-01-29 Kenichi Handa <handa@etl.go.jp>
3524
3525 * w32fns.c (w32_font_match): Allocate three more bytes to regex
3526 for '^', '$', and '\0'.
3527
83a96b4d
AC
35282001-01-28 Andrew Choi <akochoi@i-cable.com>
3529
5604ec34
AC
3530 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
3531 regex for '^', '$', and '\0'.
3532
83a96b4d
AC
3533 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
3534 only if current_sblock has been initialized.
3535
3536 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
3537 terminal frame even if it is the only visible frame.
3538
c09a6440
KH
35392001-01-28 Kenichi Handa <handa@etl.go.jp>
3540
3541 * fontset.c (font_family_registry): Even if FONTNAME conform to
3542 XLFD, if it specifies other fields than family and registry,
52283633 3543 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 3544 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
3545 a signle byte character. Don't set FAMILY part to nil here.
3546 It is handled by the caller choose_face_font.
c09a6440
KH
3547 (Fnew_fontset): Call font_family_registry with FORCE 0.
3548 (Fset_fontset_font): Likewise.
3549
4dcd74e6
GM
35502001-01-27 Gerd Moellmann <gerd@gnu.org>
3551
3552 * xdisp.c (display_line): Don't treat a newline as fitting
3553 on the line.
3554
d2906bf8
GM
35552001-01-26 Gerd Moellmann <gerd@gnu.org>
3556
0130fe1a
GM
3557 * window.c (size_window): Set the window's orig_top to nil when
3558 changing heights, so that a future shrink_mini_window won't
3559 restore a bogus height.
3560
550f0e6a
GM
3561 * frame.c (do_switch_frame): If selected frame has a mini-window,
3562 resize that to exact size.
3563
b7b20fbd
GM
3564 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
3565
a47b7816
GM
3566 * xdisp.c (display_line): Simplify check for glyphs fitting
3567 entirely in the line.
3568
d2906bf8
GM
3569 * xfns.c (xic_style): New variable.
3570 (create_frame_xic): Move static variable to global scope for
550f0e6a 3571 the case that `static' gets defined away.
d2906bf8 3572
73df2b1e
KH
35732001-01-26 Kenichi Handa <handa@etl.go.jp>
3574
3575 * coding.c (decode_coding): Set a flag for inhibiting
3576 inconsistent eol.
3577 (code_convert_region): Always set saved_coding_symbol.
3578 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 3579 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 3580
6613cfc4
GM
35812001-01-25 Gerd Moellmann <gerd@gnu.org>
3582
c5e6e06b
GM
3583 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
3584 XClearArea.
3585
3586 * xterm.c (x_after_update_window_line): Don't clear if frame's
3587 internal border width is zero.
3588 (x_clear_area): New function.
3589 (x_after_update_window_line, x_clear_end_of_line)
3590 (x_scroll_bar_create, x_scroll_bar_set_handle)
3591 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
3592 instead of XClearArea.
3593
3594 * xterm.h (x_clear_area): Add prototype.
3595
6613cfc4
GM
3596 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
3597 which doesn't seem necessary anymore with Lesstif 0.92.
3598
650cc6cc
DL
35992001-01-25 Dave Love <fx@gnu.org>
3600
34ac3367
DL
3601 * puresize.h (BASE_PURESIZE): Up to 720000.
3602
650cc6cc
DL
3603 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
3604
5e37dc22
GM
36052001-01-25 Gerd Moellmann <gerd@gnu.org>
3606
e1e441f9
GM
3607 * xdisp.c (echo_area_display): Don't call redisplay_internal
3608 when Emacs is shutting down. We can't run hooks etc. that
3609 would be necessary to do a redisplay.
3610
5e37dc22
GM
3611 * lread.c (read_integer): Use type EMACS_INT instead of int.
3612
0fb94c7f
EZ
36132001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
3614
3615 * ccl.c (ccl_driver): Fix last change.
3616
e3778624
KH
36172001-01-25 Kenichi Handa <handa@etl.go.jp>
3618
3619 * ccl.h (sturct ccl_program): New member suppress_error.
3620
bb264518 3621 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
3622 insert error message to the output.
3623 (setup_ccl_program): Initialize ccl->suppress_error to 0.
3624
3625 * coding.h (struct coding_system): New member suppress_error.
3626
3627 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
3628 (Fset_terminal_coding_system_internal): Set the member
3629 suppress_error to 1.
3630 (Fset_safe_terminal_coding_system_internal): Likewise.
3631
245ed2b1
SM
36322001-01-24 Stefan Monnier <monnier@cs.yale.edu>
3633
3634 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
3635 as if it was a `charset'.
3636
f9aaedb6
GM
36372001-01-24 Gerd Moellmann <gerd@gnu.org>
3638
3639 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
3640 value in where_is_cache; the next lookup in the cache returns
3641 something bogus if we do.
3642
c3902c3e
EZ
36432001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
3644
3645 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
3646 if HAVE_WINDOW_SYSTEM isn't defined.
3647
3497f73e
GM
36482001-01-24 Gerd Moellmann <gerd@gnu.org>
3649
e7e41584
GM
3650 * fns.c (sweep_weak_table): Fix code taking items out of
3651 the hash collision chain. Some cleanup.
3652
3497f73e
GM
3653 * xterm.c (x_new_font): Don't change a tooltip's size.
3654
3655 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
3656 background color by specifying a color for the default font
3657 in .Xdefaults.
3658
3d48e687
KH
36592001-01-24 Kenichi Handa <handa@etl.go.jp>
3660
96531b20
KH
3661 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
3662 a workaround for SunOS 4's cc.
3663 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
3664 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
3665 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
3666 statement.
3d48e687 3667
a30629d2
GM
36682001-01-23 Gerd Moellmann <gerd@gnu.org>
3669
3670 * xterm.c (x_set_window_size_1): New function extracted from
3671 x_set_window_size.
3672 (x_set_window_size): Use it.
3673 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
3674 doesn't have a widget, like tooltips.
3675
5a43decf
EZ
36762001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
3677
52283633 3678 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 3679
b0e98867
KH
36802001-01-23 Kenichi Handa <handa@etl.go.jp>
3681
3682 * fns.c (Fset_char_table_default): Fix to make sub char-table
3683 correctly.
3684
50606b4c
GM
36852001-01-22 Gerd Moellmann <gerd@gnu.org>
3686
cb2ddc53 3687 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
3688 a desired tool bar string, even if there are no tool bar items.
3689
57c28064
GM
3690 * xdisp.c (Ftool_bar_lines_needed): New function.
3691 (syms_of_xdisp): Defsubr it.
3692
50606b4c
GM
3693 * editfns.c (Fformat): Don't extend text properties from arguments
3694 to padding chars in the result.
3695
2f169c38
EZ
36962001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
3697
3698 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
3699
0f32f023
AI
37002001-01-20 Andrew Innes <andrewi@gnu.org>
3701
52283633 3702 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
3703 (w32_initialize): Don't set term hooks that aren't actually needed
3704 in windowed mode.
3705
3706 * xfaces.c (realize_default_face):
3707 (realize_face):
3708 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
3709
3710 * xdisp.c (handle_single_display_prop): Remove references to
3711 FRAME_W32_CONSOLE_P.
3712
52283633 3713 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
3714
3715 * frame.h (output_method): Remove output_w32_console method.
3716 (FRAME_W32_CONSOLE_P): Remove macro.
3717
3718 * frame.c (Qw32_console): Remove variable.
3719 (Fframep): Remove references to it.
3720 (syms_of_frame): Ditto.
3721 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
3722
3723 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
3724 redefinition.
3725
7173eada
KH
37262001-01-20 Kenichi Handa <handa@etl.go.jp>
3727
3728 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
3729
755b45ce
AI
37302001-01-19 Andrew Innes <andrewi@gnu.org>
3731
3732 * w32.c (init_environment): Add a version-independent site-lisp
3733 directory to EMACSLOADPATH, after the version dependent one.
3734
0a949811
GM
37352001-01-19 Gerd Moellmann <gerd@gnu.org>
3736
8501998a
GM
3737 * editfns.c (Fbuffer_substring): Doc fix.
3738
52283633
SM
3739 * xdisp.c (message_dolog, message2, message2_nolog):
3740 Rename parameter LEN to NBYTES.
0a949811 3741
e6ebcbbe
KH
37422001-01-19 Kenichi Handa <handa@etl.go.jp>
3743
200ecca2
KH
3744 * charset.c (strwidth): Use c_string_width.
3745 (c_string_width): New function.
3746 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
3747 Caller changed.
3748
3749 * charset.h (c_string_width, lisp_string_width): Extern them.
3750
52283633 3751 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 3752
e6ebcbbe
KH
3753 * indent.c (check_composition): Check validity of composition.
3754
200ecca2
KH
3755 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
3756 characters by calling c_string_width.
3757 (x_consider_frame_title): Get byte length of frame tile string
3758 correctly.
3759 (display_mode_element): Pay attention to width of non-ASCII
3760 characters by calling strwidth.
3761
8692ca92
GM
37622001-01-18 Gerd Moellmann <gerd@gnu.org>
3763
8962e303
GM
3764 * xfns.c (Qcancel_timer): New variable.
3765 (syms_of_xfns): Initialize and staticpro it.
3766 (Fx_hide_tip, Fx_show_tip): Use it.
3767 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
3768 the timer.
3769 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
3770
91523be9
GM
3771 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
3772
3773 * window.h (WINDOW_LIVE_P): New macro.
3774
b0b7ed0e
GM
3775 * window.c (window_size_fixed): New variable.
3776 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
3777 the doc string.
3778
06bccf8e
GM
3779 * eval.c (specbind): If binding a per-buffer variable which
3780 doesn't have a buffer-local value in the current buffer, change
3781 the global value by changing the value of the symbol bound in all
3782 buffers not having their own value, to make it consistent with
3783 what happens with other buffer-local variables.
3784
8692ca92
GM
3785 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
3786
3787 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
3788 when searching for a newline.
3789
bb3a3b50
KH
37902001-01-18 Kenichi Handa <handa@etl.go.jp>
3791
3792 * xdisp.c (display_string): Fix previous change.
3793
c2cc16fa
JR
37942001-01-18 Jason Rumney <jasonr@gnu.org>
3795
3796 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
3797 GLYPH_DEBUG is defined.
3798 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
3799 true for images with `:ascent 100'.
3800 (x_set_mouse_face_gc): If the last used mouse face has gone in the
3801 meantime, use face MOUSE_FACE_ID.
3802 If first glyph isn't a character glyph, use the ASCII NUL
3803 character to determine the face.
3804 (expose_area): Do not treat left margin specially.
3805 (note_mode_line_highlight): If no local_map, check global keymap.
3806 (note_mouse_highlight): Initialize overlay.
52283633 3807 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
3808 (show_scroll_bars): Remove unused function.
3809 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
3810 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
3811 Clip to row.
52283633 3812 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
3813 (x_free_frame_resources): Unload relief colors.
3814
9c11f79e
GM
38152001-01-17 Gerd Moellmann <gerd@gnu.org>
3816
3aec8722 3817 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
3818 get_next_display_element when the newline is already found.
3819 This may change the iterator's position, when its current position is
3aec8722
GM
3820 equal to the iterator's stop_charpos.
3821
f3ffc2c3
GM
3822 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
3823 zero, use this method only at the end of a line.
3824
52283633 3825 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
3826 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
3827 if SCALABLE_FONTS_P is set.
52283633 3828
d26d6fd9
GM
3829 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
3830 so that scalable fonts are included.
3831
9c11f79e
GM
3832 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
3833 In the cache, use a key containing the information if scalable
3834 fonts are included.
3835 (x_load_font): Adapt to change of keys in the font cache.
3836
38372001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 3838
d26d6fd9
GM
3839 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
3840 XListFonts to take advantage of font caching.
3841
9c11f79e
GM
3842 * xterm.c (x_list_fonts): Ensure caching font information when
3843 called for a null frame, which is the case frequently when Emacs
3844 starts.
3845
51446987
GM
38462001-01-17 Gerd Moellmann <gerd@gnu.org>
3847
f864120f
GM
3848 * xfns.c (QCconversion): Replaces QCalgorithm.
3849
3850 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
3851
3852 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
3853 of :algorithm.
52283633 3854
e37d1417
GM
3855 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
3856 not everything could be displayed.
3857
51446987
GM
3858 * line.h, x-list-font.c: Files removed because unused.
3859
9ad4f3e5
AI
38602001-01-17 Andrew Innes <andrewi@gnu.org>
3861
3862 * dired.c (directory_files_internal): Convert result from readdir
3863 to a unibyte string initially, to avoid possible misinterpretation
3864 of some bytes as the internal form of Emacs characters.
3865
2eda09b5
KH
38662001-01-17 Kenichi Handa <handa@etl.go.jp>
3867
3868 * fns.c (concat): Be sure to avoid putting the same `composition'
3869 property on the adjacent regions.
3870
826f3788
GM
38712001-01-16 Gerd Moellmann <gerd@gnu.org>
3872
52283633 3873 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
3874 (Fscroll_right, Fscroll_left): Set it here instead, if called
3875 interactively.
3876
d57b83b3
GM
3877 * buffer.c (Fset_buffer_modified_p): Set buffer's
3878 prevent_redisplay_optimizations_p flag.
3879
826f3788 3880 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
3881 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
3882 with additional arg.
3883
3884 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
3885 Change prototype.
826f3788 3886
826f3788
GM
3887 * xdisp.c (redisplay_preserve_echo_area): Add parameter
3888 FROM_WHERE, for debugging.
3889
261d788b
KH
38902001-01-16 Kenichi Handa <handa@etl.go.jp>
3891
3892 * ccl.c (Fregister_ccl_program): Handle the return value of
3893 resolve_symbol_ccl_program correctly.
52283633 3894 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 3895
bccee4f2
GM
38962001-01-15 Gerd Moellmann <gerd@gnu.org>
3897
e4ded23c
GM
3898 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
3899 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
3900
3901 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
3902 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
3903 the display; we didn't open it.
3904
bccee4f2
GM
3905 * dispnew.c (save_or_restore_current_matrices): Function removed.
3906 (save_current_matrix, restore_current_matrix): New functions.
3907 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
3908 restore the frame's current matrix. Due to the glyph pointer
3909 setup done in adjust_glyph_matrix, there is no easy way to make
3910 saving the current matrix in the desired matrix generally correct,
3911 so don't try it.
3912
ebeccffa
KH
39132001-01-15 Kenichi Handa <handa@etl.go.jp>
3914
3915 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
3916 truncation glyphs.
3917 (display_line): Optimize for wide characters.
e4ded23c 3918 (display_string): Don't try to display a multi-column character
ebeccffa
KH
3919 partially. On ttys, produce more than one truncation glyph for
3920 multi-column characters that don't fit on the line.
3921
64388126
KH
39222001-01-13 Kenichi Handa <handa@etl.go.jp>
3923
52283633
SM
3924 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
3925 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 3926
8edb0a6f
JR
39272001-01-13 Jason Rumney <jasonr@gnu.org>
3928
3929 * w32fns.c (Fimage_size, image_ascent, lookup_image)
3930 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
3931 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
3932 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 3933
52283633
SM
3934 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
3935 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
3936 (x_draw_image_glyph_string): Adapt to change of image margins.
3937
3938 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
3939 variables.
3940
3941 * w32bdf.c (search_file_line, get_cached_font_char)
3942 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
3943
3944 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
3945
3946 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
3947 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
3948 (Fw32_send_sys_command): Remove unused variables.
3949 (w32_msg_pump): Add parentheses.
3950
3951 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
3952 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
3953 Add parentheses.
3954
4956d1ef
GM
39552001-01-12 Gerd Moellmann <gerd@gnu.org>
3956
b30623be
GM
3957 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
3958 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
3959 being a pair of margins.
3960 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
3961 to DEFVAR_LISP. Extend doc.
3962
3963 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
3964 margins.
3965 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
3966 pair of integers `(X . Y)', use X for the horizontal and Y for the
3967 vertical margin.
3968 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
3969 (parse_image_spec): Check it.
52283633
SM
3970 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
3971 (tiff_format, gif_format, gs_format):
3972 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 3973
52283633
SM
3974 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
3975 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
3976 (x_draw_image_glyph_string): Adapt to the change of image margins.
3977
3978 * dispextern.h (struct image): Replace member `margin' with
3979 `hmargin' and `vmargin'.
3980
4554cc79
GM
3981 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
3982 and GLYPHS.
3983
3984 * dispnew.c (update_text_area): Put code which decrements the
3985 stop position when the row's face extends to the end of the
3bffc665 3986 line in #if 0.
4554cc79 3987
3cccce8d
GM
3988 * xfns.c (x_set_mouse_color): Fix color allocation.
3989
4956d1ef
GM
3990 * keyboard.c: Call get_local_map with new argument list.
3991
3992 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
3993
3994 * intervals.h (enum map_property): Removed.
3995 (get_local_map): Change prototype.
3996
3997 * keymap.c: Call get_local_map with new argument list.
3998 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
3999
2c2ff7f2
GM
40002001-01-11 Gerd Moellmann <gerd@gnu.org>
4001
a23887b9
GM
4002 * xdisp.c (build_desired_tool_bar_string): Correct the computation
4003 of the size needed for the tool bar string. For the last image,
4004 use a `display' property that reaches to the end of the string.
4005
a7ee2d2e
GM
4006 * xselect.c (selection_request_dpyinfo): New variable.
4007 (x_handle_selection_request): Set it.
4008 (x_selection_request_lisp_error): Don't call
4009 x_decline_selection_request if selection request's display has
4010 been closed.
4011
52283633
SM
4012 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
4013 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 4014
457b792c
GM
40152001-01-10 Dave Love <fx@gnu.org>
4016
4017 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
4018 ${SOME_MACHINE_LISP}, not ${lisp}.
4019
c1efd260
GM
40202001-01-10 Gerd Moellmann <gerd@gnu.org>
4021
52283633
SM
4022 * xdisp.c (display_line): On ttys, produce more than one truncation
4023 glyph for multi-column characters that don't fit on the line.
a98b5ed9 4024
ac95a621
GM
4025 * xselect.c (x_reply_selection_request): Add a comment.
4026
c1efd260
GM
4027 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
4028 XkbGetNames instead of XkbGetKeyboard.
4029
1bfb1345
DL
40302001-01-10 Dave Love <fx@gnu.org>
4031
4032 * sysdep.c (random): Revert the declaration.
4033
38119822
GM
40342001-01-09 Gerd Moellmann <gerd@gnu.org>
4035
52283633
SM
4036 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
4037 Call function string_bytes.
35f464a7
GM
4038 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
4039
4040 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
4041 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
4042 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
4043 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
4044 the current sblock.
4045 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
4046 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
4047 after sweeping strings, and at the end.
4048 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
4049
38119822
GM
4050 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
4051 ensure that pop_message is called.
4052
4053 * keyboard.c (Fexecute_extended_command): Use a
4054 record_unwind_protect to ensure that pop_message is called.
4055
4056 * lisp.h (push_message_unwind): Add prototype.
4057
4058 * xdisp.c (push_message_unwind): New function.
4059
4060 * fileio.c (do_auto_save_unwind): Do the pop_message here
4061 instead of in Fdo_auto_save.
4062 (Fdo_auto_save): Don't call pop_message.
4063
f47a9ec4
KR
40642001-01-08 Ken Raeburn <raeburn@gnu.org>
4065
4066 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
4067 in inner block.
4068
a758f97d
GM
40692001-01-08 Gerd Moellmann <gerd@gnu.org>
4070
6d0afc03
GM
4071 * window.c (window_scroll_pixel_based): Adjust glyph matrices
4072 when increasing window's vscroll.
4073
a758f97d
GM
4074 * macros.c (Qkbd_macro_termination_hook): New variable.
4075 (syms_of_macros): Initialize and staticpro it.
4076 (pop_kbd_macro): Run kbd-macro-termination-hook.
4077
4078 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
4079
1bfb1345 40802001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
4081
4082 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
4083 arglist, for documentation's sake.
4084
0dac6924
AI
40852001-01-06 Andrew Innes <andrewi@gnu.org>
4086
4087 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
4088 of *.pdb.
4089
8182406a
AI
40902001-01-05 Andrew Innes <andrewi@gnu.org>
4091
4092 * term.c (update_end): Don't check updating_frame; for some reason
4093 this can be 0 sometimes, such as after dismissing a popup menu,
4094 and isn't necessary given the explicit frame argument.
4095
3828218c
GM
40962001-01-05 Gerd Moellmann <gerd@gnu.org>
4097
4098 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
4099 on some systems, and an unsigned long on others, like FreeBSD 4.1.
4100
2f5ded21
GM
41012001-01-04 Gerd Moellmann <gerd@gnu.org>
4102
52283633 4103 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
4104
4105 * xfns.c (x_create_tip_frame): Preserve the value of
4106 face_change_count around the creation of the tip frame.
52283633 4107
2f5ded21
GM
4108 * xfns.c (last_show_tip_args): New variable.
4109 (compute_tip_xy): New function.
4110 (Fx_show_tip): Reuse an existing tip frame, if possible.
4111 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
4112
dfad65fa
DL
41132001-01-04 Dave Love <fx@gnu.org>
4114
64d4ec0f
DL
4115 * editfns.c (Fformat): Doc fix.
4116
dfad65fa
DL
4117 * systime.h (set_file_times): Prototype.
4118
4119 * widget.h (EmacsFrameSetCharSize_): Prototype.
4120
4121 * sysdep.c (random, srandom): Declare explicitly.
4122
4123 * dispextern.h (move_it_vertically_backward): Declare.
4124
85fe3b5e
GM
41252001-01-04 Gerd Moellmann <gerd@gnu.org>
4126
0f2ac578
GM
4127 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
4128 like in Fx_create_frame.
4129
482cca61
GM
4130 * xfaces.c (set_font_frame_param): Don't do anything for
4131 non-graphical frames.
4132
85fe3b5e
GM
4133 * window.c (Fdelete_other_windows): Set window's window_end_valid
4134 to nil when changing the window's start. Don't change the
4135 window's start when its top position hasn't changed. If we do,
4136 this will set the window's optional_new_start, which act's like a
4137 force_start during redisplay with C-x 1 M-> under particular
4138 circumstances (see report from Per Starback to emacs-pretest-bug
4139 from 2000-12-13.).
4140
3e99d3b4
GM
41412001-01-03 Gerd Moellmann <gerd@gnu.org>
4142
a77dc1ec
GM
4143 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
4144 short cut at the start of the function. Add an assertion.
4145 (reseat_at_next_visible_line_start): Add an assertion.
4146
2f3cad6c
GM
4147 * window.c (Frecenter): When changing the window start, set the
4148 window's window_end_valid to nil.
4149 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
4150
4151 * dispextern.h (move_it_past_eol): Add prototype.
4152
4153 * xdisp.c (move_it_past_eol): New function.
4154
3e99d3b4
GM
4155 * window.c (Fwindow_end): Doc fix.
4156
41572001-01-03 Dave Love <fx@gnu.org>
4158
52283633 4159 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 4160
bafb434c
GM
41612001-01-03 Gerd Moellmann <gerd@gnu.org>
4162
4163 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
4164 the enabled_p flag of the glyph row at window_end_vpos to 0.
4165 (handle_single_display_prop): Fix last change.
4166
5297fb00
RS
41672001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
4168
4169 * window.c (Frecenter): Doc fix.
4170
13d6a61c
AI
41712001-01-02 Andrew Innes <andrewi@gnu.org>
4172
4173 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
4174
4175 * frame.h (output_method): Add output_w32_console method.
4176 (FRAME_W32_CONSOLE_P): New macro.
4177
4178 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
4179 use output_w32_console method.
4180 (Qw32_console): New Lisp_Object.
4181 (Fframep): Return it.
4182 (syms_of_frame): Init it.
52283633 4183 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
4184
4185 * xfaces.c (realize_default_face): Set face foreground and
4186 background to unspecified for w32_console frames.
4187 (realize_face): Realize face cache for w32_console frames.
4188 (realize_tty_face): Accept w32_console frames.
4189
52283633 4190 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
4191 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
4192 necessary, even if running interactively.
4193
4194 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
4195 w32_console frames.
4196
52283633
SM
4197 * w32term.c (x_update_begin):
4198 (x_update_end):
4199 (x_clear_frame):
4200 (x_ins_del_lines):
4201 (x_change_line_highlight):
4202 (x_delete_glyphs):
4203 (w32_ring_bell):
4204 (x_update_begin):
4205 (x_update_end):
4206 (w32_reassert_line_highlight):
4207 (w32_frame_rehighlight):
13d6a61c
AI
4208 (w32_frame_raise_lower): Do nothing if not w32 frame.
4209
4210 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
4211
4212 * w32fns.c (Fx_display_color_cells): Determine correct value, when
4213 system doesn't tell us directly.
4214 (Fx_display_visual_class): Implement properly.
4215
d6bb0c0d
GM
42162001-01-02 Gerd Moellmann <gerd@gnu.org>
4217
4218 * window.c (Frecenter): Handle centering in graphical frames
4219 specially. Centering on the basis of line counts doesn't work
4220 reliably with variable-height lines.
52283633 4221
315f5865
EZ
42222001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
4223
4224 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
4225 and al[].
4226
52283633 4227 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
4228 (update_compositions): Remove unused variable `hook'.
4229
4230 * intervals.c (get_local_map): Remove unused variable `tem'.
4231
4232 * doprnt.c (doprnt1): Remove unused variable `size'.
4233
4234 * fns.c (Flength): Remove unused variable `tail'.
4235 (Fdelete): Remove unused variable `size'.
4236
4237 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
4238 and `gcpro2'.
4239
52283633 4240 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
4241
4242 * data.c (find_symbol_value): Remove extra 3rd argument in the
4243 call to swap_in_symval_forwarding.
4244
52283633 4245 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
4246
4247 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
4248 (trivial_regexp_p): Remove unused variable `c'.
4249 (boyer_moore): Remove unused variable `k'.
4250
4251 * indent.c (current_column): Remove unused variable `stopchar'.
4252 (Fcompute_motion): Remove unused variable `contin'.
4253
4254 * casefiddle.c (casify_object): Remove unused variable `tolen'.
4255
4256 * dired.c (directory_files_internal): Fix a typo in a comment.
4257 Remove an unused variable `handler'.
52283633 4258 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
4259 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
4260 on BSD4_2.
4261
52283633 4262 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
4263
4264 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
4265 and `buf'.
4266 (Fmarker_insertion_type): Remove unused variable `buf'.
4267
4268 * insdel.c (make_gap): Remove unused variable `result'.
4269
52283633 4270 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
4271 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
4272 (menu_bar_items): Remove unused function-scope variable `tem'.
4273
4274 * fontset.c (fontset_ref): Remove unused variable `i'.
4275 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 4276 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
4277 (make_fontset_for_ascii_face): Remove unused variable `name'.
4278 (fs_load_font): Remove unused variable `font_idx'.
52283633 4279 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
4280 (list_fontsets): Remove unused variable `tail'.
4281 (Fnew_fontset): Remove unused variables `family' and `registry'.
4282 (accumulate_font_info): Remove unused variable `tmp'.
4283 (Ffontset_font): Remove unused variable `id'.
4284 (syms_of_fontset): Remove unused variable `i'.
4285
4286 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
4287 to x_term_init.
4288 (lookup_image): Remove unused variable `file'.
4289 (xbm_load): Remove unused variables `bitmap_data', `height', and
4290 `width'. Remove function-local variable `i', leave the
4291 block-local one.
4292 (gif_load): Remove unused variable `inc'.
4293
52283633 4294 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
4295 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
4296 leave only the one in the inner block.
4297
4298 * xfaces.c (face_fontset, realize_default_face): Remove unused
4299 variable `fontset'.
4300 (face_at_buffer_position): Remove unused variable `multibyte_p'.
4301
4302 * term.c (encode_terminal_code): Remove unused variable `c'.
4303
4304 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
4305 char *' instead of `char *'.
4306
4307 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 4308 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
4309 (Fchar_category_set): Remove unused variables `val', `charset',
4310 `c1' and `c2'.
4311
52283633
SM
4312 * coding.c (detect_coding_iso2022, setup_coding_system):
4313 Remove unused variable `i'.
315f5865
EZ
4314 (detect_coding_mask): Remove unused variable `idx'.
4315 (detect_coding): Remove unused variable `i'.
4316 (ccl_coding_driver): Remove unused variable `result'.
4317 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 4318 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
4319 (encode_coding_string): Remove unused variables `gcpro1' and
4320 `saved_coding_symbol'.
4321 (Ffind_coding_systems_region_internal): Remove function-local
4322 variable args[], leave only the block-local one.
4323 (code_convert_region1): Remove unused variable `len'.
4324
4325 * charset.c (char_printable_p): Remove unused variable `chars'.
4326 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
4327 (str_to_multibyte): Remove unused variable `c'.
4328
4329 * window.c (size_window): Remove block-local variable `min_size'.
4330
4331 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
4332 `header_line_height'.
4333 (append_space, extend_face_to_end_of_line): Declare `saved_what'
4334 enum display_element_type.
4335
1a8a9daf
GM
43362001-01-02 Gerd Moellmann <gerd@gnu.org>
4337
6dde6abc 4338 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
4339 statements that call X. Save away the error message in a local copy.
4340
1883b2c6
GM
4341 * xterm.c (x_connection_closed): Set handling_signal to 0 at
4342 the start.
4343
a13be207
GM
4344 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
4345 in or at the start of invisible text.
4346
1a8a9daf
GM
4347 * dispnew.c (update_window): Don't check_current_matrix_flags.
4348
3608c0f9
JR
43492001-01-01 Jason Rumney <jasonr@gnu.org>
4350
4351 * w32fns.c (x_figure_window_size): Do not allow new_height and
4352 new_width of frame to override specified values.
4353
abb1acc4
KH
43542000-12-30 Kenichi Handa <handa@etl.go.jp>
4355
52283633 4356 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 4357
762a68ec
GM
43582000-12-29 Gerd Moellmann <gerd@gnu.org>
4359
52283633 4360 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
4361 (update_window) [GLYPH_DEBUG]: Call it.
4362 (scrolling_window): Prevent including current rows which are below
4363 what's displayed in the window.
4364
4365 * xdisp.c (try_window_reusing_current_matrix)
4366 <new start <= old start>: Disable rows in the current matrix
4367 which are below the window after scrolling.
52283633 4368
762a68ec
GM
4369 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
4370 is zero. It's not worth the complexity.
4371 (invisible_text_between_p): Put in #if 0 because unused.
4372
2d5912c1
GM
43732000-12-28 Gerd Moellmann <gerd@gnu.org>
4374
46f6a258
GM
4375 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
4376 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
4377
89f93679
GM
4378 * keyboard.c (echo_char): If C is an integer, always call
4379 push_key_description. Former code could signal an invalid
4380 character error.
4381
4382 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
4383 If set, print multibyte text.
4384 (Fsingle_key_description): Call push_key_description with
4385 FORCE_MULTIBYTE set.
4386 (describe_buffer_bindings): Likewise.
4387
4388 * lisp.h (push_key_description): Add prototype.
4389
c06017fb
GM
4390 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
4391 around the call to redisplay_internal.
4392
f1d2ce7f
GM
4393 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
4394
2d5912c1
GM
4395 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
4396
9371f831
KH
43972000-12-28 Kenichi Handa <handa@etl.go.jp>
4398
4399 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
4400 (ccl_driver): New local variable `extra_bytes'.
4401
4402 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
4403
52283633
SM
4404 * coding.c (setup_coding_system):
4405 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
4406 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
4407
0c80628a
KH
44082000-12-28 Kenichi Handa <handa@etl.go.jp>
4409
4410 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
4411 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
4412 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
4413 (decode_composition_emacs_mule): New function.
4414 (decode_coding_emacs_mule): Decode composition sequence by calling
4415 decode_composition_emacs_mule.
4416 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
4417 (encode_coding_emacs_mule): Changed from macro to function.
4418 If a text contains compositions, encode them correctly.
0c80628a
KH
4419 (setup_coding_system): Set coding->commong_flags for emacs-mule so
4420 that decoding and encoding are required.
4421
3e32cc27
GM
44222000-12-27 Gerd Moellmann <gerd@gnu.org>
4423
5e25feee
GM
4424 * xfaces.c (PT_PER_INCH): New macro.
4425 (xlfd_point_size): Compute real point size from font's pixel size.
4426 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
4427 instead of 72.
4428
892d8fcd
GM
4429 * .gdbinit: Comment out the line pointing to the Lesstif source
4430 directory.
4431
12c8b416
GM
4432 * window.c (Frecenter): Use displayed_window_lines instead
4433 of window_internal_height.
4434
6061fbf0
GM
4435 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
4436 instead of x-toolkit-scroll-bars-p.
4437 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
4438
4439 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
4440 instead of x-toolkit-scroll-bars-p.
4441 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 4442
3e32cc27
GM
4443 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
4444 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
4445 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
4446 New variables.
4447 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
4448 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
4449 (build_frame_matrix_from_leaf_window): Remove unused code.
4450 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
4451 redisplay history.
4452 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
4453 (update_window) [GLYPH_DEBUG]: Likewise.
4454 (syms_of_display): Defsubr dump-redisplay-history.
4455
31798cfe
GM
44562000-12-23 Gerd Moellmann <gerd@gnu.org>
4457
f717c2ba
GM
4458 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
4459 the end of the prompt. Set echo_after_prompt to the offset
4460 of echoptr in echobuf.
4461
aeb2b8fc
GM
4462 * xdisp.c (init_from_display_pos): Pop until the iterator's
4463 stack is empty; there may be frames for stretch or images
4464 on the stack.
4465
31798cfe
GM
4466 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
4467 (save_or_restore_current_matrix): New function for the same
4468 purpose, but more efficient.
4469 (adjust_frame_glyphs_for_frame_redisplay): Use it.
4470
f8156156
EZ
44712000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
4472
4473 * xdisp.c (syms_of_xdisp): Fix last change.
4474
bdd6d4e8
GM
44752000-12-23 Gerd Moellmann <gerd@gnu.org>
4476
4477 * xdisp.c (syms_of_xdisp): Doc fix.
4478
4479 * xdisp.c (redisplay_window): Remove label restore_buffers;
4480 use finish_scroll_bars instead to make sure that scroll bars
4481 are redeemed. If we don't do this, flickering can result from
4482 scroll bars being destroyed and recreated.
4483
9436cdf9
JR
44842000-12-22 Jason Rumney <jasonr@gnu.org>
4485
4486 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
4487 in the wrong colors when the foreground is not black.
4488 (expose_window): Don't redraw the window that's currently being
4489 updated.
4490
951f9df5
GM
44912000-12-22 Gerd Moellmann <gerd@gnu.org>
4492
856ff7a7
GM
4493 * window.c (size_window): When setting the window's too_small_ok
4494 flag, compare old size with minimum size depending on WIDTH_P,
4495 don't compare with window_min_width.
52283633 4496
951f9df5
GM
4497 * window.c (delete_window): Simplify somewhat.
4498 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
4499 freeing window matrices. The flag windows_or_buffers_changed is
4500 set, so the next redisplay will consider all windows; this should
4501 suffice.
4502
886bc933
KH
45032000-12-22 Kenichi Handa <handa@etl.go.jp>
4504
4505 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
4506
4507 * ccl.h (struct ccl_program): New member cr_consumed.
4508
4509 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
4510 (CCL_READ_CHAR): Handle EOL conversion here.
4511 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
4512
177f4e88
GM
45132000-12-21 Gerd Moellmann <gerd@gnu.org>
4514
52283633 4515 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
4516
4517 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
4518 otherwise tabs of different size compare equal.
4519
4520 * callint.c (Fcall_interactively): Prevent a compiler warning.
4521
4522 * print.c (print_unwind): Return nil.
4523 (PRINTDECLARE): Initialize all local variables.
4524 (print_preprocess): Add a default case.
4525
8e15274f
GM
4526 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
4527
4528 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
4529
52283633 4530 * window.c (delete_window, Fsplit_window)
177f4e88
GM
4531 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
4532
4533 * dispextern.h (ensure_frame_matrix): Function declaration removed.
4534
4535 * dispnew.c (ensure_frame_matrix): Removed.
4536 (save_frame_matrix, restore_frame_matrix): New functions.
4537 (adjust_frame_glyphs_for_frame_redisplay): Use them.
4538
4539 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
4540 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
4541
99012074
AI
45422000-12-21 Andrew Innes <andrewi@gnu.org>
4543
4544 * w32term.c (x_update_begin): Regenerate the palette here, rather
4545 than for each window.
4546
4547 * w32xfns.c (select_palette): Avoid calling SelectPalette if
4548 palette is NULL, since this corrupts memory! Also get
4549 display_info reference from frame.
4550
29ef7d2d
JR
45512000-12-21 Jason Rumney <jasonr@gnu.org>
4552
4553 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
4554
4555 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
4556 to avoid returning without releasing it.
3e27fa1f 4557
3f9d67a6
KH
45582000-12-21 Kenichi Handa <handa@etl.go.jp>
4559
587fc3f9
KH
4560 * keymap.c (push_key_description): Don't convert eight-bit-control
4561 and eight-bit-graphic to multibyte character.
4562
3f9d67a6
KH
4563 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
4564 generic character and CODE1 is nil, return the smallest character
4565 in CHARSET.
4566
774ba8c9
DL
45672000-12-20 Dave Love <fx@gnu.org>
4568
4569 * s/osf5-0.h (NSIG): Don't redefine.
4570
88416888
SM
45712000-12-20 Stefan Monnier <monnier@cs.yale.edu>
4572
4573 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
4574 excluding menu-bar and tool-bar.
4575 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
4576 (menu_item_p): Remove.
4577 (where_is_internal_1): Don't ignore menu-items.
4578
a6426c6f
GM
45792000-12-20 Gerd Moellmann <gerd@gnu.org>
4580
03ff8aab
GM
4581 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
4582 into account.
4583
4584 * window.c (make_window): Initialize window's min_hscroll.
4585 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
4586 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
4587 to zero.
4588 (struct saved_window): New member min_hscroll.
4589 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
4590 (Fset_window_configuration): Set window's min_hscroll.
4591 (save_window_save): Save window's min_hscroll.
4592 (compare_window_configurations): Compare min_hscroll values.
4593
4594 * window.h (struct window): New member min_hscroll.
4595
4596 * keyboard.c (echo_prompt): Prevent a compiler warning.
4597
8de4aaf8
GM
4598 * xdisp.c (try_cursor_movement): Fix last change. The real
4599 condition is that PT is at the end of the row, and should
4600 be displayed at the start of the next row.
52283633 4601
3f7e3031
GM
4602 * xdisp.c (try_cursor_movement): If we end on a partially
4603 visible line, end we already decided to scroll, return -1.
4604
a6426c6f
GM
4605 * dispextern.h (ensure_frame_matrix): Add prototype.
4606
4607 * window.c (delete_window, Fsplit_window)
4608 (Fset_window_configuration): Call ensure_frame_matrix.
4609
52283633
SM
4610 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
4611 New functions.
a6426c6f
GM
4612 (adjust_frame_glyphs_for_frame_redisplay): If display has been
4613 completed, call fake_current_matrices instead of marking frame
4614 garbaged.
4615
57fa2774
JR
46162000-12-20 Jason Rumney <jasonr@gnu.org>
4617
4618 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
4619
d925df90
EZ
46202000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
4621
4622 * fns.c (Frequire): Doc fix.
4623
7b93a85b
GM
46242000-12-19 Gerd Moellmann <gerd@gnu.org>
4625
52283633 4626 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 4627
c74e645b
GM
4628 * dispnew.c (direct_output_for_insert): Fix check for mini-window
4629 currently displaying a message.
4630
7b93a85b
GM
4631 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
4632 xterm.h.
4633 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
4634
90d97e64
AI
46352000-12-18 Andrew Innes <andrewi@gnu.org>
4636
4637 * w32.c (w32_strerror): New function.
4638
4639 * w32.h (w32_strerror): New extern.
4640
4641 * w32fns.c (Fw32_shell_execute): Use it.
4642
91c9e6ce
GM
46432000-12-18 Gerd Moellmann <gerd@gnu.org>
4644
4645 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
4646
6f4745e2
EZ
46472000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
4648
4649 * msdos.c (IT_set_face): Obey inverse_video.
4650
c9e088ce
KH
46512000-12-18 Kenichi Handa <handa@etl.go.jp>
4652
4653 * dired.c (directory_files_internal): Always return decoded filenames.
4654
c3695f5f
GM
46552000-12-18 Gerd Moellmann <gerd@gnu.org>
4656
52d8e4ff
GM
4657 * xterm.c (x_connection_closed): Prevent being called recursively
4658 because of an error condition in XtCloseDisplay.
52283633 4659
62be9979
GM
4660 * xdisp.c (init_iterator): If noninteractive, and the frame's
4661 face cache is null, make one.
4662
52283633 4663 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 4664
c3695f5f
GM
4665 * process.c (wait_reading_process_input): Check for pending
4666 input when running timers.
4667
78555fbe
EZ
46682000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
4669
52283633 4670 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 4671
b2b36264
KH
46722000-12-18 Kenichi Handa <handa@etl.go.jp>
4673
4674 * process.c (read_process_output): Don't run a filter if the code
4675 decoder produces nothing but carryover.
4676
9c543fbf
AI
46772000-12-17 Andrew Innes <andrewi@gnu.org>
4678
4679 * w32.c (sys_rename): Only check errno against EEXIST, and not
4680 EACCES, when determining whether rename failed because the target
4681 exists. This was resulting in indefinite looping on Windows 9x if
4682 the source file was locked by another process.
4683
4684 * w32fns.c (Ffile_system_info): New function.
4685 (syms_of_w32fns): Defsubr it.
4686
10c2b5a8
GM
46872000-12-17 Gerd Moellmann <gerd@gnu.org>
4688
b0228ace
GM
4689 * window.c (coordinates_in_window): Fix computation for
4690 position on vertical line between mode lines.
4691
10c2b5a8
GM
4692 * xfns.c (unwind_create_frame): Return t if frame was deleted.
4693 Don't alter tip_frame or tip_window.
4694 (unwind_create_tip_frame): Set tip_frame to nil only if frame
4695 was deleted.
4696
c844a81a
GM
4697 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
4698 Don't alter tip_frame or tip_window.
4699 (unwind_create_tip_frame): Set tip_frame to nil only if frame
4700 was deleted.
4701
6c825f8e
EZ
47022000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
4703
4704 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
4705 be consistent with the doc string. Reported by NAKAJIMA Mikio
4706 <minakaji@osaka.email.ne.jp>.
4707
af4bb4c8
KH
47082000-12-16 Kenichi Handa <handa@etl.go.jp>
4709
4710 * xfaces.c (Vface_ignored_fonts): New variable.
4711 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
4712 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
4713
8062e53a
GM
47142000-12-15 Gerd Moellmann <gerd@gnu.org>
4715
e87b8809
GM
4716 * dispnew.c (update_window): Detect pending input every nth line
4717 updated, i.e. do it depending on real work done, and not on the
4718 vpos of the line.
4719
4720 * xterm.c (expose_window): Don't redraw the window that's
4721 currently being updated.
4722
a6768cc5
GM
4723 * window.c (Fset_window_point): Remove test for
4724 cursor_in_non_selected_windows.
4725
4ea7fdca
GM
4726 * lread.c (read1): Recognize end of file after `\\'.
4727
8062e53a
GM
4728 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
4729 not unwind_create_frame.
4730
bb7959c1
GM
47312000-12-15 Dave Love <fx@gnu.org>
4732
4733 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
4734 bcopy & al.
4735
4736 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
4737
ced04c42
KH
47382000-12-15 Kenichi Handa <handa@etl.go.jp>
4739
c5443913
KH
4740 * coding.c (setup_coding_system): Clear all members of the struct
4741 coding_system at first.
bc137305
KH
4742 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
4743 argument.
4744 (code_convert_region): Don't override coding->src_multibyte and
4745 coding->dst_multibyte.
c5443913 4746
ced04c42
KH
4747 * fns.c (Fmd5): Docstring improved.
4748
c2d7f289
MB
47492000-12-15 Miles Bader <miles@gnu.org>
4750
4751 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
4752 are actually marked as mode-lines; otherwise use
4753 estimate_mode_line_height.
4754
9d7d9263
GM
47552000-12-14 Gerd Moellmann <gerd@gnu.org>
4756
4757 * editfns.c (Fformat): Prevent a buffer overrun when the format
4758 specifies a precision.
4759
7cf0153a
EZ
47602000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
4761
4762 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
4763 argument is outside the range [2..3].
4764
1de0f662
AI
47652000-12-14 Andrew Innes <andrewi@gnu.org>
4766
4767 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
4768 nothing to do. Bind inhibit-quit.
4769 (tip_frame): Make it a Lisp_Object.
4770 (x_create_tip_frame): Set tip_frame after it has been added to
4771 Vframe_list.
4772 (Fx_show_tip): Don't set tip_frame here.
52283633 4773 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
4774 (unwind_create_frame, unwind_create_tip_frame): New functions.
4775 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
4776 while a frame is only partially constructed.
4777
4778 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
4779 (x_free_frame_resources): New function.
4780 (x_destroy_window): Use it.
4781
02387dcc
GM
47822000-12-14 Gerd Moellmann <gerd@gnu.org>
4783
4784 * xfns.c (Fx_backspace_delete_keys_p): New function.
4785 (syms_of_xfns): Defsubr it.
4786
4787 * config.in (HAVE_XKBGETKEYBOARD): Add.
4788
0544ef49
KH
47892000-12-14 Kenichi Handa <handa@etl.go.jp>
4790
98d62747
KH
4791 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
4792 Always store string in multibyte representation in echobuf.
4793 (echo_char): Always store string in multibyte representation in
4794 echobuf.
4795 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
4796 (read_key_sequence): Adjusted for the change of echo_prompt.
4797
a20193cd
KH
4798 * fns.c (Fmd5): Docstring improved.
4799
191b83b6
KH
4800 * lisp.h (detect_coding_system): Prototype adjusted.
4801
0544ef49
KH
4802 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
4803 (detect_coding_emacs_mule, detect_coding_iso2022,)
4804 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
4805 (detect_coding_utf_16, detect_coding_ccl): Make them static.
4806 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
4807 (detect_coding_mask, detect_coding_system): New argument
4808 MULTIBYTEP. Callers changed.
1da1bb05
KH
4809 (decode_coding_string): Set coding->src_multibyte and
4810 coding->dst_multibyte before calling detect_coding and detect_eol.
4811 Update them after some coding system is detected.
52283633 4812
d5b3eb1b
SM
48132000-12-13 Stefan Monnier <monnier@cs.yale.edu>
4814
4815 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
4816
4817 * keyboard.c (menu_bar_items, tool_bar_items):
4818 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
4819
f7f8bb69
GM
48202000-12-13 Gerd Moellmann <gerd@gnu.org>
4821
52283633 4822 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
4823 New variables.
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 * xterm.h (x_free_frame_resources): Declare.
4829
4830 * xterm.c (x_free_frame_resources): New function.
4831 (x_destroy_window): Use it.
4832
e10da507
GM
4833 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
4834 don't interrupt the update for pending input initially, i.e.
4835 update at least some lines.
4836
4837 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 4838
d5b3eb1b 4839 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
4840
4841 * xfns.c (gray_bitmap_bits): Declare `char *'.
4842
90aa2856
GM
48432000-12-12 Gerd Moellmann <gerd@gnu.org>
4844
4845 * xdisp.c (display_tool_bar_line): Make sure that tool bar
4846 lines start with a relief line.
4847
a308c9cd
DL
48482000-12-12 Dave Love <fx@gnu.org>
4849
4850 * window.c (Fdisplay_buffer): Doc fix.
4851 (Fwindow_list): Remove unused var.
4852
4853 * buffer.h (mmap_set_vars): Declare.
4854
4855 * window.h (Fset_window_point): Declare.
4856
d575011f
EZ
48572000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
4858
bf6282d2 4859 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
4860 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
4861 variable `area'. When looking for a row under (X,Y), give up if some
4862 of the previous rows is not enabled.
d575011f 4863
ecf4d726
GM
48642000-12-12 Gerd Moellmann <gerd@gnu.org>
4865
2ebf6139
GM
4866 * window.c (Fset_window_point): If displaying cursors in windows
4867 other than the selected window, make sure redisplay updates
4868 other windows to show the new value of point in the window.
4869
4870 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
4871
bfdb75ee
GM
4872 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
4873 the buffer is the sole visible buffer when in the mini-buffer.
4874
52283633 4875 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
4876 Bind `inhibit-read-only' to t.
4877 (unwind_with_echo_area_buffer): Use AREF.
4878
c0006262
GM
4879 * xfns.c (Fx_hide_tip): Simplified.
4880
52283633
SM
4881 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
4882 instead of `1'.
e9a59cad 4883
ecf4d726
GM
4884 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
4885
e5959a9a
GM
48862000-12-11 Gerd Moellmann <gerd@gnu.org>
4887
a3642e49 4888 * xfns.c (Fx_hide_tip): Fix last change.
52283633 4889
44b5a125
GM
4890 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
4891 nothing to do. Bind inhibit-quit.
4892 (tip_frame): Make it a Lisp_Object.
4893 (x_create_tip_frame): Set tip_frame after it has been added to
4894 Vframe_list.
4895 (Fx_show_tip): Don't set tip_frame here.
4896
4897 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
4898
4899 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
4900 Lisp_Object.
4901
4902 * dispextern.h: Change external declaration of tip_frame.
4903
d990421f
GM
4904 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
4905 return an empty string.
4906
4db87380
GM
4907 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
4908 of the window's update_mode_line flag, since the former is set by
4909 force-mode-line-update, not the latter. This makes
4910 column-number-mode slightly faster.
52283633 4911
e5959a9a
GM
4912 * xdisp.c (try_window_id) <all changes above window start>:
4913 Set the cursor.
4914
169fe44e
GM
49152000-12-11 Paul Eggert <eggert@twinsun.com>
4916
4917 * config.in (HAVE_FTELLO): Remove.
4918 (HAVE_FSEEKO): Add.
4919 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
4920 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
4921 HAVE_FTELLO.
4922 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
4923 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 4924
59ec59ae
MB
49252000-12-11 Miles Bader <miles@gnu.org>
4926
4927 * window.c (displayed_window_lines): Don't round up when
4928 converting empty space at bottom to lines.
ff904dd6
MB
4929 Handle non-newline-terminated final lines properly.
4930 (Fwindow_text_height): New function (used to be in lisp).
4931 (syms_of_window): Initialize it.
59ec59ae 4932
42ebfa31
SM
49332000-12-09 Stefan Monnier <monnier@cs.yale.edu>
4934
4935 * syntax.c (scan_lists): Check that the right quote char has the
4936 right Sstring syntax when jumping over strings.
4937 (init_syntax_once): Use Smax rather than 13.
4938
5cdb3cf3
MB
49392000-12-09 Miles Bader <miles@gnu.org>
4940
4941 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
4942 with PARTIALLY, inverting the sense.
4943 (window_scroll_pixel_based): Scroll partially visible lines into
4944 place if we hit the beginning or end of the buffer.
a12167c5
MB
4945 (displayed_window_lines): Don't include partially visible lines.
4946 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 4947
842b2a94
GM
49482000-12-08 Gerd Moellmann <gerd@gnu.org>
4949
4950 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
4951
4952 * tparam.c (tparam1): Change the way buffers are reallocated to be
4953 portable and less obfuscated.
4954
4955 * termcap.c (tgetent): Change the way buffers are reallocated to
4956 be portable and less obfuscated.
4957
4958 * macros.c (store_kbd_macro_char): Change the way buffers are
4959 reallocated to be portable and less obfuscated.
4960
4961 * lread.c (read1): Change the way buffers are reallocated to be
4962 portable and less obfuscated.
4963
4964 * doc.c (Fsubstitute_command_keys): Change the way buffers
4965 are reallocated so that it is portable.
4966
137cad7c
EZ
49672000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
4968
4969 * dosfns.c (Ffile_system_info): New function.
4970 (syms_of_dosfns): Defsubr it.
4971
5c7f629c
SM
49722000-12-07 Stefan Monnier <monnier@cs.yale.edu>
4973
4974 * alloc.c (gc_sweep): Add comment.
4975
959e647d
GM
49762000-12-07 Gerd Moellmann <gerd@gnu.org>
4977
52283633
SM
4978 * sound.c (vox_configure): Change order of ioctls.
4979 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
4980 Ignore errors when changing volume.
4981 (vox_close): Don't reset the device.
4982
926b7e5e
GM
4983 * process.c (read_process_output): Make sure the process marker's
4984 position is valid when the process buffer is changed in
4985 after-change functions. W3 does that.
52283633 4986
959e647d
GM
4987 * xfns.c (x_free_gcs): New function.
4988
4989 * xterm.h (x_free_gcs): Add prototype.
4990
4991 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
4992 freeing GCs here.
4993
4994 * xterm.c (x_destroy_window): Call x_free_gcs so that
4995 resources of non-toolkit X windows will be freed.
4996
478ea067
AI
49972000-12-07 Andrew Innes <andrewi@gnu.org>
4998
4999 * w32fns.c (xlfd_charset_of_font): Fix last change.
5000
fbee3231
DL
50012000-12-06 Dave Love <fx@gnu.org>
5002
67292061
DL
5003 * md5.h (__P): Don't define -- it comes from config.h.
5004
fbee3231
DL
5005 * strftime.c: Change some #if foo to #ifdef foo.
5006
4ee87dbb
AI
50072000-12-06 Andrew Innes <andrewi@gnu.org>
5008
5009 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
5010
52283633 5011 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 5012 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 5013 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 5014
9765b4a4
GM
50152000-12-06 Gerd Moellmann <gerd@gnu.org>
5016
d285b373
GM
5017 * alloc.c (gc_sweep): Prevent symbols read during loadup
5018 from being freed.
5019
384333ee
GM
5020 * xdisp.c (underlying_face_id): New function.
5021 (handle_face_prop, face_before_or_after_it_pos): Use it
5022 to determine the face ``under'' a string. Let strings inherit
5023 the face of the buffer under them.
5024
5025 * xfaces.c (face_at_string_position): Update function comment.
52283633 5026
d4b72d58
GM
5027 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
5028 matrix if the window's left position has changed; we need to
5029 redraw it in this case.
5030
5031 * dispextern.h (struct glyph_matrix): Add member window_left_x.
5032
e1d05387
GM
5033 * window.c (coordinates_in_window): Check mouse on mode-line or
5034 header-line first.
5035
eb1b0c74
GM
5036 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
5037 advertized by the function documentation.
5038
d94d636f
GM
5039 * window.c (syms_of_window): Doc fix.
5040
3887b449
GM
5041 * sound.c (vox_configure): Set volume for left and right channel.
5042 (sound_cleanup): Return nil.
5043
efc8f57a
GM
5044 * xdisp.c (move_it_by_lines): Fix paren typo.
5045
9765b4a4
GM
5046 * xterm.c (x_load_font): Don't use the font's max_bounds for
5047 computing the height of the font. If max_bounds' ascent or
5048 descent are greater than the font's ascent or descent, this means
5049 glyphs overlap, which should be handled now by redisplay.
5050
6529ed87
GM
5051 * window.c (Veven_window_heights): New variable.
5052 (syms_of_window): DEFVAR_LISP it.
5053 (Fdisplay_buffer): Check Veven_window_heights before evening the
5054 window heights.
52283633 5055
0eb2ecde
MB
50562000-12-06 Miles Bader <miles@gnu.org>
5057
5058 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
5059 update `default-frame-alist' instead of setting no frame parameters.
5060
03d7a167
KH
50612000-12-06 Kenichi Handa <handa@etl.go.jp>
5062
5063 * composite.c (update_compositions): Fix typo (use the correct
5064 variable).
5065
5f8803c2
JR
50662000-12-05 Jason Rumney <jasonr@gnu.org>
5067
5068 * md5.h: Remove underscores from function declarations.
5069 (__attribute__, __alignof__) [!__GNUC__]: Define.
5070
5071 * md5.c: Delay include of md5.h until after namespace cleaning.
5072
c28a075b
JR
5073 * makefile.w32-in (fns.o): Depend on md5.h
5074 (md5.o): New target.
5075 (sunfns.o): Remove.
5076
5077 * makefile.nt: Likewise.
5078
ff3c7056
JR
50792000-12-05 Jason Rumney <jasonr@altavista.net>
5080
5081 * w32term.c (expose_area): Complete last change.
5082
0c21eeeb
KR
50832000-12-05 Ken Raeburn <raeburn@gnu.org>
5084
5085 * minibuf.c: Include intervals.h.
5086
f201d732
JR
50872000-12-05 Jason Rumney <jasonr@gnu.org>
5088
5089 * w32term.c (x_produce_glyphs): If a font for a component of
5090 a composition is not found, use 1 pixel dot ascent and 0 dot
5091 descent value to avoid displaying terribly tall empty boxes.
5092 (expose_area): Pass x-coordinate relative to the exposed
5093 area to x_draw_glyphs instead of a window-relative coordinate.
5094
21999ab9
GM
50952000-12-05 Gerd Moellmann <gerd@gnu.org>
5096
4d2036e4
GM
5097 * xdisp.c (next_element_from_ellipsis): Save face before selective
5098 display in saved_face_id, and set face_before_selective_p.
5099 (reseat_1): Reset face_before_selective_p.
5100 (append_space, extend_face_to_end_of_line): If iterator's
5101 face_before_selective_p is set, use the face from saved_face_id.
5102 (extend_face_to_end_of_line): For tty frames, make sure to
5103 use the right face id when producing spaces at the end of
5104 the line.
5105
5106 * dispextern.h (struct it): Add face_before_selective_p.
5107
52be17cc
GM
5108 * keyboard.c (record_char): Don't record identical help-echo
5109 events in recent_keys.
5110
8a4f36cc
GM
5111 * xterm.c [USE_X_TOOLKIT]: Close the display.
5112 (xim_close_dpy): Handle case that the display has been closed.
5113
57d6e381
GM
5114 * xterm.c (x_destroy_window): Reset the frame's X window after
5115 destroying it.
5116
21999ab9
GM
5117 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
5118 variable window_width.
5119 (line_draw_cost): Fix code skipping over spaces at the end of the
5120 line when must_write_spaces is not set.
5121 (scrolling_window): Fix code inserting runs in list of all runs.
5122
91372bb7
KH
51232000-12-05 Kenichi Handa <handa@etl.go.jp>
5124
5125 * coding.c (setup_coding_system): Be sure to initialize
5126 coding->category_idx.
5127
6c083b4c
GM
51282000-12-04 Gerd Moellmann <gerd@gnu.org>
5129
0c68ce6f 5130 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 5131
6452929e
GM
5132 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
5133 area to x_draw_glyphs instead of a window-relative coordinate.
5134
d7f31e22
GM
5135 * fileio.c (auto_save_error): Add parameter ERROR. Show the
5136 error in the message.
5137
ae18aa3b
GM
5138 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
5139 timer after having read a key. It's not good for code reading
5140 several keys in a loop, like an input method.
5141
caa15ef7
GM
5142 * fileio.c (Finsert_file_contents): When VISIT is t, don't
5143 record undo information for format-decode.
5144
5145 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
5146 current buffer is read-only, not if it isn't.
5147
6c083b4c
GM
5148 * keyboard.c (record_char): Record `help-echo' input events
5149 in recent_keys only if they display some help. Don't record
5150 `help-echo' events as macro char.
5151
caa15ef7
GM
51522000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5153
5154 * editfns.c (save_excursion_restore): Don't move point
5155 in another window if it is showing the wrong buffer.
5156 Avoid the call to Fwindow_live_p, for speed.
5157
5a13529b
KH
51582000-12-04 Kenichi Handa <handa@etl.go.jp>
5159
e225faa7
KH
5160 * xfaces.c (struct font_name): New member registry_priority.
5161 (split_font_name): Initialize the above member to zero.
5162 (concat_font_list): New function.
5163 (font_list): Include fonts of all alternative registries.
5164 (FONT_POINT_SIZE_QUANTUM): New macro.
5165 (better_font_p): Ignore point size difference less than
5166 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
5167
e89648b4
KH
5168 * xterm.c (x_produce_glyphs): If a font for a component of
5169 a composition is not found, use 1 pixel dot ascent and 0 dot
5170 descent value to avoid displaying terribly tall empty boxes.
5171
5a13529b
KH
5172 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
5173
d7935eb6
KR
51742000-12-03 Ken Raeburn <raeburn@gnu.org>
5175
5176 * coding.h (code_convert_string1): Declare.
5177
5178 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
5179
52283633 5180 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 5181
0dd5e255
JR
51822000-12-02 Jason Rumney <jasonr@gnu.org>
5183
5184 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
5185 correctly for single byte character case.
5186 (w32_per_char_metric): Do not try to make any assumptions about
5187 the metrics of BDF fonts.
250cfece 5188 (x_estimate_mode_line_height): If `mode-line' face
52283633 5189 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
5190 (note_mouse_highlight): Change the cursor shape on the vertical
5191 border between windows [not enabled].
5192
5193 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
5194
5195 * w32fns.c (Fx_create_frame): Reintroduce the call to
5196 face-set-after-frame-defaults.
5197 (Vx_window_horizontal_drag_shape): New variable.
5198 (syms_of_xfns): DEFVAR_LISP it.
5199 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
5200 enabled].
0dd5e255 5201
b5d8d2ca
GM
52022000-12-02 Simon Josefsson <simon@josefsson.org>
5203
5204 * fns.c (Fmd5): Use a different logic to decide the coding system
5205 to use.
5206
5207 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
5208
fbb87147
EZ
52092000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
5210
52283633 5211 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 5212
447e9da0
GM
52132000-12-01 Gerd Moellmann <gerd@gnu.org>
5214
7708ced0
GM
5215 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
5216 height for YNegative.
5217 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
5218 height; also see comment there.
5219
447e9da0
GM
5220 * window.c (coordinates_in_window): Handle computations for
5221 positions on the vertical bar and fringes differently for
5222 window-system frames. Consider some pixels near the vertical bar
5223 as on the bar if the frame doesn't have vertical scroll bars.
5224 Associate positions between mode or header lines with the
5225 right window, the left one.
5226
86d1db20
JR
52272000-12-01 Jason Rumney <jasonr@gnu.org>
5228
5229 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
5230
5231 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
5232 invalid frame.
5233
a1d58e5b
GM
52342000-12-01 Gerd Moellmann <gerd@gnu.org>
5235
52283633 5236 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
5237 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
5238 (save_window_save, Fset_window_configuration): Save/restore
5239 window's orig_top and orig_height.
5240
89c609af
JR
52412000-12-01 Jason Rumney <jasonr@gnu.org>
5242
4d177746 5243 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 5244
89c609af
JR
5245 * w32fns.c (x_set_cursor_color): Fix last change.
5246
eccc05db
GM
52472000-11-30 Gerd Moellmann <gerd@gnu.org>
5248
31b6671b
GM
5249 * xdisp.c (echo_area_display): If cursor is in the echo area, make
5250 sure that the next redisplay displays the minibuffer, so that
5251 the cursor will be replaced with what the minibuffer wants.
5252
eccc05db
GM
5253 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
5254 #ifndef instead of using #if.
5255 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
5256 USE_TOOLKIT_SCROLL_BARS is defined.
5257
162de750
JR
52582000-11-30 Jason Rumney <jasonr@gnu.org>
5259
5260 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
5261 x_display_cursor.
5262
693c4692
GM
52632000-11-30 Gerd Moellmann <gerd@gnu.org>
5264
5265 * fns.c (Fmd5): Doc fix.
5266
b5d8d2ca 52672000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
5268
5269 * fns.c (Fmd5): New function.
5270 (syms_of_fns): Defsubr md5.
5271
5272 * Makefile.in (obj): Add md5.o
5273
b02cd40b
GM
52742000-11-30 Gerd Moellmann <gerd@gnu.org>
5275
edfb795e
GM
5276 * md5.h, md5.c: New files, taken from glibc.
5277
df3aedcf
GM
5278 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
5279
b02cd40b 5280 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 5281 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 5282
8b5176cd
SM
52832000-11-29 Stefan Monnier <monnier@cs.yale.edu>
5284
5285 * eval.c (Frun_hooks): Allow 0 arguments.
5286
346598f1
GM
52872000-11-29 Gerd Moellmann <gerd@gnu.org>
5288
f9396e03
GM
5289 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
5290 is over the menu bar widget, say it's not on the frame.
5291
4a967a9b
GM
5292 * xfns.c (Fx_create_frame): Reintroduce the call to
5293 face-set-after-frame-defaults.
5294
346598f1
GM
5295 * eval.c (Fsignal): Reset handling_signal.
5296
222456a1
JR
52972000-11-28 Jason Rumney <jasonr@gnu.org>
5298
5299 * w32menu.c (add_menu_item): Reset menu item text when changing
5300 type to radio button.
5301
8049ddc0
GM
53022000-11-28 Gerd Moellmann <gerd@gnu.org>
5303
346598f1 5304 * xselect.c: Update copyright.
f4f4ee4d 5305
bebe4a2c
GM
5306 * window.c (coordinates_in_window): If on a mode or header line,
5307 but sufficiently close to its start, return ``on vertical
5308 border''. This gives us a way to drag windows horizontally when
5309 using toolkit scroll bars.
5310
5311 * xterm.c (note_mouse_highlight): Change the cursor shape
5312 on the vertical border between windows.
5313
5314 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
5315
5316 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
5317 (syms_of_xfns): DEFVAR_LISP it.
5318 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
5319
8d2c2642
GM
5320 * textprop.c (text_read_only): New function.
5321 (verify_interval_modification): Use it instead of signaling
5322 `text-read-only'. This makes it easier to catch this error
52283633 5323 with a breakpoint.:
8d2c2642 5324
52283633 5325 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
5326 not end of line, which includes CR.
5327
5a2bae6c
KH
53282000-11-28 Kenichi Handa <handa@etl.go.jp>
5329
5330 * coding.c (Ffind_coding_systems_region_internal): Be sure to
5331 include no-conversion.
5332
ae31f84d
JR
53332000-11-27 Jason Rumney <jasonr@gnu.org>
5334
5335 * w32fns.c (w32_load_system_font): Always mark font as double byte
5336 if codepage is unicode.
5337
67f1cf4c
GM
53382000-11-27 Gerd Moellmann <gerd@gnu.org>
5339
4a74d071 5340 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 5341 just consume it to avoid unintended skipping over invisible text below.
4a74d071 5342
902ae620
GM
5343 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
5344 `vertical-line', `mode-line' and `header-line' events.
5345
5346 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
5347 of a character, a TAB for instance. This is easier than to set
5348 up the iterator exactly, and it's not a frequent case, so the
5349 additional effort wouldn't really pay off.
5350
c1e279c2
AC
53512000-11-26 Andrew Choi <akochoi@i-cable.com>
5352
67f1cf4c 5353 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
5354 init_window_once.
5355
a609568a
JR
53562000-11-25 Jason Rumney <jasonr@gnu.org>
5357
52283633
SM
5358 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
5359 Args to window_from_coordinates should be pixel coordinates.
48b21762 5360
a609568a
JR
5361 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
5362 redisplay handles them properly.
5363
a658d039
MB
53642000-11-25 Miles Bader <miles@gnu.org>
5365
5366 * indent.c (compute_motion): Keep pos_byte in sync with pos.
5367
d3416cca
JR
53682000-11-24 Jason Rumney <jasonr@gnu.org>
5369
5370 * w32.c (init_environment): Set LANG environment variable based on
5371 locale settings, if not set.
5372
5373 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
5374 making tool bar smaller. When clearing the frame, also
5375 clear current matrices. Clear frame when tool bar disappears.
5376 Don't use more lines for the tool-bar than is available.
5377 (x_change_window_heights): New function.
5378
ba193890
GM
53792000-11-24 Gerd Moellmann <gerd@gnu.org>
5380
2be8f184
GM
5381 * xdisp.c (init_from_display_pos): If POS says we're already after
5382 an overlay string ending at POS, make sure to pop the iterator
5383 because it will be in front of that overlay string. When POS is
5384 ZV, we've thereby also ``processed'' overlay strings at ZV.
5385
ba193890
GM
5386 * xfaces.c (lface_from_face_name): Function comment fix.
5387
1862a24e
MB
53882000-11-24 Miles Bader <miles@gnu.org>
5389
5390 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
5391 apply `mode-line-inverse-video' -- zero means force display using
5392 the default face, non-zero means display using the specialized face.
5393 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
5394
f07fa1b8
KH
53952000-11-23 Kenichi Handa <handa@etl.go.jp>
5396
5397 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
5398 hard coded `4'.
5399
2bcdf662
EZ
54002000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
5401
5402 * coding.c (decode_coding_emacs_mule): Fix the case of
5403 CODING_EOL_LF, which used uninitialized value of c.
5404
ba8299ff
SM
54052000-11-23 Stefan Monnier <monnier@cs.yale.edu>
5406
5407 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
5408
f4117c4d
GM
54092000-11-22 Gerd Moellmann <gerd@gnu.org>
5410
03e757c1
GM
5411 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
5412 buffer object.
5413
f4117c4d
GM
5414 * frame.h (struct frame): Replace desired_tool_bar_items,
5415 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 5416 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
5417
5418 * frame.c (make_frame): Change initialization of tool bar
5419 items accordingly.
5420
5421 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 5422 Change references to members deleted from struct frame to use the
f4117c4d
GM
5423 new ones.
5424
5425 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 5426 references to members deleted from struct frame to use the new ones.
f4117c4d 5427
52283633 5428 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
5429
5430 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
5431
5432 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 5433 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
5434 from struct frame to use the new ones.
5435
f8e2f3f2
MB
54362000-11-23 Miles Bader <miles@gnu.org>
5437
5438 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
5439 the face's inverse-video attribute, rather than overriding it.
5440
60e8e0a5
GM
54412000-11-22 Gerd Moellmann <gerd@gnu.org>
5442
5443 * xfns.c (x_set_tool_bar_lines): Clear internal border when
5444 making tool bar smaller.
5445
92dd1b29
DL
54462000-11-22 Dave Love <fx@gnu.org>
5447
5448 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
5449
e672fdce
MB
54502000-11-22 Miles Bader <miles@gnu.org>
5451
3a17d6cc
MB
5452 * keyboard.c (Vminibuffer_message_timeout): New variable.
5453 (command_loop_1): Use it to determine message timeout.
5454 (syms_of_keyboard): Initialize it.
5455
60e8e0a5 5456 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 5457
e9655d81
KH
54582000-11-22 Kenichi Handa <handa@etl.go.jp>
5459
5460 * sysdep.c: Move the code for declaring h_errno after #include
5461 <netdb.h>.
5462
77270fac
GM
54632000-11-21 Gerd Moellmann <gerd@gnu.org>
5464
cd913aae
GM
5465 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
5466 the menu bar when the tooltip is unmapped.
5467
77270fac
GM
5468 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
5469 sole visible buffer when we're currently in the mini-buffer, and
5470 give up if so.
52283633 5471
556635d6
JR
54722000-11-21 Jason Rumney <jasonr@gnu.org>
5473
5474 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
5475 put on the clipboard.
5476 (Fw32_get_clipboard_data): Compare data on clipboard with saved
5477 copy of what Emacs last put there. If they are the same, do not
52283633 5478 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 5479
5b7bde64
MB
54802000-11-22 Miles Bader <miles@gnu.org>
5481
5482 * minibuf.c (Vminibuffer_prompt_properties): New variable.
5483 (syms_of_minibuf): Initialize it.
5484 (read_minibuf): Add properties from Vminibuffer_prompt_properties
5485 to prompt, don't make read-only.
5486
ff23e1dd
GM
54872000-11-21 Gerd Moellmann <gerd@gnu.org>
5488
52283633
SM
5489 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
5490 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 5491
7aaf4388
GM
5492 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
5493
f5f47add 5494 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 5495
ff23e1dd
GM
5496 * term.c, cm.c: Don't try to include termcap.h; see comment there.
5497
37c35586
KH
54982000-11-21 Kenichi Handa <handa@etl.go.jp>
5499
5500 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
5501 ... #endif scope.
5502
ff9ab414
GM
55032000-11-20 Gerd Moellmann <gerd@gnu.org>
5504
52283633 5505 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
5506 screen supports it.
5507
29a01b72
GM
5508 * s/gnu-linux.h: Don't use `#cpu'.
5509
09dfdf85
GM
5510 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
5511 not defined in mman.h.
5512
52283633 5513 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
5514 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
5515 and store an index in the XClientMessageEvent. Storing a
5516 Lisp_Object or pointer can fail on a 64 bit system, since X only
5517 transfers 32 bits.
52283633
SM
5518 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
5519
81459ac9
DL
55202000-11-20 Dave Love <fx@gnu.org>
5521
5522 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
5523
56c13ae6
GM
55242000-11-20 Gerd Moellmann <gerd@gnu.org>
5525
5526 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
5527
495a6df3
KH
55282000-11-20 Kenichi Handa <handa@etl.go.jp>
5529
2bcf3714
KH
5530 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
5531 by WIDTH.
5532
495a6df3
KH
5533 * alloc.c (make_string): Fix previous change. Be sure to make
5534 unibyte string correctly.
5535
6d950f4c
GM
55362000-11-19 Gerd Moellmann <gerd@gnu.org>
5537
39b39373
GM
5538 * window.c (Fwindow_list): Change parameter list to be XEmacs
5539 compatible.
5540 (window_list_1): New function.
5541 (window_loop): Use it instead of Fwindow_list.
5542
b95b34e5
GM
5543 * sysdep.c (emacs_ospeed): New variable.
5544 (toplevel): Don't declare ospeed extern.
5545 (init_baud_rate): Use emacs_ospeed instead of ospeed.
5546
5547 * termcap.c (ospeed): Remove.
5548 (tputs) [!emacs]: Remove unused code.
5549 (tgetent): Avoid a compiler warning.
5550
e83dc917
GM
5551 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
5552 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 5553 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
5554
5555 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
5556 removed.
5557 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
5558 Take the X display as additional argument.
5559 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
5560 `Widget' is a pointer type that's not easily stored in Lisp_Object
5561 form in a portable way.
52283633 5562
6d950f4c
GM
5563 * dispnew.c (update_text_area): Fix last change.
5564
e47306e6
GM
55652000-11-18 Gerd Moellmann <gerd@gnu.org>
5566
fb3cd89b
GM
5567 * xdisp.c: Use BINDING_STACK_SIZE throughout.
5568
5569 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
5570 clear current matrices.
5571
edaa9aed
GM
5572 * buffer.c (mmap_enlarge): Don't print a message on stderr
5573 if mapping new memory at the end of the existing region fails.
5574
e47306e6
GM
5575 * dispnew.c (update_text_area): Don't skip over equal glyphs
5576 when the last current glyph overlaps the glyph to its right.
5577
509633e3
MB
55782000-11-18 Miles Bader <miles@gnu.org>
5579
5580 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
5581 lines that *end* with "..." too (that's the most common case!).
5582
d392e9c5
GM
55832000-11-18 Gerd Moellmann <gerd@gnu.org>
5584
67988445
GM
5585 * xdisp.c (resize_mini_window): Temporarily change to the
5586 mini-window's buffer if necessary.
1bfdbe43 5587
d392e9c5
GM
5588 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
5589 the tooltip obscures less text under it.
5590
55912000-11-17 Gerd Moellmann <gerd@gnu.org>
5592
5593 * puresize.h (BASE_PURESIZE): Increase to 700000.
5594
92bb977f
JR
55952000-11-18 Jason Rumney <jasonr@gnu.org>
5596
5597 * w32term.c (w32_draw_bitmap): Use face to set colors.
5598
26fbf20b
DL
55992000-11-17 Dave Love <fx@gnu.org>
5600
5601 * lread.c (Fload): Fix #ifdef for pcc.
5602
100b593b
GM
56032000-11-17 Gerd Moellmann <gerd@gnu.org>
5604
5605 * xdisp.c (pos_visible_p): Compute the default character height
5606 differently.
5607
a288d0d1
GM
56082000-11-16 Gerd Moellmann <gerd@gnu.org>
5609
cac94de6 5610 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 5611 knowing the line's height; use the default font's height in that case.
cac94de6 5612
a288d0d1
GM
5613 * xfaces.c (weight_table): Add `demi' with the same meaning as
5614 `demibold'.
5615
981fb6f6
KH
56162000-11-16 Kenichi Handa <handa@etl.go.jp>
5617
2cca872d 5618 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
5619 (clear_glyph_row): Delete local static variable null_row.
5620
e5fa381b
JR
56212000-11-15 Jason Rumney <jasonr@gnu.org>
5622
5623 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
5624 (w32_alloc_lighter_color): Use new brightness calculations from
5625 xterm.c. Scale delta to be in the range expected by W32.
5626 (w32_draw_relief_rect): Use frame relief colors.
5627
8e42f043
GM
56282000-11-15 Gerd Moellmann <gerd@gnu.org>
5629
6d133d1f
GM
5630 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
5631 (Qinhibit_default_face_x_resources): New variable.
5632 (syms_of_frame): Initialize it.
5633 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
5634
5635 * xdisp.c (pos_visible_p): Improve function comment.
5636
5637 * lisp.h (BINDING_STACK_SIZE): New macro.
5638
8e42f043
GM
5639 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
5640 reading the directory if readdir returns null and errno is EAGAIN
5641 or EINTR.
5642
e8c87124
SM
56432000-11-14 Stefan Monnier <monnier@cs.yale.edu>
5644
5645 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
5646 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
5647 Set amount_to_scroll to max of dx and scroll_step so that
5648 scroll-conservatively doesn't defeat scroll-step>1.
5649 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
5650 scroll-conservatively for line-at-a-time scrolling.
5651
5f0c971d
GM
56522000-11-14 Gerd Moellmann <gerd@gnu.org>
5653
5654 * window.c (Fpos_visible_in_window_p): Call pos_visible with
5655 extra argument.
5656
5657 * xdisp.c (current_mode_line_height, current_header_line_height):
5658 New variables.
5659 (init_xdisp): Initialize them.
5660 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
5661 and use exact mode line heights if it is set.
5662
5663 * lisp.h (pos_visible_p): Change prototype.
5664
5665 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
5666 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
5667 and current_header_line_height first.
52283633
SM
5668 (current_mode_line_height, current_header_line_height):
5669 Declare extern.
5f0c971d 5670
d7361edf
MB
56712000-11-14 Miles Bader <miles@lsi.nec.co.jp>
5672
5673 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
5674 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
5675 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
5676
ee5e440a
MB
56772000-11-14 Miles Bader <miles@gnu.org>
5678
5679 * xterm.c (x_alloc_lighter_color): Include an additive component
5680 too for dark colors, because FACTOR isn't enough.
5681 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
5682 New macros.
5683
5ca020fc
GM
56842000-11-13 Gerd Moellmann <gerd@gnu.org>
5685
5686 * keyboard.c (show_help_echo): Call message3_nolog with number of
5687 bytes in the help string as 2nd parameter, instead of the number
5688 of characters.
5689
9d348294
MB
56902000-11-13 Miles Bader <miles@gnu.org>
5691
5692 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
5693 (Fload): Use new openp return protocol.
5694 Don't try to use Vload_source_file_function to load .elc files.
5695 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
5696 openp return protocol.
5697 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
5698
1729bb9a
KH
56992000-11-11 Kenichi Handa <handa@etl.go.jp>
5700
4e677396
KH
5701 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
5702
5703 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
5704 Defined these macros.
5705 (NLIST_STRUCT): Avoid re-defining it.
5706
1729bb9a
KH
5707 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
5708 -I/usr/contrib/X11R6/include.
5709 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
5710
a82fe213
JR
57112000-11-10 Jason Rumney <jasonr@gnu.org>
5712
5713 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
5714
5715 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
5716 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
5717
5718 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
5719 (Qw32_charset_vietnamese): New symbol.
5720 (xlfd_charset_of_font): New function.
5721 (w32_load_system_font): Use it.
5722 (x_to_w32_charset): Use Fassoc to find charset info. Special case
5723 when Vw32_charset_info_alist is nil to ensure default face always
5724 has font. Use Fcar and Fcdr for safety.
5725 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
5726 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
5727 pseudo-codepages for special cases.
5728 (w32_to_x_font): New parameter to allow charset portion to be
5729 specified where there is many to one mapping. Callers changed.
5730 (w32_list_fonts): Avoid listing fonts that won't display.
5731
52d89894
GM
57322000-11-10 Gerd Moellmann <gerd@gnu.org>
5733
5734 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
5735 (font_list_1): Renamed from font_list.
5736 (font_list): New function, trying alternative registries from
5737 Vface_alternative_font_registry_alist.
5738 (Finternal_set_alternative_font_registry_alist): New function.
5739 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
5740 Vface_alternative_font_registry_alist.
5741 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 5742
651cd3da
KR
57432000-11-09 Ken Raeburn <raeburn@gnu.org>
5744
5745 * lisp.h (Flooking_at): Declare.
5746
388ac098
GM
57472000-11-09 Gerd Moellmann <gerd@gnu.org>
5748
778fbc46 5749 * dired.c (directory_files_internal): Fix a braino.
52283633 5750
388ac098
GM
5751 * dired.c (directory_files_internal): Add missing GCPRO's.
5752 Some cleanup.
5753
ecaedde1
GM
57542000-11-08 Gerd Moellmann <gerd@gnu.org>
5755
f7eb32aa
GM
5756 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
5757 (resize_mini_window): Return quickly if Vresize_mini_window is
5758 nil. Don't return if Vmax_mini_window_height is nil.
5759
5760 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
5761 (syms_of_xdisp): Initialize them.
5762 (resize_mini_window): Act according to the setting of
5763 Vresize_mini_window.
5764 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
5765
ecaedde1
GM
5766 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
5767 scroll bar widget after configuring it, so that it will appear at
5768 the right position from the start.
5769 (XTredeem_scroll_bar): Cleaned up.
5770
3747ef2c
KH
57712000-11-08 Kenichi Handa <handa@etl.go.jp>
5772
5773 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 5774 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
5775 division by two.
5776
5777 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
5778
03391420
DL
57792000-11-07 Dave Love <fx@gnu.org>
5780
7758f1c1 5781 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
5782
5783 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
5784
b5de343d
GM
57852000-11-07 Gerd Moellmann <gerd@gnu.org>
5786
acad3c0b
GM
5787 * window.c (Fset_window_configuration): Don't try to preserve
5788 point in the current buffer, if that buffer is displayed in more
5789 than one window.
5790
b5de343d
GM
5791 * xfaces.c (lookup_named_face): If default face isn't realized,
5792 try to realize it. Return -1 if not successful.
5793 (Fx_list_fonts): Handle case that face cannot be determined.
5794 (Fface_font): Likewise.
5795
cdb1fe49
GM
57962000-11-06 Gerd Moellmann <gerd@gnu.org>
5797
5798 * window.c (displayed_window_lines): Detect partially
5799 visible lines at the bottom correctly.
5800
d3a67486
SM
58012000-11-06 Stefan Monnier <monnier@cs.yale.edu>
5802
5803 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
5804 when ensuring we don't do visit in indirect buffer.
5805
ff8dd5d5
KH
58062000-11-06 Kenichi Handa <handa@etl.go.jp>
5807
5808 * composite.h (compose_chars_in_text): Add prototype.
5809
5810 * composite.c (Vcomposition_function_table): New variable.
5811 (Qcomposition_function_table): New variable.
5812 (run_composition_function): Call
5813 Vcompose_chars_after_function with three arguments.
5814 (compose_chars_in_text): New function.
5815 (syms_of_composite): Modified the doc-string of
5816 Vcompose_chars_after_function. Declare composition-function-table
5817 as a lisp variable, and initialize it.
5818
5819 * xfns.c (x_encode_text): Suppress producing escape sequences for
5820 composition.
5821
5822 * xselect.c: Include composite.h.
5823 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
5824
d1145f85
AI
58252000-11-05 Andrew Innes <andrewi@gnu.org>
5826
5827 * w32term.c (x_produce_glyphs): Fix typo in enum name.
5828
5829 * sysdep.c (read_input_waiting): Remove extraneous argument to
5830 read_socket_hook.
5831
5832 * w32fns.c (Fx_server_version): Include w32_build_number in the
5833 return list.
5834
5835 * w32heap.c (w32_build_number): New variable.
5836 (cache_system_info): Set it.
5837
5838 * w32heap.h (w32_build_number): Add extern.
5839
5840 * emacs.c (syms_of_emacs): Update docstring for
5841 system-configuration, to reflect the actual usage on MS-Windows.
5842
e85ee976
GM
58432000-10-31 Gerd Moellmann <gerd@gnu.org>
5844
26dcb81b
GM
5845 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
5846 process idle timers while waiting for another event.
5847
52283633 5848 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
5849 the default face are colored.
5850
e85ee976
GM
5851 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
5852 window height hasn't changed.
5853
01b220b6
JR
58542000-10-31 Jason Rumney <jasonr@gnu.org>
5855
5856 * w32term.c (x_produce_glyphs): Handle composite characters.
5857 (x_draw_glyph_string_foreground)
5858 (x_draw_composite_glyph_string_foreground): Restore old font.
5859
4e6b7204
MB
58602000-10-31 Miles Bader <miles@lsi.nec.co.jp>
5861
5862 * minibuf.c (read_minibuf): Reset the undo history just before
5863 starting the recursive-edit.
5864
d4358b37
GM
58652000-10-30 Gerd Moellmann <gerd@gnu.org>
5866
563f68f1
GM
5867 * xfaces.c (menu_face_change_count): New variable.
5868 (Finternal_set_lisp_face_attribute): Increment it for changes
5869 of the `menu' face.
5870 (realize_basic_faces): Reflect changes in the `menu' faces
5871 in menu bars.
5872
82e274d1
GM
5873 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
5874 dy obtained from the iterator's y-position after moving from
5875 scroll_margin_pos to PT; see comment there.
52283633 5876
0dbf9fd2
GM
5877 * xdisp.c (safe_eval_handler): Call add_to_log.
5878
906b3b14
GM
5879 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
5880 is not a symbol or string.
5881
d4358b37
GM
5882 * xdisp.c (echo_area_display): Don't perform a display update from
5883 inside redisplay. The update will happen anyway at the end of
5884 redisplay, and it can confuse redisplay (GC messages while
5885 redisplaying, for instance.)
5886
70c825df
SM
58872000-10-30 Stefan Monnier <monnier@cs.yale.edu>
5888
cf9b4b0b
SM
5889 * xrdb.c (x_load_resources): Use the class name in the defaults.
5890
70c825df
SM
5891 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
5892 (regex_compile): Catch bogus \(\1\).
5893
a1d34b1e
GM
58942000-10-30 Gerd Moellmann <gerd@gnu.org>
5895
cae71efe
GM
5896 * xterm.c (x_alloc_nearest_color): Fix last change to compare
5897 RGB values.
52283633 5898
35efe0a1
GM
5899 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
5900 we have a color cache, check that the cached color equals the
5901 allocated color. If not, clear the color cache.
5902
1d3baf74
GM
5903 * window.c (displayed_window_lines): Change buffers if necessary.
5904 Fix computation of displayed lines.
5905
a1d34b1e
GM
5906 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
5907 update_menu_bindings to DEFVAR_BOOL.
5908
70737ea9
KH
59092000-10-30 Kenichi Handa <handa@etl.go.jp>
5910
70c825df 5911 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 5912
fa0cb51d
KH
5913 * puresize.h (BASE_PURESIZE): Increase to 680000.
5914
70737ea9
KH
5915 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
5916
0e4c08e8
JR
59172000-10-29 Jason Rumney <jasonr@gnu.org>
5918
5919 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
5920
5921 * w32term.c (w32_bdf_per_char_metric): Negate descent.
5922 (w32_cache_char_metrics): Handle possibility that 'x' does not
5923 exist in a BDF font.
5924 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
5925
5926 * w32bdf.h (bdffont): Add nchars.
5927
5928 * w32bdf.c (set_bdf_font_info): Set it.
5929 (w32_BDF_TextOut): Swap byte order of double byte characters.
5930 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
5931
45b84006
EZ
59322000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
5933
5934 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
5935 don't override the colors in frame's param_alist, unless they are
5936 unspecified.
5937
5938 * term.c (reassert_line_highlight): If inverse_video is non-zero,
5939 reverse the effect of the highlight flag.
5940
caf9deee
KR
59412000-10-27 Ken Raeburn <raeburn@gnu.org>
5942
5943 * window.h (Fwindow_live_p): Declare.
5944
ae0b9b46
KR
5945 * undo.c (record_delete): Check that last_undo_buffer is really a
5946 buffer before applying XBUFFER to it.
5947
5948 * keymap.c (where_is_internal): Pass lisp object, not integer, to
5949 Faref.
5950
02067692
SM
59512000-10-27 Stefan Monnier <monnier@cs.yale.edu>
5952
5953 * lisp.h (KEYMAPP): New macro.
5954 (get_keymap): Remove.
5955 (get_keymap_1): Rename get_keymap.
5956
5957 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
5958
5959 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
5960
5961 * xmenu.c (single_submenu): Use KEYMAPP.
5962 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
5963 Use KEYMAPP rather than Fkeymapp.
5964
5965 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
5966
5967 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
5968 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
5969 Use KEYMAPP rather than Fkeymapp.
5970 (single_submenu): Use KEYMAPP.
5971 (w32_menu_show, w32_dialog_show): Use TRUE.
5972
5973 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
5974
5975 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
5976 (Fkeymapp): Use KEYMAPP.
5977 (get_keymap): Rename from get_keymap_1. Remove old def.
5978 Return t when autoload=0 and error=0 and the keymap needs autoloading.
5979 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
5980 (Fminor_mode_key_binding): Don't raise an error if the binding
5981 is not a keymap.
5982 (Fuse_global_map, Fuse_local_map): Allow autoloading.
5983 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
5984
5985 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
5986 Allow Vspecial_event_map to be autoloaded.
5987 (menu_bar_items): Fetch the keymap rather than using keymapp.
5988 (menu_bar_one_keymap): No need to follow func-indirect any more.
5989 (parse_menu_item): get_keymap_1 -> get_keymap.
5990 (tool_bar_items): Fetch the keymap rather than using keymapp.
5991 (read_key_sequence): Use KEYMAPP.
5992
5993 * intervals.c (get_local_map): Use get_keymap rather than following
5994 function-indirections explicitly.
5995
5996 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
5997
f9d80af3
JR
59982000-10-27 Jason Rumney <jasonr@gnu.org>
5999
6000 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
6001 point, as Windows has oversized fonts.
6002
6003 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
6004
a3ba27da
GM
60052000-10-27 Gerd Moellmann <gerd@gnu.org>
6006
6007 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
6008 (freehook, reallochook): Handle null pointer arguments.
6009 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
6010
aa3b80cc
SM
60112000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6012
6013 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
6014 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
6015 Giving in to popular pressure to shut up the compiler with casts.
6016
e24e84cc
GM
60172000-10-27 Gerd Moellmann <gerd@gnu.org>
6018
6019 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
6020 signed value, and use a default value computed from the font's
6021 maximum descent.
6022
05ea7ef2
MB
60232000-10-27 Miles Bader <miles@lsi.nec.co.jp>
6024
6025 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
6026 that specify a negative underline position can still use underlines.
6027
6028 * window.c (Fpos_visible_in_window_p): Make POS default to
6029 WINDOW's point, not the current buffer's point.
6030
0b95284b
DL
60312000-10-26 Dave Love <fx@gnu.org>
6032
6033 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
6034 when it's necessary.
6035
6c5b90af
GM
60362000-10-26 Gerd Moellmann <gerd@gnu.org>
6037
8b6d9dc9
GM
6038 * window.c (size_window): Compute size difference from sum of old
6039 child window sizes instead of from parent's size.
6040
6bc92b2e
GM
6041 * xdisp.c (pos_visible_p): Change current buffer if necessary.
6042 Handle obscured lines at the top of the window.
6043
6044 * frame.c (Fdelete_frame): Doc fix. Move running the hook
6045 down after the last error condition check.
6046
6c5b90af
GM
6047 * frame.c (Fdelete_frame): Run delete-frame-hook.
6048
42f92d4d
KH
60492000-10-26 Kenichi Handa <handa@etl.go.jp>
6050
6051 * coding.c (decode_coding): Fix previous change (check also
6052 CODING_MODE_LAST_BLOCK).
6053
d97151cb
SM
60542000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6055
e7efc503
SM
6056 * regex.c: More `unsigned char' -> `re_char' changes.
6057 Also change several `int' into `re_wchar_t'.
6058 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
6059 (PUSH_FAILURE_POINTER): Don't cast any more.
6060 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
6061 We want GCC to complain, since this piece of code makes
6062 re_match non-reentrant, which *should* be fixed.
6063 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
6064 (EXTEND_BUFFER): Use RETALLOC.
6065 (SET_LIST_BIT): Don't cast.
6066 (re_wchar_t): New type.
6067 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
6068 that those two functions will always properly return.
6069 (IMMEDIATE_QUIT_CHECK): Cast to void.
6070 (analyse_first): Use recursion rather than an explicit stack.
6071 (re_compile_fastmap): Can't fail anymore.
6072 (re_search_2): Don't check re_compile_fastmap for failure.
6073 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
6074 Now also sets the new value (passed in a new argument).
6075 (re_match_2_internal): Use it.
6076 Also, use a new var `reg' of type size_t when looping through regs
6077 rather than reuse the inappropriate `mcnt'.
6078
d97151cb
SM
6079 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
6080 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
6081 (where_is_internal): Renamed from Fwhere_is_internal.
6082 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
6083 (Fwhere_is_internal): New function wrapping where_is_internal.
6084 (where_is_internal_1): Handle the case where we're filling the cache.
6085 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
6086
d5789b65
MB
60872000-10-25 Miles Bader <miles@gnu.org>
6088
6089 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
6090
4ecda532
GM
60912000-10-25 Gerd Moellmann <gerd@gnu.org>
6092
6093 * window.c (pos_fully_visible_p): Removed.
6094 (Fpos_visible_in_window_p): Use pos_visible_p to determine
6095 if position is visible and/or fully visible.
6096
6097 * lisp.h (pos_visible_p): Add prototype.
6098
6099 * xdisp.c (pos_visible_p): New function.
6100
68c3a137
KH
61012000-10-25 Kenichi Handa <handa@etl.go.jp>
6102
6103 * process.c (send_process): If OBJECT is t, it means that the data
6104 is from C string, but we should encode it. Before calling
6105 setup_raw_text_coding_system, be sure to flush out data by the
6106 previous coding system.
6107
7ae1c032
MB
61082000-10-25 Miles Bader <miles@lsi.nec.co.jp>
6109
ff4dcd4b
MB
6110 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
6111 assignment of startpos to prev when startpos == pos.
6112
7ae1c032
MB
6113 * editfns.c (find_field): Set the field stickiness correctly from
6114 overlay fields. Use renamed `text_property_stickiness'.
6115 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 6116 Only check text properties, not overlays.
7ae1c032
MB
6117 * textprop.c (get_char_property_and_overlay): New function.
6118 (Fget_char_property): Use it.
6119 * intervals.h (get_char_property_and_overlay): Add declaration.
6120
49801145
SM
61212000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6122
6123 * keymap.c: Use AREF, ASET and ASIZE macros.
6124 (Fmake_sparse_keymap): Docstring fix.
6125 (synkey): Remove.
6126 (shadow_lookup): Move up.
6127 Handle the case where lookup-key returns an integer.
6128 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
6129 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
6130 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
6131 Simplify/rewrite the keymap-finding code.
6132 Add check for command shadowing, using shadow_lookup.
6133
39e776cd
SM
61342000-10-24 Stefan Monnier <monnier@cs.yale.edu>
6135
6136 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
6137 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
6138 a symbol.
6139
2488aba5
AI
61402000-10-24 Andrew Innes <andrewi@gnu.org>
6141
6142 * dired.c (directory_files_internal_unwind): New function.
6143 (directory_files_internal): Use it to ensure closedir is called
6144 even if expand-file-name or file-attributes throw, eg. because of
6145 a user interrupt. Also enable immediate_quit while calling
6146 re_search, so that matching can be interrupted as well.
6147
b94fdf61
AI
61482000-10-24 Andrew Innes <andrewi@gnu.org>
6149
6150 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
6151 NT-Emacs only.
6152 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
6153 so that re_search functions only quit when callers expect them to.
6154
61552000-10-24 Kenichi Handa <handa@etl.go.jp>
6156
6157 * regex.c (regex_compile): Change the way of handling a range from
6158 a char less than 256 to a char not less than 256.
6159
1946f901
GM
61602000-10-24 Gerd Moellmann <gerd@gnu.org>
6161
7ae2f10f
GM
6162 * window.c (size_window): Prevent setting window's width or
6163 height to a negative value (esp. with XSETFASTINT).
6164
5dcab13e
GM
6165 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
6166 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
6167 (protect_malloc_state) [GC_MALLOC_CHECK &&
6168 GC_PROTECT_MALLOC_STATE]: New function.
6169 (PROTECT_MALLOC_STATE): New macro.
6170 (__malloc_initialize, morecore, _malloc_internal)
6171 (_free_internal) _realloc_internal): Use it to make _heapinfo
6172 read-only outside of gmalloc.
6173
63e1b552
GM
6174 * keymap.c: Update copyright.
6175
1946f901
GM
6176 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
6177 a symbol.
6178
4fa09beb
GM
61792000-10-24 Colin Walters <walters@cis.ohio-state.edu>
6180
6181 * filelock.c (unlock_all_files): Use unlock_file to expand each
6182 buffer's file_truename before trying remove its lock file.
6183
23afac01
EZ
61842000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
6185
6186 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
6187 or CRLF, decode EOLs.
6188
04448b95
KH
61892000-10-24 Kenichi Handa <handa@etl.go.jp>
6190
6191 * window.c (Fdisplay_buffer): Fix doc.
6192
3090a5a5
JR
61932000-10-23 Jason Rumney <jasonr@gnu.org>
6194
6195 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
6196 ASCII font of default fontset on Windows.
6197
6198 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
6199 xterm.c comment below).
6200
6201 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
6202
a83fee2c
GM
62032000-10-23 Gerd Moellmann <gerd@gnu.org>
6204
6205 * xterm.c (x_connection_closed): Reset handling_signal.
6206
52283633 6207 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 6208
6ffdb539
MB
62092000-10-23 Miles Bader <miles@gnu.org>
6210
6211 * window.c (window_scroll_pixel_based, window_scroll_line_based):
6212 Pass nil for FULLY argument to Fpos_visible_in_window_p to
6213 maintain old behavior.
6214 * minibuf.c (Fminibuffer_complete): Likewise.
6215
7f1c969b
MB
62162000-10-23 Miles Bader <miles@lsi.nec.co.jp>
6217
6218 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
6219 that when a font can't be exactly centered, it errs up rather than
6220 down.
6221
23afac01 62222000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 6223
52283633 6224 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 6225
1a578e9b
AC
62262000-10-23 Andrew Choi <akochoi@i-cable.com>
6227
6228 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
6229
6230 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 6231 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
6232
6233 * emacs.c (main) [macintosh]: Call syms_of_textprop,
6234 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
6235 syms_of_search, x_term_init, and init_keyboard before calling
6236 init_window_once. Also, call syms_of_xmenu.
6237
6238 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
6239 default fontset to Monaco.
6240
6241 * frame.c [macintosh]: Include macterm.h. Remove declarations of
6242 NewMacWindow and DisposeMacWindow.
6243 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
6244 instead of calling NewMacWindow and setting fields of
6245 f->output_data.mac directly. Call init_frame_faces.
6246 (Fdelete_frame) [macintosh]: Remove unused code.
6247 (Fmodify_frame_parameters) [macintosh]: Call
6248 x_set_frame_parameters instead of mac_set_frame_parameters.
6249
6250 * frame.h [macintosh]: Define menu_bar_lines field in struct
6251 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
6252
6253 * keyboard.c [macintosh]: Include macterm.h.
6254 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
6255 and menu_bar_activate_event type events as for X and NT.
6256 (make_lispy_event) [macintosh]: Construct lisp events of type
6257 MENU_BAR_EVENT as for X and NT.
6258
6259 * sysdep.c [macintosh]: Remove declaration for sys_signal.
6260 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
6261 (sys_subshell) [macintosh]: Remove definition entirely.
6262 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
6263 Vwindow_system_version here. Remove initialization of
6264 Vx_bitmap_file_path.
6265 (read_input_waiting): Correct the number of parameters passed to
6266 read_socket_hook.
6267 Move all Macintosh functions to mac/mac.c.
6268
6269 * term.c [macintosh]: Include macterm.h.
6270
6271 * window.c [macintosh]: Include macterm.h.
6272
6273 * xdisp.c [macintosh]: Include macterm.h. Declare
6274 set_frame_menubar and pending_menu_activation.
6275 (echo_area_display) [macintosh]: Do not return if terminal frame
6276 is the selected frame.
6277 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
6278 Allow only the selected frame to set menu bar.
6279 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
6280 calling FRAME_EXTERNAL_MENU_BAR (f).
6281 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
6282
6283 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
6284 and check_x. Declare XCreateGC. Define x_create_gc and
6285 x_free_gc. Initialize font_sort_order.
6286 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
6287 but call x_list_fonts instead of w32_list_fonts.
6288 (Finternal_face_x_get_resource) [macintosh]: Do not call
6289 display_x_get_resource.
6290 (prepare_face_for_display) [macintosh]: Set xgcv.font.
6291 (realize_x_face) [macintosh]: Load the font if it is specified in
6292 ATTRS.
52283633 6293 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 6294
1ffbabe3
SM
62952000-10-22 Stefan Monnier <monnier@cs.yale.edu>
6296
6297 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
6298 is nil: since we go to the end of submap anyway, we'd end up
6299 setting nil to nil.
6300 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
6301 doesn't obey autoload.
6302
bed43f1d
EZ
63032000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
6304
1ffbabe3 6305 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 6306
ea4233a7
JR
63072000-10-21 Jason Rumney <jasonr@gnu.org>
6308
6309 * w32term.c (w32_cache_char_metrics): Double check that font is
6310 really fixed pitch before trusting tmPitchAndFamily.
6311
f3d3c491
AI
63122000-10-21 Andrew Innes <andrewi@gnu.org>
6313
6314 * w32gui.h (w32_char_font_type): Move enum from w32term.c
6315
6316 * w32term.h: Extern decl for w32_cache_char_metrics.
6317
6318 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
6319
6320 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
6321 (w32_unload_font): Free per_char array if present.
6322
6323 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
6324 cached information in emulated XFontStruct to handle common cases
6325 quickly. Do not allocate XCharStruct for return.
6326 (w32_native_per_char_metric): New function.
6327 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
6328 allocating one.
6329 (x_produce_glyphs): Don't get an HDC. Change calls to
6330 w32_per_char_metric to match arg change above. Remove calls to
6331 free results.
6332 (w32_get_glyph_overhangs): Ditto.
6333 (w32_cache_char_metrics): New function.
6334
6335 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
6336 ($(BLD)/casefiddle.$(O)): Remove compile command.
6337 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
6338 ($(BLD)/dispnew.obj):
6339 ($(BLD)/keyboard.obj):
6340 ($(BLD)/w32inevt.obj):
6341 ($(BLD)/w32bdf.obj):
6342 ($(BLD)/alloc.obj):
6343 ($(BLD)/buffer.obj):
6344 ($(BLD)/editfns.obj):
6345 ($(BLD)/emacs.obj):
6346 ($(BLD)/fileio.obj):
6347 ($(BLD)/fns.obj):
6348 ($(BLD)/indent.obj):
6349 ($(BLD)/insdel.obj):
6350 ($(BLD)/intervals.obj):
6351 ($(BLD)/minibuf.obj):
6352 ($(BLD)/print.obj):
6353 ($(BLD)/scroll.obj):
6354 ($(BLD)/sysdep.obj):
6355 ($(BLD)/textprop.obj):
6356 ($(BLD)/widget.obj):
f3d3c491
AI
6357 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
6358 ($(BLD)/term.obj): Add dependency on dispextern.h.
6359
52283633
SM
6360 * makefile.nt ($(BLD)\dispnew.obj):
6361 ($(BLD)\keyboard.obj):
6362 ($(BLD)\w32inevt.obj):
6363 ($(BLD)\w32bdf.obj):
6364 ($(BLD)\alloc.obj):
6365 ($(BLD)\buffer.obj):
6366 ($(BLD)\editfns.obj):
6367 ($(BLD)\emacs.obj):
6368 ($(BLD)\fileio.obj):
6369 ($(BLD)\fns.obj):
6370 ($(BLD)\indent.obj):
6371 ($(BLD)\insdel.obj):
6372 ($(BLD)\intervals.obj):
6373 ($(BLD)\minibuf.obj):
6374 ($(BLD)\print.obj):
6375 ($(BLD)\scroll.obj):
6376 ($(BLD)\sysdep.obj):
6377 ($(BLD)\textprop.obj):
6378 ($(BLD)\widget.obj):
f3d3c491
AI
6379 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
6380 ($(BLD)\term.obj): Add dependency on dispextern.h
6381
18ad4821
EZ
63822000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
6383
6384 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
6385 with an additional argument of Qt.
6386
de54681a
MB
63872000-10-21 Miles Bader <miles@gnu.org>
6388
6389 * window.c (pos_fully_visible_in_window_p): New function.
6390 (Fpos_visible_in_window_p): Add FULLY argument.
6391 Use pos_fully_visible_in_window_p.
6392 (window_scroll_pixel_based, window_scroll_line_based): Update
6393 calls to Fpos_visible_in_window_p.
6394 * lisp.h (Fpos_visible_in_window_p): Update prototype
6395
13c844fb
GM
63962000-10-20 Gerd Moellmann <gerd@gnu.org>
6397
6398 * alloc.c (toplevel): Conditionalize compilation of mem_*
6399 functions differently.
52283633 6400
d9506268
JR
64012000-10-20 Jason Rumney <jasonr@gnu.org>
6402
6403 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
6404 mem_init where it used to be. mem_z etc not defined otherwise.
6405
8094989b
GM
64062000-10-20 Gerd Moellmann <gerd@gnu.org>
6407
6408 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
6409 GC_MALLOC_CHECK.
6410 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
6411 structure definition and related variabled to the top of the file.
6412 Include this code when GC_MALLOC_CHECK is defined.
6413 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
6414 register/unregister allocated region.
6415 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
6416 which isn't allocated.
6417 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
6418 something which is already in use.
6419 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
6420 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
6421 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
6422 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
6423
6424 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
6425 _malloc_internal instead of malloc.
6426 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
6427 of free.
6428
ea456eb4
AI
64292000-10-20 Andrew Innes <andrewi@gnu.org>
6430
6431 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
6432 Windows.
6433 (my_strftime) <macro>: Don't use macro arg list when redefining as
6434 _strftime_copytm.
6435 (my_strftime) <function>: Supply 0 as ut argument.
6436
e64c3a75
JR
64372000-10-19 Jason Rumney <jasonr@altavista.net>
6438
6439 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
6440 including dispextern.h, as it stops faces from working.
6441
6442 * w32fns.c (Fx_create_frame): Don't bother calling
6443 face-set-after-frame-default since the caller does it for us
6444 anyway. Clean up calls to x_get_arg to be consistent with X.
6445
6446 * w32term.c (x_produce_glyphs): Handle
6447 unibyte_display_via_language_environment correctly.
6448 (w32_draw_box_rect): Fix the calculation of width and height.
6449
6450 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
6451 as it has stopped working.
6452 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
6453 menu-bar.
6454
17401c97
GM
64552000-10-19 Gerd Moellmann <gerd@gnu.org>
6456
6457 * eval.c (skip_debugger): Prevent a compiler warning.
6458 (Fcondition_case): Likewise.
6459 (Fbacktrace_frame): Use a null interactive spec.
6460
773272d8
KH
64612000-10-19 Kenichi Handa <handa@etl.go.jp>
6462
6463 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
6464
a42943e9
GM
64652000-10-18 Gerd Moellmann <gerd@gnu.org>
6466
e50517d9
GM
6467 * strftime.c: Sync with glibc, file version 1.78.
6468 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
6469 should no longer be used according to ISO 8601.
6470
9035a35a
GM
6471 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
6472 no map for meta_prefix_char, don't try to use it as a keymap.
6473 Instead, if T_OK is non-zero, look up a default binding, if any,
6474 otherwise, if T_OK is zero, return nil.
6475
a42943e9
GM
6476 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
6477 (x_to_xcolors, png_load): Use x_query_color.
6478
52283633
SM
6479 * xterm.c (x_color_cells, x_query_colors, x_query_color):
6480 New functions.
a42943e9
GM
6481 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
6482 which can be slow.
6483 (x_copy_color, x_alloc_lighter_color): Likewise.
6484
6485 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
6486 (x_query_color, x_query_colors): Add prototype.
6487
6488 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
6489 check_string_bytes only if not noninteractive, increase count to 50.
6490
00de2987
MB
64912000-10-18 Miles Bader <miles@lsi.nec.co.jp>
6492
6493 * insdel.c (adjust_markers_for_delete): Handle before-insertion
6494 markers correctly.
6495
54918e2b
GM
64962000-10-17 Gerd Moellmann <gerd@gnu.org>
6497
1f0b3fd2
GM
6498 * alloc.c (pure_bytes_used): Renamed from pureptr.
6499 (ALIGN): New macro.
6500 (pure_alloc): New function.
6501 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
6502 Use it.
6503 (Fpurecopy): Use PURE_POINTER_P.
6504
68c5d1db
GM
6505 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
6506 PT has moved backward.
52283633 6507
9a038881
GM
6508 * xdisp.c (cursor_row_p): Take continued lines into account.
6509
361b097f
GM
6510 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
6511 string's size_byte.
6512 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
6513 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
6514 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
6515 string allocated.
6516
54918e2b
GM
6517 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
6518 of selective display off while searching for the next line start.
6519
03ed0806
KH
65202000-10-17 Kenichi Handa <handa@etl.go.jp>
6521
6522 * Makefile.in (term.o): Depend on dispextern.h.
6523
7e05cdaf
SM
65242000-10-16 Stefan Monnier <monnier@cs.yale.edu>
6525
6526 * keymap.c (keymap_memberp): Ensure that nil is not a member.
6527
a6801fd1
GM
65282000-10-16 Gerd Moellmann <gerd@gnu.org>
6529
483de32b
GM
6530 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
6531 the iterator at the beginning, so that they can be set later on,
6532 for instance in reseat_at_next_visible_line_start, without being
6533 overwritten.
6534
a6801fd1
GM
6535 * xfns.c (pbm_format): Add :foreground and :background keywords.
6536 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 6537 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 6538
dbf1fcc1
EZ
65392000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
6540
6541 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
6542
52283633 6543 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
6544
6545 * msdos.c (IT_set_face): Compare highlighted face with the default
6546 face, and invert colors if these faces' colors are identical.
6547 (Fmsdos_remember_default_colors): Don't swap foreground and
6548 background colors in initial_colors[].
6549 (IT_set_frame_parameters): Don't swap frame's foreground and
6550 background pixels. If ALIST includes "(reverse . t)", swap
6551 foreground-color and background-color properties in frame's
6552 param_alist. If the original frame's param_alist doesn't specify
6553 the colors, store unspecified-fg and unspecified-bg, reversed if
6554 required.
6555
6556 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
6557 the colors are unspecified and reversed, reverse fore- and back-
6558 ground in the returned value.
6559 (Fframe_parameter): Ditto.
6560
b41fe2c3 65612000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 6562
3a6b59d9
GM
6563 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
6564 get_last_unchanged_at_beg_row.
6565 (find_first_unchanged_at_end_row): Renamed from
6566 get_first_unchanged_at_end_row.
6567 (find_first_unchanged_at_end_row): Convert assertions to
6568 unconditional tests which abort. When looking for a row in
6569 unchanged text, don't go further back than first_text_row.
6570
b41fe2c3
GM
6571 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
6572 Don't add in the last line's height when deciding if the new
6573 position is below the scroll margin.
9d1af64f 6574
b41fe2c3 65752000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
6576
6577 * editfns.c (Fconstrain_to_field): Check carefully for field
6578 boundaries if either OLD_POS or NEW_POS has a non-nil field
6579 property, even if they're the same.
6580
c412cb7b
KH
65812000-10-16 Kenichi Handa <handa@etl.go.jp>
6582
6583 * xterm.c (x_draw_box_rect): Fix the calculation of width and
6584 height for XFillRectangle.
6585
5586f3eb
SM
65862000-10-15 Stefan Monnier <monnier@cs.yale.edu>
6587
6588 * syntax.c (Fstring_to_syntax): New function extracted from
6589 Fmodify_syntax_entry.
6590 (Fmodify_syntax_entry): Use it and document the ! and | fences.
6591 (skip_chars, Fforward_comment): Remove unused variables.
6592 (syms_of_syntax): Add defsubr for string-to-syntax.
6593 (describe_syntax): Add code for comment and string fences.
6594
db785038
SM
65952000-10-14 Stefan Monnier <monnier@cs.yale.edu>
6596
6597 * keymap.c (access_keymap): Add AUTOLOAD parameter.
6598 Do the meta->esc mapping. Call get_keyelt before returning.
6599 Start scanning from the second element (the first is always `keymap')
6600 to make it easier to detect when we reach a parent map.
6601 Handle the case of inheriting from a symbol whose function is a map.
6602 (Fkeymap_parent): Also handle the `inherit from symbol' case.
6603 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
6604 (get_keyelt, Flookup_key): Update call to access_keymap.
6605 Remove the meta->esc mappings.
6606 (define_as_prefix): Delete old disabled code.
6607 (menu_item_p): New function.
6608 (where_is_internal_1): Skip over the few remaining menu items.
6609 * lisp.h (access_keymap): Update prototype.
6610 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
6611 Update call to access_keymap.
6612 (follow_key, read_key_sequence): Update calls to access_keymap.
6613 Remove the meta->esc mappings.
6614
cafafe0b
GM
66152000-10-13 Gerd Moellmann <gerd@gnu.org>
6616
a2e2a7f6
GM
6617 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
6618 with additional argument.
6619
cafafe0b
GM
6620 * xdisp.c (cursor_row_p): New function.
6621 (try_cursor_movement, display_line): Use it.
52283633 6622
cafafe0b
GM
6623 * xdisp.c (append_space): Also save/restore iterator's current
6624 character and its length.
6625
6626 * xdisp.c (init_from_display_pos): Add an assertion.
6627 (handle_stop): Don't set iterator's add_overlay_start.
6628 (handle_invisible_prop): Likewise.
6629 (load_overlay_strings): If text under an overlay is invisible,
6630 take both before- and after-strings into account when the iterator
6631 is positioned either at the start or at the end of the overlay.
6632 (forward_to_next_line_start): Rewritten.
6633 (reseat_at_next_visible_line_start): Rewritten.
6634 (set_iterator_to_next): Add parameter RESEAT_P.
6635
6636 * dispextern.h (struct it): Remove member add_overlay_start.
6637 (set_iterator_to_next): Change prototype.
6638
c744452b
KH
66392000-10-13 Kenichi Handa <handa@etl.go.jp>
6640
6641 * coding.c (code_convert_region): Be sure to initialize
6642 coding->category_idx.
e4a3f4e1
KH
6643 (decode_coding_string): Set coding->src_multibyte and
6644 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
6645 (encode_coding_string): Set coding->src_multibyte and
6646 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 6647
321fd26f
SM
66482000-10-12 Stefan Monnier <monnier@cs.yale.edu>
6649
6650 * xfns.c (Fx_create_frame): Don't bother calling
6651 face-set-after-frame-default since the caller does it for us anyway.
6652
76832439
EZ
66532000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
6654
6655 * window.c (coordinates_in_window): Fix detection of vertical line
6656 on character terminals.
6657
2483cf58
GM
66582000-10-12 Gerd Moellmann <gerd@gnu.org>
6659
6660 * editfns.c (save_excursion_save): Additionally record the
6661 selected window.
6662 (save_excursion_restore): If buffer was visible in a window, and a
6663 different window was selected, and the old selected window is
6664 still live, restore point in that window.
6665
eb991b25
KH
66662000-10-12 Kenichi Handa <handa@etl.go.jp>
6667
8a0eba09
KH
6668 * xterm.c (x_produce_glyphs): Handle
6669 unibyte_display_via_language_environment correctly.
6670
20401fcc
KH
6671 * regex.c (regex_compile): Change the way of handling a range from
6672 unibyte char to multibyte char.
6673
6674 * syntax.c (skip_chars): Change the way of handling a range from
6675 unibyte char to multibyte char.
6676
eb991b25
KH
6677 * process.c (read_process_output): Cancel previous change.
6678
365dd325
EZ
66792000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
6680
c1b096cb
EZ
6681 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
6682
365dd325
EZ
6683 * charset.c (Ffind_charset_string): Doc fix.
6684 (Ffind_charset_region): Doc fix.
6685
eb483c2b
KH
66862000-10-11 Kenichi Handa <handa@mule.m17n.org>
6687
6688 * process.c (read_process_output): Fix previous change. Adjust
6689 multibyteness of text to insert in a buffer by
52283633 6690 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 6691
b40bfb99
AS
66922000-10-10 Andreas Schwab <schwab@suse.de>
6693
6694 * alloc.c (mark_object): Remove all workarounds installed on
6695 1993-08-08.
6696
caff31d4
KH
66972000-10-10 Kenichi Handa <handa@etl.go.jp>
6698
52283633 6699 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
6700 (base64_encode_1): Make it work for a text of multibyte form.
6701 (Fbase64_decode_region): Allocate sufficient memory for multibyte
6702 case. Don't call str_to_multibyte because base64_decode_1
6703 produces correct multibyte form for eight-bit codes.
52283633 6704 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
6705 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
6706 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
6707 codes.
6708
6709 * charset.h (CHAR_STRING): Optimized for single byte characters.
6710
cba026ef
AS
67112000-10-09 Andreas Schwab <schwab@suse.de>
6712
6713 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
6714 -1 after socket is closed, to fall through to error processing.
6715
1e21fe48
EZ
67162000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
6717
6718 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 6719 variables. If ALIST includes foreground-color or
1e21fe48
EZ
6720 background-color, change also the colors of the default face for
6721 this frame.
6722
a640322e
EZ
67232000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
6724
6725 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
6726 them extern (they are defined on xfaces.c).
6727 (syms_of_msdos): Don't intern and don't staticpro
6728 Qbackground_color and Qforeground_color.
6729
a115794c
EZ
67302000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
6731
6732 * frame.c (Fframe_parameter): For non-windowed frames, if
6733 f->param_alist says foreground or background color is unspecified,
6734 call tty_color_name to return the color name computed from the
6735 frame's current colors.
6736
f5533b63
DL
67372000-10-06 Dave Love <fx@gnu.org>
6738
6739 * terminfo.c (ospeed): Don't declare.
6740
6741 * sysdep.c: Don't include string.h.
6742 (h_errno): Declare conditional also on TRY_AGAIN.
6743
6744 * charset.c (Ffind_charset_string): Doc fix.
6745
52283633 6746 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
6747 (Fbase64_decode_region, Fbase64_decode_string): More explicit
6748 error messages.
6749
2b06561a
DL
67502000-10-05 Dave Love <fx@gnu.org>
6751
6752 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
6753 position like menu-bar.
6754
ca839c85
GM
67552000-10-05 Gerd Moellmann <gerd@gnu.org>
6756
6757 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
6758
6759 * xdisp.c (handle_single_display_prop): Use safe_call1.
6760 (safe_call): Renamed from call_function.
6761 (safe_call1): New function.
6762 (handle_fontified_prop): Use safe_call1 instead of call1.
6763 (safe_eval): Renamed from eval_form.
6764 (safe_eval_handler): Renamed from eval_handler.
6765 (handle_single_display_prop, display_mode_element): Use safe_eval
6766 instead of eval_form.
6767
6768 * xfaces.c (merge_face_heights): Use safe_call instead of
6769 call_function.
6770
6771 * keyboard.c (show_help_echo): Use safe_call instead of
6772 call_function; use safe_eval instead of eval_form.
6773
6774 * lisp.h (safe_call): Renamed from call_function.
6775 (safe_eval): Renamed from eval_form.
6776 (safe_call1): Add prototype.
6777
a3489ece
MB
67782000-10-05 Miles Bader <miles@lsi.nec.co.jp>
6779
6780 * xfns.c (image_ascent): Rearrange ascent calculation for the
6781 has-a-font case.
6782
35810b6f
SM
67832000-10-04 Stefan Monnier <monnier@cs.yale.edu>
6784
6785 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
6786 (where_is_internal_1): Don't bother ignoring menu-items any more.
6787
3dc78168
GM
67882000-10-04 Gerd Moellmann <gerd@gnu.org>
6789
6790 * keyboard.c (update_menu_bindings): New variable.
6791 (parse_menu_item): Use AREF. If update_menu_bindings
6792 is 0, don't update menu bindings.
6793 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
6794
1efc2bb9
EZ
67952000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
6796
6797 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
6798 to `mark_object'.
6799
3f679f55
SM
68002000-10-02 Stefan Monnier <monnier@cs.yale.edu>
6801
6802 * syntax.c (forw_comment): Match nestedness of ender/starter.
6803 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
6804 (prev_char_comstart_first): Remove.
6805 (back_comment): Check two-char comment markers more carefully
6806 to better handle overlapping cases like *//* or /* */* */ ...
6807 Match nestedness of ender/starter.
6808
2021ab61
DL
68092000-10-02 Dave Love <fx@gnu.org>
6810
6811 * config.in (HAVE_GAI_STRERROR): Add undef.
6812
6813 * process.c (Fopen_network_stream): Use it.
6814
6815 * m/alpha.h (NO_REMAP): Don't define.
6816
64e6cc18
GM
68172000-10-02 Gerd Moellmann <gerd@gnu.org>
6818
6819 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
6820 return with a string converted to an integer or vice versa when
6821 Vmocklisp_arguments is t.
6822 (Fsignal): Likewise. The function can return for `quit'.
6823 (struct gcpro): Declare member `var' to point to a volatile
6824 Lisp_Object.
6825
6826 * eval.c (error): Prevent compiler warning.
6827
b1904cd9
SM
68282000-09-30 Stefan Monnier <monnier@cs.yale.edu>
6829
6830 * keymap.c (keymap_memberp): New function.
6831 (Fset_keymap_parent): Use it.
6832 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
6833 Use keymap_memberp to avoid creating cycles.
6834 (access_keymap): Use KEYMAPP.
6835
71c9ec51
GM
68362000-09-30 Gerd Moellmann <gerd@gnu.org>
6837
6838 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
6839 gai_strerror. Make sure xerrno is set if connect fails. Improve
6840 error recovery.
71c9ec51 6841
c70c6b58
JR
68422000-09-29 Jason Rumney <jasonr@gnu.org>
6843
6844 * w32term.c (w32_char_font_type, w32_encode_char)
6845 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
6846 (w32_bdf_per_char_metric): New function.
6847 (w32_per_char_metric): Use it.
6848 (x_draw_glyph_string_background): Always draw background for BDF
6849 glyphs.
6850
6851 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
6852 GDI object which is a scarce resource.
6853
6854 * w32bdf.c (search_file_line): Fix skipping of whitespace.
6855 (get_quoted_string): Fix limit on memchr search.
6856 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
6857 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
6858 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
6859 (get_cached_font_char, cache_char_offset): Use macro
6860 BDF_CODEPOINT_RANGE_COVER_P.
6861 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
6862 (clear_cached_bitmap_slots): New function.
6863 (GET_HEX_VALUE): G-Z, g-z are not hex.
6864 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
6865 (get_bitmap_with_cache): Use new cache implementation.
6866 (create_offscreen_bitmap): New function.
6867 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
6868
6869 * w32term.c (x_produce_glyphs): If the distance from the current
6870 position to the next tab stop is less than a canonical character
6871 width, use the tab stop after that.
6872 (x_draw_glyphs): Handle case START and END are out of bounds more
6873 carefully.
6874 (x_clear_mouse_face): Block/unblock input.
6875 (x_display_and_set_cursor): Don't show a hollow box cursor for
6876 buffers whose cursor_type is nil.
6877
fe01239f
GM
68782000-09-29 Gerd Moellmann <gerd@gnu.org>
6879
52283633 6880 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
6881
6882 * dispextern.h (updating_frame): Declare extern.
6883
e7c52f1f
AS
68842000-09-29 Andreas Schwab <schwab@suse.de>
6885
6886 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
6887
de6e1f7c
GM
68882000-09-29 Gerd Moellmann <gerd@gnu.org>
6889
25126faa
GM
6890 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
6891 use its function definition.
6892 (tool_bar_items): Likewise.
6893
de6e1f7c 6894 * lisp.h (fatal): Declare NO_RETURN.
52283633 6895
454ee39b
KH
68962000-09-29 Kenichi Handa <handa@etl.go.jp>
6897
6898 * keymap.c: Remove the line "#undef NULL".
6899
96301c5f
GM
69002000-09-28 Gerd Moellmann <gerd@gnu.org>
6901
52283633 6902 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 6903
efffeeb4
DL
69042000-09-28 Dave Love <fx@gnu.org>
6905
ecb8b666
DL
6906 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
6907
dc3cd20f
DL
6908 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
6909
6910 * .gdbinit (xreload): Note its need on GNU/Linux.
6911
efffeeb4
DL
6912 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
6913 r_alloc, r_alloc_free.
6914
8610d903
KH
69152000-09-28 Kenichi Handa <handa@etl.go.jp>
6916
6917 * syntax.c (skip_chars): Handle negation correctly.
6918
8901d1ac
GM
69192000-09-27 Gerd Moellmann <gerd@gnu.org>
6920
6f22f1ad
GM
6921 * xfaces.c (realize_default_face): Call set_lface_from_font_name
6922 with non-zero FORCE_P argument.
6923
52283633 6924 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
6925 Add assertions.
6926
6927 * xdisp.c (window_box_height): Add an assertion.
6928
6929 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
6930 tool-bar than is available.
6931 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
6932
36f1966f
DL
69332000-09-27 Dave Love <fx@gnu.org>
6934
efffeeb4 6935 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 6936
31d929e5
GM
69372000-09-26 Gerd Moellmann <gerd@gnu.org>
6938
c98863bf
GM
6939 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
6940 instead of BITS_PER_INT.
6941 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
6942 EMACS_UINT, respectively.
6943 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
6944
6945 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
6946
6947 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
6948
77072ab1
GM
6949 * window.c (freeze_window_starts): Construct last argument for
6950 foreach_window differently.
6951
6952 * xfns.c (x_decode_color): Don't return a Lisp_Object.
6953
6954 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
6955 EMACS_UINT instead of `int' and `unsigned int'.
6956 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
6957
6958 * frame.h (struct frame): Make the `nothing' member of union
6959 output_data an EMACS_INT.
6960
52283633 6961 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
6962 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
6963 size in the sdata structure.
6964 (SDATA_NBYTES, SDATA_DATA): New macros.
6965 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
6966 differently for the different layout of the sdata structure.
6967 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
6968 in sdata.
6969 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
6970 Check that size recorded in the string size and size recorded in
6971 the sdata structure agree.
6972
3e60b029
DL
69732000-09-25 Dave Love <fx@gnu.org>
6974
6975 * buffer.c: Include stdio.h.
6976
6977 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 6978
3e60b029
DL
6979 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
6980
6981 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 6982 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
6983 (__malloc_extra_blocks): Declare as __malloc_size_t.
6984
8ff16b4e
GM
69852000-09-25 Gerd Moellmann <gerd@gnu.org>
6986
755a2ccd
GM
6987 * alloc.c (mark_image): Use GC_NILP instead of NILP.
6988
d8b4516f
GM
6989 * keyboard.c (show_help_echo): Set help_echo_showing_p.
6990 (read_char): If help-echo is showing, preserve the echo area
6991 when redisplaying.
6992
6993 * xdisp.c (help_echo_showing_p): New variable.
6994 (set_message): Reset it to 0.
6995 (init_xdisp): Initialize help_echo_showing_p.
6996
6997 * dispextern.h (help_echo_showing_p): Declare extern.
6998
6999 * config.in: Fix typo in __GNUC_MINOR__.
7000
7001 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
7002
b11af2dd
GM
7003 * s/freebsd.h (POSIX_SIGNALS): Define.
7004
8ff16b4e
GM
7005 * xterm.c (x_clear_mouse_face): Block/unblock input.
7006
844eb643
DL
70072000-09-24 Dave Love <fx@gnu.org>
7008
7009 * fns.c (base64_encode_1): Fix last change.
7010
b30ab1b3
GM
70112000-09-22 Gerd Moellmann <gerd@gnu.org>
7012
7013 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
7014
7015 * xdisp.c (try_window_reusing_current_matrix): More fixes
7016 for the case window has a header-line.
7017
c6cbe5f0
DL
70182000-09-22 Dave Love <fx@gnu.org>
7019
4c7c1f3f
DL
7020 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
7021 a doc string.
7022
7023 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
7024
c6cbe5f0
DL
7025 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
7026
550a625e
GM
70272000-09-21 Gerd Moellmann <gerd@gnu.org>
7028
4c7c1f3f 7029 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
7030 for GCC >= 2.5.
7031
52283633
SM
7032 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
7033 Declare NO_RETURN.
fca99116 7034
80d26f99
GM
7035 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
7036 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
7037 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
7038 warnings.
52283633 7039
80d26f99
GM
7040 * marker.c (byte_char_debug_check): Return void.
7041
623a0aae
GM
7042 * xfns.c (Fx_create_frame): Set default frame parameter value
7043 for tool-bar-lines to 1.
7044
7045 * dispnew.c (scrolling_window): Compare y-positions of rows
7046 equal at the start. Some simplification.
7047
7048 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
7049 reused rows' y-position in the case window has a header-line, and
7050 new window start is greater than old window start.
7051
42ac0ae5
GM
7052 * process.c (process_sent_to): New variable.
7053 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
7054 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
7055 Declare more parameters volatile.
7056
550a625e
GM
7057 * lread.c (Vrecursive_load_depth_limit): New variable.
7058 (Fload): Check recursive loads whose recursion depth exceeds
7059 Vrecursive_load_depth_limit.
7060 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
7061
8320414c
GM
70622000-09-20 Gerd Moellmann <gerd@gnu.org>
7063
f46c275e
GM
7064 * fileio.c (Fread_file_name): Doc fix.
7065
7066 * editfns.c (Fmessage_or_box): Doc fix.
7067
7068 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
7069
b7e11c5b 7070 * xfns.c (xbm_scan): Allow C-style comments.
52283633 7071
8320414c
GM
7072 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
7073 symbols are specified, add color translations to the cache.
52283633 7074 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
7075 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
7076 xpm_cache_color.
7077 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
7078 structures to xpm_init_color_cache.
7079
da1608d9
GM
70802000-09-19 Gerd Moellmann <gerd@gnu.org>
7081
52283633 7082 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 7083
6badfa25
AI
70842000-09-19 Andrew Innes <andrewi@gnu.org>
7085
7086 * makefile.nt (bootstrap-emacs): Don't change directory.
7087
3a5f42bb
KH
70882000-09-19 Kenichi Handa <handa@etl.go.jp>
7089
1b7649bd
KH
7090 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
7091
3a5f42bb
KH
7092 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
7093 If output buffer is too small, signal an appropriated error.
7094
9f83cf0b
DL
70952000-09-18 Dave Love <fx@gnu.org>
7096
52283633 7097 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
7098 (current_active_maps): Remove redundant get_local_map call.
7099
28c7826c
GM
71002000-09-18 Gerd Moellmann <gerd@gnu.org>
7101
5cefa566
GM
7102 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
7103 cursor for buffers whose cursor_type is nil.
52283633 7104
6fed3546
GM
7105 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
7106 a feature to implement that is already implemented.
7107 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
7108 warnings.
7109
7110 * xfns.c (x_clear_image_1): New function.
7111 (x_clear_image): Use it.
52283633 7112 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 7113
05b1f851
GM
7114 * dispnew.c (update_window): Move test for invisible lines
7115 at the top to update_window_line.
7116 (update_window_line): Handle invisible lines here.
7117
f4779de9
GM
7118 * xfns.c (clear_image_cache): Clear current matrices of all
7119 frames sharing an image cache. Block input while freeing
7120 images. Fix timestamp comparison.
7121 (x_clear_image): Also free the mask.
7122
28c7826c
GM
7123 * xfns.c (lookup_image): Block input while loading the image so
7124 that we won't get interrupted in a state where the image isn't yet
7125 set up completely.
7126 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
7127 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
7128 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 7129 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 7130
b7412313
GM
71312000-09-16 Gerd Moellmann <gerd@gnu.org>
7132
7133 * dispnew.c (update_window): Make sure to make desired rows
7134 current even if they are completely invisible at the top
7135 of a window.
7136
47e351a3
GM
71372000-09-15 Gerd Moellmann <gerd@gnu.org>
7138
7f8f1edc
GM
7139 * xfns.c (lookup_image): Build mask before applying an algorithm.
7140 Recognize algorithm `disabled'.
7141 (cross_disabled_images): New variable.
7142 (COLOR_INTENSITY): New macro.
7143 (x_detect_edges): Use COLOR_INTENSITY.
7144 (x_disable_image): New function.
7145 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
7146
7147 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
7148 disabled state, don't apply an image transformation algorithm if
7149 the user specified an image for the disabled state. Use
28c7826c 7150 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
7151 user hasn't specified an image.
7152
ebb8f116
GM
7153 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
7154 allocation functions with the XPM lib.
7155 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
7156 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
7157 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
7158 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 7159 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
7160 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
7161 functions, if possible, because these handle color allocation
7162 failure more gracefully.
7163 (Fimage_mask_p): New function.
7164
47e351a3
GM
7165 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
7166 (Qedge_detection, Qheuristic): New symbols.
7167 (syms_of_xfns): Initialize new symbols.
7168 (lookup_image): Handle `:mask X', `:algorithm emboss', and
7169 `algorithm (edge-detection ...)'.
7170 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
7171 (tiff_format, gif_format, gs_format): Add `:mask'.
7172 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
7173 (GIF_MASK, GS_MASK): New enumerators.
7174 (x_laplace_read_row, x_laplace_write_row): Functions removed.
7175 (emboss_matrix, laplace_matrix): New variables.
7176 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
7177 (x_edge_detection): New functions.
7178 (x_laplace): Rewritten in terms of x_detect_edges.
7179 (x_build_heuristic_mask): If image has a mask, free it.
7180
fe83b953
AI
71812000-09-14 Andrew Innes <andrewi@gnu.org>
7182
7183 * makefile.w32-in: Revert to Unix line endings.
7184
3021e816
AI
71852000-09-14 Andrew Innes <andrewi@gnu.org>
7186
7187 * makefile.w32-in: Standardize indentation somewhat.
7188 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
7189 cater for differences between shells.
7190
7191 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
7192
2a32b5ea
GM
71932000-09-14 Gerd Moellmann <gerd@gnu.org>
7194
7195 * xterm.c (x_produce_glyphs): If the distance from the current
7196 position to the next tab stop is less than a canonical character
7197 width, use the tab stop after that.
7198
b4331e96
DL
71992000-09-14 Dave Love <fx@gnu.org>
7200
7201 * buffer.c (alloc_buffer_text): Fix xmalloc call.
7202
ef9e4345
GM
72032000-09-14 Gerd Moellmann <gerd@gnu.org>
7204
085536c2
GM
7205 * xdisp.c (handle_fontified_prop): While running fontification
7206 functions, bind `fontification-functions' and
7207 `after-change-functions' to nil.
7208
ef9e4345
GM
7209 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
7210 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
7211
7212 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
7213
7214 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
7215 USE_MMAP_FOR_BUFFERS.
7216
7217 * insdel.c (make_gap): Use enlarge_buffer_text.
7218
7219 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
7220 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
7221 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
7222 from former r_alloc_* functions in ralloc.c.
52283633 7223 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
7224 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
7225 (mmap_init) [REL_ALLOC_MMAP]: New function.
7226 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
7227 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
7228 BUFFER_FREE.
7229
7230 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
7231 (enlarge_buffer_text): Add prototype.
7232
7233 * ralloc.c: Remove everything having to do with the use of mmap.
7234
f8608968
GM
72352000-09-13 Gerd Moellmann <gerd@gnu.org>
7236
2a494b2d
GM
7237 * sound.c (Fplay_sound): Doc fix.
7238
8c907a56
GM
7239 * keyboard.c: Avoid some more compiler warnings.
7240 (parse_tool_bar_item): Ignore cached key bindings.
7241
f8608968
GM
7242 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
7243 and allocation of Lisp data.
7244
6ab70e9a
GM
72452000-09-12 Gerd Moellmann <gerd@gnu.org>
7246
d12d0a9b
GM
7247 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
7248 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
7249 defaults first.
7250
6ab70e9a
GM
7251 * lread.c (Fload): Put code checking for recursive loads in #if 0.
7252
63c36c3c
KH
72532000-09-12 Miyashita Hisashi <himi@meadowy.org>
7254
7255 * ccl.c: Comment fixed.
7256 (MAX_MAP_SET_LEVEL): Increased to 30.
7257 (PUSH_MAPPING_STACK): Enclose with do-while block.
7258 (POP_MAPPING_STACK): Likewise.
7259 (stack_idx_of_map_multiple): New variable.
7260 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
7261 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 7262 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
7263 (ccl_driver) <CCL_MapSingle>: Likewise.
7264 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
7265 with the case where looking up process reaches to the end of
7266 map-set, and call CCL programs as the above change.
7267
7ee3bd7b
GM
72682000-09-11 Gerd Moellmann <gerd@gnu.org>
7269
8ec8a5ec
GM
7270 * xfns.c (png_load, jpeg_load): Declare some variables volatile
7271 that might be clobbered by longjmp.
7272 (check_x_display_info, x_decode_color, create_frame_xic)
7273 (Fx_display_backing_store, Fx_display_visual_class)
52283633 7274 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 7275
f74b0705
GM
7276 * lread.c (init_lread): Set Vloads_in_progress to nil.
7277 (Fload): Show list of recursively loaded files, when signaling an
7278 error.
7279
7ee3bd7b
GM
7280 * lread.c (Vloads_in_progress): New variable.
7281 (record_load_unwind): New function.
7282 (Fload): Check for recursive loads.
7283 (syms_of_lread): Initialize Vloads_in_progress.
7284 (read_integer, read1): Avoid some compiler warnings.
7285
7286 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
7287 compiler warnings.
7288
974e1e5b
MB
72892000-09-11 Miles Bader <miles@gnu.org>
7290
7291 * editfns.c (Fbuffer_string): Doc fix.
7292
9824c4e3
GM
72932000-09-10 Gerd Moellmann <gerd@gnu.org>
7294
7295 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
7296
6a72fdd1
KR
72972000-09-09 Ken Raeburn <raeburn@gnu.org>
7298
7299 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
7300 whether to include other header files.
7301
28e6fb66
GM
73022000-09-09 Gerd Moellmann <gerd@gnu.org>
7303
52283633 7304 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 7305 by Fmemq as a boolean.
28e6fb66 7306
7f8b6551
SM
73072000-09-08 Stefan Monnier <monnier@cs.yale.edu>
7308
7309 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
7310
a8710abf
GM
73112000-09-08 Gerd Moellmann <gerd@gnu.org>
7312
d1a02881
GM
7313 * ralloc.c (mmap_fd): Remove initializer which can make it
7314 read-only in a dumped Emacs.
7315 (mmap_fd_1): New variable.
7316 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
7317 restore it from there.
7318 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
7319 unconditionally so that mmap_fd can be initialized there.
7320 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
7321 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
7322 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
7323
c454aac1
GM
7324 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
7325
7326 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 7327 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 7328
fc653ef2
GM
7329 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
7330
3015eec0
GM
7331 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
7332 inheritance.
7333
bfe0ee88
GM
7334 * xdisp.c (try_window_id): When trying to locate cursor in
7335 unchanged rows at the top, handle the case that we can't find it.
7336
a8710abf
GM
7337 * xterm.c (x_draw_glyphs): Handle case START and END are out
7338 of bounds more carefully.
7339
6b7d4ae4
DL
73402000-09-08 Dave Love <fx@gnu.org>
7341
423193c5
DL
7342 * s/sol2.h (REL_ALLOC_MMAP): Define.
7343 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
7344
7345 * ralloc.c: Don't include string.h (redundant).
7346 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
7347 [!MAP_ANON]: Include fcntl.h.
7348 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
7349 (r_alloc, r_re_alloc, r_alloc_free)
7350 (mmap_enlarge, mmap_set_vars): Use it.
7351 (r_alloc_init_fd): New function.
7352 (__morecore) [SYSTEM_MALLOC]: Don't declare.
7353 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
7354 malloc type.
7355
7356 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
7357 Remove vm-limit.o.
7358
6b7d4ae4
DL
7359 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
7360 change to __NetBSD__.
7361
44d31981
KH
73622000-09-08 Kenichi Handa <handa@etl.go.jp>
7363
7364 * search.c (compile_pattern): Check the multibyteness of cached
7365 string and PATTERN.
7366
aad40737
MB
73672000-09-08 Miles Bader <miles@gnu.org>
7368
7369 * xfaces.c (default_face_vector): Function removed.
7370 (Finternal_merge_in_global_face): Restore old global/local
7371 attribute override order. Use inline loop instead of calling
7372 default_face_vector.
7373
91a211b5
GM
73742000-09-07 Gerd Moellmann <gerd@gnu.org>
7375
7376 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
7377 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
7378 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
7379 where necessary, in case POINTER_TYPE is `void'.
7380
03419440
EZ
73812000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
7382
7383 * frame.c (make_terminal_frame): Initialize frame foreground and
7384 background colors to unspecified, for the initial instance of an
7385 MSDOS frame.
7386
f46f845b
GM
73872000-09-07 Gerd Moellmann <gerd@gnu.org>
7388
24f76fbf
GM
7389 * ralloc.c (mmap_find): Fix overlap computation.
7390 (mmap_enlarge): Compute nbytes before trying to find an
7391 overlapping region.
7392
f46f845b
GM
7393 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
7394 instead of `!='.
7395
7396 * lread.c (syms_of_lread): Change value of regexp
7397 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
7398
7399 * xmenu.c (xdialog_show): When looking up the selection in
7400 menu_items, take `quote' boundaries into account; this corresponds
7401 to a nil ITEM in x-popup-dialog.
7402
3c014385
KH
74032000-09-07 Kenichi Handa <handa@etl.go.jp>
7404
fd6f711b
KH
7405 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
7406 not 0x81.
7407 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
7408
3c014385 7409 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
7410 encoding, not decoding. Fix the handling of latin-jisx0201.
7411 Check for the charset katakana-jisx0201 too.
3c014385 7412 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 7413 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 7414
0da3ecef
GM
74152000-09-07 Gerd Moellmann <gerd@gnu.org>
7416
ab0ee409
GM
7417 * xfaces.c (Vparam_value_alist): New variable.
7418 (syms_of_xfaces): Initialize it.
7419 (Finternal_set_lisp_face_attribute): Avoid more consing.
7420
7421 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
7422 specially.
7423 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
7424 (Qbackground_mode): New variable.
7425 (syms_of_frame_1): Initialize Qbackground_mode.
7426
7427 * lisp.h (Qdisplay): Declare extern.
1091dd67 7428
0da3ecef
GM
7429 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
7430 change face on all frames, and change the default for new frames.
7431
b14654b9
DL
74322000-09-07 Dave Love <fx@gnu.org>
7433
7434 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
7435
d24fd56f
KH
74362000-09-07 Kenichi Handa <handa@etl.go.jp>
7437
794f3670
KH
7438 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
7439
0fddd0dc
KH
7440 * charset.c: Include composite.h
7441 (lisp_string_width): New function.
7442 (Fstring_width): Call lisp_string_width instead of strwidth.
7443
7444 * Makefile.in (charset.o): Depends on composite.h.
7445
d24fd56f
KH
7446 * process.c (read_process_output): Before inserting the decoded
7447 text in the buffer, adjust the multibyteness.
7448
fa0b693c
GM
74492000-09-06 Gerd Moellmann <gerd@gnu.org>
7450
52283633 7451 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
7452 buffer's text buffer is null, map new memory.
7453
0a58f946
GM
7454 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
7455 POINTER_TYPE and size_t.
7456 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
7457 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
7458 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
7459 [REL_ALLOC_MMAP]: New macros.
7460 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
7461 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
7462 [REL_ALLOC_MMAP]: New functions.
7463
7464 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
7465 before and after unexec.
7466
7467 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
7468 text buffers if necessary.
7469
7470 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
7471 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
7472 in prototypes.
7473
fa0b693c
GM
7474 * config.in (HAVE_MMAP): Add #undef.
7475
877055f6
GM
74762000-09-05 Gerd Moellmann <gerd@gnu.org>
7477
08ba3862
GM
7478 * frame.c (Qdisplay_type): New variable.
7479 (syms_of_frame_1): Initialize it.
7480 (Fframe_parameter): New function that avoids consing.
7481 (syms_of_frame): Defsubr it.
7482
66ffe51c
GM
7483 * buffer.c (Fother_buffer): Consider buffers as invisible when
7484 they are displayed in a window on an invisible frame.
7485
877055f6
GM
7486 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
7487 get-largest-window always return nil.
7488
bb970e67
GM
74892000-09-04 Gerd Moellmann <gerd@gnu.org>
7490
7491 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
7492 variable; recognize Emacs 19 elc files.
7493
7a3d0e0e
MB
74942000-09-04 Miles Bader <miles@gnu.org>
7495
7496 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
7497 before initially popping up the menu, so the menu doesn't flash
52283633 7498 when the face settings are significantly different from the defaults.
7a3d0e0e 7499
14473664
SM
75002000-09-04 Stefan Monnier <monnier@cs.yale.edu>
7501
7502 * regex.c (WIDE_CHAR_SUPPORT): New macro.
7503 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
7504 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
7505 (BIT_UNIBYTE): Remove.
7506 (re_match_2_internal): Delete corresponding code and streamline the
7507 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
7508 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
7509 (re_wctype_t): New type.
7510 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
7511 (regex_compile): Use them and fix handling of overly long char classes.
7512
c1174479
AI
75132000-09-03 Andrew Innes <andrewi@gnu.org>
7514
f8803e97
AI
7515 * makefile.w32-in: Change to DOS line endings.
7516
c1174479
AI
7517 * s/ms-w32.h (ORDINARY_LINK): New define.
7518
7519 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
7520 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
7521
7522 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
7523 (distclean): Delete them here instead.
7524
44ef7cf6
AI
7525 * w32proc.c (compare_env): Convert to uppercase for comparison,
7526 not lowercase, to match how the native Windows shell works.
7527
49b3bd82
JR
75282000-09-03 Jason Rumney <jasonr@gnu.org>
7529
7530 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
7531 CVS changes the line-ends when checking in/out on DOS/Windows.
7532
7533 * makefile.nt (emacs): Do not change directory to run temacs, as
7534 the load-path is set relative to current directory.
7535
a3d35a39
MB
75362000-09-03 Miles Bader <miles@gnu.org>
7537
7538 * xterm.c (x_alloc_lighter_color_for_widget): New function.
7539
d276b0cf
GM
75402000-09-02 Gerd Moellmann <gerd@gnu.org>
7541
715e84c9
GM
7542 * xdisp.c (redisplay_mode_lines): New function.
7543 (display_mode_lines): Return number of mode lines displayed.
7544 (echo_area_display): Use redisplay_mode_lines to draw garbaged
7545 mode lines. Don't temporarily bind redisplay-dont-pause to t.
7546
8892f40b
GM
7547 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
7548 string.h and strings.h.
7549 (index) [HAVE_INDEX]: Add prototype.
7550
d276b0cf
GM
7551 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
7552 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
7553
7554 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
7555 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
7556
38404229
GM
75572000-09-01 Gerd Moellmann <gerd@gnu.org>
7558
7559 * lread.c (read1): Accept `?' as symbol constituent, for
7560 compatiblity with XEmacs.
7561
c0f9ea08
SM
75622000-08-31 Stefan Monnier <monnier@cs.yale.edu>
7563
7564 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
7565 (struct re_pattern_buffer): Remove newline_anchor.
7566 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
7567 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
7568 (re_max_failures, fail_stack): Use size_t rather than unsigned.
7569 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
7570 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
7571 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
7572 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
7573 Get rid of references to newline_anchor.
7574 (regcomp): Allocate and precompute a fastmap.
7575
8c0f83fe
GM
75762000-08-31 Gerd Moellmann <gerd@gnu.org>
7577
7578 * lread.c (openp): GCPRO local variable `filename'.
7579
4bb91c68
SM
75802000-08-30 Stefan Monnier <monnier@cs.yale.edu>
7581
7582 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
7583
7584 * regex.c: Merge some changes from GNU libc. Add prototypes.
7585 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
7586 Use memcmp and memcpy instead of bcopy and bcmp.
7587 (init_syntax_once): Use ISALNUM.
7588 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
7589 (REG_UNSET_VALUE): Remove. Use NULL instead.
7590 (REG_UNSET, re_match_2_internal): Use NULL.
7591 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
7592 New macros.
7593 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
7594 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
7595 (regex_compile): In handle_interval, return an error rather than try to
7596 unfetch the interval if we can't find the closing brace.
7597 Obey the RE_NO_GNU_OPS syntax bit.
7598 (TOLOWER): New macro.
7599 (regcomp): Use it.
7600 (regexec): Allocate regs.start and regs.end as one block.
7601
5226a931
GM
76022000-08-30 Gerd Moellmann <gerd@gnu.org>
7603
868dd24b
GM
7604 * xdisp.c (echo_area_display): Check display_completed instead
7605 of calling detect_input_pending.
7606
7607 * dispnew.c (update_frame): Only set display_completed here; move
7608 the update_begin and update_end calls here from update_frame_1.
7609 (update_frame_1): Don't set display_completed here, don't call
7610 update_begin/update_end.
7611
5226a931
GM
7612 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
7613 instead of store_frame_param.
7614
2a8bd25f
GM
76152000-08-29 Gerd Moellmann <gerd@gnu.org>
7616
7617 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
7618 desired window matrix hasn't been displayed, use the current row
7619 instead. Make sure that only those frame rows are updated for
7620 which there exists a corresponding enabled desired row.
52283633 7621
ba3478d9
MB
76222000-08-29 Miles Bader <miles@gnu.org>
7623
7624 * xfaces.c (default_face_vector): New function.
7625 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
7626
87d0f685
GM
76272000-08-29 Gerd Moellmann <gerd@gnu.org>
7628
7629 * lread.c (openp): Prevent temporary string passed to
7630 Ffile_readable_p from being garbage collected.
7631
6fa86045
DL
76322000-08-28 Dave Love <fx@gnu.org>
7633
7634 * keymap.c (store_in_keymap): Add `static' to declaration.
7635
bb17930d
GM
76362000-08-28 Gerd Moellmann <gerd@gnu.org>
7637
7638 * emacs.c, callint.c, doc.c, editfns.c
7639 (toplevel) [HAVE_STRING_H]: Include string.h.
7640 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
7641 (index): Remove prototypes which might conflict with non-standard
7642 definitions of index/strchr.
7643
7644 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
7645 (rindex): Define only if !HAVE_RINDEX.
7646
7647 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
7648
7649 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
7650
87188200
MB
76512000-08-28 Miles Bader <miles@gnu.org>
7652
7653 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
7654 made inconsistent by a font-related attribute in FROM.
7655 (merge_face_inheritance): Add function comment.
7656
41a68aef
KH
76572000-08-28 Kenichi Handa <handa@etl.go.jp>
7658
7659 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
7660 the 4th arg (PREV_EVENT) Qt to suppress input method.
7661
f7c436c1
SM
76622000-08-27 Stefan Monnier <monnier@cs.yale.edu>
7663
0b32bf0e
SM
7664 * regex.c: Indent cpp directives and remove parens after `defined'.
7665 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
7666 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
7667 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
7668 (re_compile_pattern): Use size_t for length.
7669 (init_syntax_once): Move to a better place.
7670 * regex.h: Merge changes from GNU libc. Indent cpp directives.
7671 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
7672
f7c436c1
SM
7673 * syntax.c (back_comment): Detect cases where a comment-starter is
7674 actually inside another comment as in: /* a // b */ c // d \n.
7675 Make it clear that `comstart_pos' is unused for nested comments.
7676
7677 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
7678 (KEYMAPP): New macro.
7679 (Fkeymap_parent, Fset_keymap_parent): Use it.
7680 (fix_submap_inheritance): Mark it static.
7681 (define_as_prefix, describe_buffer_bindings, describe_command)
7682 (describe_translation, describe_map): Complete prototypes.
7683
7684 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
7685
7686 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
7687 to better match the key-lookup behavior.
7688
6288c62f
GM
76892000-08-27 Gerd Moellmann <gerd@gnu.org>
7690
7691 * xfaces.c (lface_fully_specified_p): Handle :inherit.
7692 (Finternal_set_lisp_face_attribute): Fix typo in error message.
7693
e931344e
EZ
76942000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
7695
7696 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
7697 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
7698 (xterm.o): Depend on coding.h
7699
d10dfeef
KH
77002000-08-26 Kenichi Handa <handa@etl.go.jp>
7701
7702 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
7703 the corresponding '#endif'.
7704
2d73e8d3
MB
77052000-08-26 Miles Bader <miles@gnu.org>
7706
7707 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
7708 * xfaces.c (QCinherit): New variable.
7709 (syms_of_xfaces): Initialize it.
7710 (LFACE_INHERIT): New macro.
7711 (Finternal_get_lisp_face_attribute)
52283633 7712 (merge_face_vector_with_property)
2d73e8d3
MB
7713 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
7714 (check_lface_attrs): Allow new types of face height. Check
7715 inherit attribute.
7716 (CYCLE_CHECK): New macro.
7717 (merge_face_inheritance): New function.
7718 (merge_face_vectors): Merge inherited faces too. Add F and
7719 CYCLE_CHECK arguments.
7720 (merge_face_vector_with_property, Finternal_merge_in_global_face)
7721 (lookup_named_face, lookup_derived_face, realize_named_face)
7722 (face_at_string_position, face_at_buffer_position): Supply
7723 new F and CYCLE_CHECK arguments to merge_face_vectors.
7724 (merge_face_heights): New function.
52283633 7725 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
7726 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
7727 handle relative face heights.
7728 (lface_same_font_attributes_p): Compare heights using EQ.
7729
6ce974d4
KH
77302000-08-26 Kenichi Handa <handa@etl.go.jp>
7731
7732 * charset.c (char_to_string): Check the character validity.
52283633 7733 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 7734
dc1e502d
SM
77352000-08-25 Stefan Monnier <monnier@cs.yale.edu>
7736
7737 * regex.c (PUSH_FAILURE_COUNT): New macro.
7738 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
7739 Handle popping of a register's or a counter's data.
7740 (POP_FAILURE_POINT): Use the new name.
7741 (re_match_2_internal): Push counter data on the stack for succeed_n,
7742 jump_n and set_number_at and remove misleading dead code in succeed_n.
7743
bd9d0f3f
GM
77442000-08-25 Gerd Moellmann <gerd@gnu.org>
7745
7746 * xdisp.c (redisplay_internal): If considering all windows on all
7747 frames, update the display for each frame as soon as possible,
7748 instead of first building all desired matrices for all frames, and
7749 then updating them all.
7750 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
7751
aa5b8e15
GM
77522000-08-24 Gerd Moellmann <gerd@gnu.org>
7753
17494071
GM
7754 * bytecode.c (mark_byte_stack): Add a comment.
7755
52283633
SM
7756 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
7757 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
7758 a graphical frame.
7759
c543db81
KH
77602000-08-24 Kenichi Handa <handa@etl.go.jp>
7761
d246d5f5
KH
7762 * minibuf.c (do_completion): Always use compare-string, not
7763 string-equal because the latter doesn't pay attention to
7764 multibyteness of strings.
7765
c543db81
KH
7766 * process.c (create_process): Don't setup raw-text coding here.
7767 (Fopen_network_stream): Don't set coding->src_multibyte and
7768 coding->dst_multibyte here.
7769 (read_process_output): For process filter, return unibyte string
7770 if default-enable-multibyte-characters is nil.
7771 (send_process): If OBJECT is multibyte text, be sure to encoded it
7772 by the specified coding system for the process. Otherwise, setup
7773 raw-text coding.
52283633 7774 (init_process): Don't initialize default-process-coding-system here.
c543db81 7775
9b47cfe0
EZ
77762000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
7777
7778 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
7779 <scroll-down-aggressively>: Likewise.
7780
f5a36960
KH
77812000-08-23 Kenichi Handa <handa@etl.go.jp>
7782
7783 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
7784 zero. Set coding->produced_char correctly.
7785
69a7ffa7
AI
77862000-08-22 Andrew Innes <andrewi@gnu.org>
7787
7788 * makefile.w32-in: New file.
7789
7790 * unexw32.c (unexec): Ignore old_name, and use the actual location
7791 of the current executable instead. Base new_name on this.
7792
7793 * w32proc.c (create_child): Remove reference to security
7794 descriptor, which isn't needed and doesn't compile with mingw32.
7795
7796 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7797 up dllimport attributes.
7798 (x_update_window_end): Update prototype.
7799
7800 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
7801 extern, which screws up dllimport attributes.
7802
7803 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7804 up dllimport attributes.
7805
7806 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
7807 screws up dllimport attributes.
7808
7809 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7810 up dllimport attributes.
7811 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
7812 screws up dllimport attributes.
7813
7814 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7815 up dllimport attributes.
7816
7817 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
7818 screws up dllimport attributes.
7819
7820 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
7821 screws up dllimport attributes.
7822
7823 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7824 up dllimport attributes.
7825
7826 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
7827 unnecessary extern, which screws up dllimport attributes.
7828 (main): Ditto.
7829
7830 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7831 up dllimport attributes.
7832
7833 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
7834 unnecessary extern, which screws up dllimport attributes.
7835
7836 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
7837 screws up dllimport attributes.
7838
7839 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7840 up dllimport attributes.
7841
7842 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
7843
52283633
SM
7844 * w32bdf.c (search_file_line):
7845 (set_bdf_font_info):
7846 (seek_char):
7847 (w32_get_bdf_glyph):
69a7ffa7
AI
7848 (w32_BDF_to_x_font): Fix compile warnings.
7849
52283633 7850 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
7851
7852 * w32select.c: Include keyboard.h before frame.h.
7853
7854 * w32fns.c (max): Define macro.
7855 (JOHAB_CHARSET): Define if not known.
7856 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
7857 (Fx_show_tip): Synch with X version.
7858
7859 * w32xfns.c: Include keyboard.h before frame.h.
7860
7861 * w32fns.c: Include keyboard.h before frame.h.
7862
7863 * w32term.c: Include keyboard.h before frame.h.
7864
7865 * fontset.c: Include keyboard.h before frame.h.
7866
7867 * w32inevt.c: Include keyboard.h before frame.h.
7868 (MOUSE_MOVED): Define if not known.
7869
7870 * minibuf.c: Include keyboard.h before frame.h.
7871
7872 * keyboard.c: Include keyboard.h before frame.h.
7873
7874 * indent.c: Include keyboard.h before frame.h.
7875
7876 * dispnew.c: Include keyboard.h before frame.h.
7877
7878 * buffer.c: Include keyboard.h before frame.h.
7879
7880 * alloc.c: Include keyboard.h before frame.h.
7881
7882 * print.c: Include keyboard.h before frame.h.
7883
7884 * process.c: Include keyboard.h before frame.h.
7885
7886 * scroll.c: Include keyboard.h before frame.h.
7887
7888 * sysdep.c: Include keyboard.h before frame.h.
7889
7890 * term.c: Include keyboard.h before frame.h.
7891
7892 * window.c: Include keyboard.h before frame.h.
7893
7894 * xdisp.c: Include keyboard.h before frame.h.
7895 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
7896
7897 * frame.c: Include keyboard.h before frame.h.
7898
7899 * w32heap.h: Undefine min, max.
7900
7901 * w32gui.h: Undefine min, max.
7902
7903 * unexw32.c: Change PUCHAR to PCHAR.
7904 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
7905 (relocate_offset):
7906 (get_section_info):
69a7ffa7
AI
7907 (copy_executable_and_dump_data): Remove unnecessary static defs.
7908 (copy_executable_and_dump_data): Fix compile warnings.
7909
7910 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
7911
7912 * w32console.c (min): Define macro.
7913 (clear_frame, write_glyphs): Fix compile warning.
7914
52283633 7915 * w32proc.c (compare_env):
69a7ffa7
AI
7916 (find_child_console): Fix compile warning.
7917
7918 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
7919 sys_errlist instead of _sys_errlist.
7920 (get_emacs_configuration_options): New function.
7921
7922 * s/ms-w32.h (sys_nerr): Provide default definition.
7923 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
7924 name with _ prepended.
7925 (NSIG): Define if not known.
7926 (get_emacs_configuration): Provide extern declaration.
7927 (get_emacs_configuration_options): Provide extern declaration.
7928 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
7929
7930 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 7931 (map_w32_filename):
69a7ffa7
AI
7932 (read_unc_volume): Fix compile warning.
7933
7934 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
7935 definitions from being used.
7936
7937 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
7938
52283633 7939 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
7940 (open_unc_volume): Make arg const.
7941
7942 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
7943 (read_input_waiting): Remove excess parameter.
7944
7945 * w32.c (init_environment): Call _access.
7946 (check_windows_init_file): Call _close.
7947 (init_user_info): Call _putenv.
7948 (init_environment): Call _putenv and _strdup.
7949 (init_ntproc): Reset volume info cache on startup.
7950
7951 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
7952 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
7953 cannot override the CRT malloc.
7954
7955 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
7956 (LINK_FLAGS): Append to original value of LINK_FLAGS.
7957
7958 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
7959 unless we are linking with a static CRT.
7960 (RVA_TO_PTR): Cast result to unsigned char*.
7961
7962 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
7963 (add_volume_info): Use xstrdup.
7964
25060080
SM
79652000-08-22 Stefan Monnier <monnier@cs.yale.edu>
7966
7967 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
7968 (do_completion, Fminibuffer_complete_word): Use it.
7969 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
7970 var so it can take non-boolean values.
7971
6917e6bb
GM
79722000-08-21 Gerd Moellmann <gerd@gnu.org>
7973
acb7cc89 7974 * editfns.c (find_field): Formatting changes.
52283633 7975 (toplevel): Some old-style function forward declarations
acb7cc89
GM
7976 changed to prototypes, some new protypes added, some functions
7977 made static.
7978
7979 * lisp.h (set_time_zone_rule): Add prototype.
7980 (use_dialog_box): External declaration.
7981
0bbfdc25
GM
7982 * keyboard.c (gen_help_event): Add parameter SIZE.
7983 (kbd_buffer_events_waiting): Slightly rewritten.
7984 (clear_event): New function.
7985 (kbd_buffer_get_event): Use it, and clear the input_events of
7986 HELP_EVENTs.
7987 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
7988 don't fill the newly created array with nils.
7989 (toplevel): Convert some old-style function forward declarations
7990 to prototypes.
7991
7992 * keyboard.h (gen_help_event): Change prototype.
7993
7994 * xterm.c (XTread_socket): Change calls to gen_help_event.
7995
7996 * w32term.c (w32_read_socket): Change calls to gen_help_event.
7997
6917e6bb
GM
7998 * eval.c (Fmacroexpand): Doc fix.
7999
e5cd3d11
JR
80002000-08-20 Jason Rumney <jasonr@gnu.org>
8001
8002 * w32term.h (x_display_info_for_display): Remove as this function
8003 does not exist on W32.
8004
8005 * w32term.c (help_echo_window): New variable.
8006 (syms_of_w32term): staticpro it.
8007 (note_mode_line_highlight): Set it.
8008 (XTextExtents16): Removed as there is no equivalent on W32.
8009 (x_compute_glyph_string_overhangs): Incomplete body removed, as
8010 the X way of doing this will not work for W32.
8011 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
8012 (x_draw_image_foreground): Avoid drawing outside of the clip area
8013 when image doesn't have a mask.
8014 (note_mouse_highlight): Process overlays in the right order of
8015 priority. Set help_echo_window.
8016 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
8017 because that's more visible for large images.
8018
8019 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
8020 name to single_keymap_panes.
8021 (w32_menu_show): Set wv->title when dealing with titles.
8022 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
8023
6e69ab8c
MB
80242000-08-21 Miles Bader <miles@gnu.org>
8025
8026 * minibuf.c (do_completion): Try again if we rewrite the input
8027 string, but no completion was done, so that any completion message
8028 will be correct.
8029
511bd4eb
GM
80302000-08-20 Gerd Moellmann <gerd@gnu.org>
8031
8032 * xfaces.c (lface_equal_p): Compare strings differently.
8033 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
8034 (realize_tty_face): Use them.
8035 (syms_of_xfaces): Initialize new variables.
8036 (map_tty_color): New function, extracted from realize_tty_face.
8037 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
8038 foreground or background color, store the new color name in the
8039 realized face; previous code trying to do this had no effect.
8040 (realize_tty_face): Use map_tty_color.
8041 (Fclear_face_cache): Set face_change_count and ensure thorough
8042 redisplay.
8043
1433385f
GM
80442000-08-19 Gerd Moellmann <gerd@gnu.org>
8045
511bd4eb
GM
8046 * undo.c (record_first_change, record_marker_adjustment): Don't
8047 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 8048
419ac0a2
KH
80492000-08-18 Kenichi Handa <handa@etl.go.jp>
8050
8051 * coding.c (decode_coding_string): Set members consumed,
8052 consumed_char, produced, produced_char of *coding correctly. If
8053 decode_coding doesn't consume any byte, don't try anymore.
8054 (encode_coding_string): Likewise.
8055
7eb9e30d
GM
80562000-08-18 Gerd Moellmann <gerd@gnu.org>
8057
511bd4eb
GM
8058 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
8059 conditional have void type, for Standard C compilers.
7eb9e30d
GM
8060
8061 * xdisp.c (redisplay_internal): Compare windows for equality with
8062 EQ, instead of applying XWINDOW to something that might not
8063 be a window.
52283633 8064
dd34a735
KH
80652000-08-18 Kenichi Handa <handa@etl.go.jp>
8066
8067 * fontset.c (Finternal_char_font): Search only the selected frame
8068 for a window of the current buffer.
8069
385ff9e3
GM
80702000-08-18 Gerd Moellmann <gerd@gnu.org>
8071
511bd4eb 8072 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
8073 Lisp_Objects.
8074
385ff9e3
GM
8075 * keyboard.c (kbd_buffer_get_event): Handle the case that the
8076 second half of a HELP_EVENT is found at the start of kbd_buffer.
8077
d6abb4c7
MB
80782000-08-18 Miles Bader <miles@gnu.org>
8079
4618074a
MB
8080 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
8081
d6abb4c7
MB
8082 * editfns.c (save_restriction_save): Rewrite to use markers.
8083 (save_restriction_restore): Rewrite to understand new form of data
8084 saved by save_restriction_save.
8085 (Fsave_restriction): Remove cautionary note in doc-string.
8086
a7b28523
GM
80872000-08-17 Gerd Moellmann <gerd@gnu.org>
8088
8089 * fileio.c (build_annotations): Add a comment explaining the
8090 return value of format-annotate-function. Replace a spurious call
8091 to Flength with a CONSP test. Call format-annotate-function with
8092 a fifth arg specifying how many times the function is been called
8093 in a row, to let it choose temporary buffers appropriately.
8094
03c9ed77
DL
80952000-08-17 Dave Love <fx@gnu.org>
8096
8097 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
8098 declare make_temp_name twice.
8099
52283633 8100 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
8101 (unreadpure): Give it an arg.
8102
8103 * unexalpha.c: Prototype fatal_unexec, mark_x,
8104 update_dynamic_symbols. Declare unexec as void.
8105
8106 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
8107 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
8108
8109 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 8110 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
8111
8112 * alloca.c: Use #error.
8113 [POINTER_TYPE]: Use it.
8114
8115 * eval.c (Fdefvar): Doc fix.
8116
8117 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
8118 INITIALIZE_INTERVAL.
8119
8120 * buffer.h: Avoid DECLARE_INTERVALS.
8121
8122 * config.in: Add size_t.
8123
aae41d97
EZ
81242000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
8125
8126 * w16select.c (set_clipboard_data): If there's not enough memory
8127 to put text into clipboard, return 1, as Fw16_set_clipboard_data
8128 expects. In case of other failures, return 3.
8129 (system_error_msg): New error message.
8130 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
8131 system_error_msg.
8132
65aa5e85
GM
81332000-08-16 Gerd Moellmann <gerd@gnu.org>
8134
8135 * term.c (write_glyphs): Also turn off inverse video after turning
8136 off other appearances in case TS_exit_attribute_mode is not equal
8137 to TS_end_standout_mode.
8138 (insert_glyphs): Turn inverse video on/off for each run of glyphs
8139 with the same face.
8140 (turn_off_face): Reset standout_mode only if
8141 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
8142 is equal to TS_end_standout_mode.
8143
ece23901
KH
81442000-08-16 Kenichi Handa <handa@etl.go.jp>
8145
9d7bcb2e
KH
8146 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
8147 sequence at the end of the source block.
8148
ece23901
KH
8149 * ccl.c (Fccl_program_p): Docstring modified.
8150 (Fccl_execute): Likewise.
8151 (Fccl_execute_on_string): Likewise.
8152
5e30eaa2
EZ
81532000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
8154
8155 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
8156
290602fd
KH
81572000-08-16 Kenichi Handa <handa@etl.go.jp>
8158
8159 The following changes are mainly to fix bugs of
8160 encode/decode-coding-string failing if encoding/decoding return
8161 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
8162 variable conversion_buffer.
8163
8164 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
8165 decrement dst_end to avoid buffer overflow in the later call of
8166 string_as_multibyte
8167
8168 * coding.h (conversion_buffer_size, conversion_buffer)
8169 (get_conversion_buffer): Extern deleted.
8170
8171 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
8172 (conversion_buffer, conversion_buffer_size): Variables deleted.
8173 (get_conversion_buffer): Function deleted.
8174 (struct conversion_buffer): New structure.
8175 (MAX_ALLOCA): New macro.
8176 (allocate_conversion_buffer): New macro.
8177 (extend_conversion_buffer, free_conversion_buffer): New functions.
8178 (ccl_coding_driver): Set coding->result.
8179 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
8180 this is the last block of source.
8181 (encode_coding): Likewise. Handle the source block as the last
8182 one only when the whole source text is consumed.
8183 (decode_coding_string): Handle the case that the output buffer is
8184 too small to decode the whole source text. Use
8185 allocate_conversion_buffer, extend_conversion_buffer and
8186 free_conversion_buffer, not get_conversion_buffer.
8187 (encode_coding_string): Likewise.
8188 (init_coding): Function deleted.
52283633 8189 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
8190
8191 * emacs.c (main): Don't call init_coding.
8192
52283633 8193 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
8194
8195 * term.c (write_glyphs): Use a locally declared conversion_buffer.
8196 (insert_glyphs): Likewise.
8197
8198 * w32console.c (write_glyphs): Use a locally declared
8199 conversion_buffer.
8200
b9f80d41
EZ
82012000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
8202
8203 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
8204 member of display_info is NULL.
8205
32dc52f7
GM
82062000-08-15 Gerd Moellmann <gerd@gnu.org>
8207
52283633 8208 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 8209
32dc52f7 8210 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 8211 appearances with capability `me'.
32dc52f7
GM
8212 (write_glyphs): Switch on inverse video before each face change.
8213
4eb22d33
DL
82142000-08-14 Dave Love <fx@gnu.org>
8215
8216 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
8217 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
8218 (lisp_free): Declare and make static.
8219
8220 * window.c: Fix embedded comment.
8221 (syms_of_window): Fix doc string.
8222
90cbf47e
GM
82232000-08-14 Gerd Moellmann <gerd@gnu.org>
8224
52283633 8225 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
8226 make sure to print `C-' before `M-', like in the manual.
8227
440fc135
GM
82282000-08-11 Gerd Moellmann <gerd@gnu.org>
8229
8230 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
8231 since they aren't relocated anymore.
52283633 8232 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
8233
8234 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 8235 partially visible line which is smaller than the window's height.
440fc135 8236
6e264fad
KH
82372000-08-11 Kenichi Handa <handa@etl.go.jp>
8238
8239 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 8240 the multibyte form of eight-bit-control characters.
6e264fad
KH
8241 (Fccl_execute_on_string): Initialize ccl->multibyte.
8242
8243 * ccl.h (struct ccl_program): New member multibyte.
8244
8245 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
8246
c371f69a
KH
82472000-08-11 Kenichi Handa <handa@etl.go.jp>
8248
8249 * regex.c (regex_compile) <normal_char>: Pay attention to
8250 multibyteness.
8251 (analyse_first) <exactn>: Setup fastmap correctly for
8252 eight-bit-control characters.
8253
82542000-08-11 Kenichi Handa <handa@etl.go.jp>
8255
52283633 8256 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
8257
8258 * keyboard.c (make_lispy_event): Handle the new event type
8259 multibyte_char_keystroke.
8260
8261 * xterm.c: Include coding.h.
8262 (XTread_socket): Work around a bug of XmbLookupString. If the
8263 input is from XIM, decode it according to the current locale. In
8264 that case, generate multibyte_char_keystroke events.
8265
b8ddbe71
KH
82662000-08-11 Kenichi Handa <handa@etl.go.jp>
8267
8268 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
8269 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
8270
47589c8c
GM
82712000-08-10 Gerd Moellmann <gerd@gnu.org>
8272
8273 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
8274 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
8275 (move_it_in_display_line_to): Record iterator's ascent and descent
8276 before producing glyphs, and restore them when we know the glyph
8277 doesn't fit on the line.
8278 (move_it_to): Restructured so that it's easier to debug. If
8279 moving to a vpos, and not moving to an x or character position,
8280 stop as soon as the specified vpos is reached; don't move further
8281 into that line because that might change the computed line height.
8282 (try_cursor_movement): New function, extracted from the cursor
8283 movement branch of redisplay_window. If ending on a partially
8284 visible line, don't try to scroll if the cursor line is taller
8285 than the window.
8286 (redisplay_window): Use try_cursor_movement.
8287
8288 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
8289 because that function doesn't cope with variable-height lines.
8290
8291 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
8292 box cursor because that's better visible for large images.
52283633 8293
c51bacd6
MB
82942000-08-10 Miles Bader <miles@gnu.org>
8295
8296 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
8297
bea56df7
GM
82982000-08-10 Gerd Moellmann <gerd@gnu.org>
8299
8300 * xdisp.c (Vmessages_buffer_name): New variable.
8301 (message_dolog): Use it.
8302 (syms_of_xdisp): Initialize it.
8303
99cd7364
EZ
83042000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
8305
52283633 8306 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
8307 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
8308 redundant now that keyboard.h is included.
8309
7d093d56
EZ
83102000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
8311
8312 * keyboard.c (kbd_buffer_events_waiting): New function.
8313
8314 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
8315
8316 * msdos.c: Include keyboard.h.
8317 (XMenuActivate): Empty no_event events from the event buffer. If
8318 no events are left after that, call clear_input_pending.
8319 (mouse_clear_clicks): New function, code moved from mouse_init.
8320 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
8321 mouse driver to ``forget'' any past clicks.
8322
8323 * Makefile.in (msdos.o): Depend on keyboard.h.
8324
41e757a6
GM
83252000-08-09 Gerd Moellmann <gerd@gnu.org>
8326
8e7bd231
GM
8327 * lisp.h (input_pending): External declaration.
8328
8329 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 8330
8e7bd231
GM
8331 * xdisp.c (echo_area_display): Display thoroughly if input is
8332 pending. Bind redisplay-dont-pause to t during the redisplay.
8333 in case input is pending.
8334
8335 * dispnew.c (Qredisplay_dont_pause): New variable.
8336 (syms_of_display): Initialize and staticpro it.
8337 (update_frame_1): Don't interrupt the display for pending input if
8338 redisplay_dont_pause is set.
52283633 8339
43028b7e
GM
8340 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
8341
41e757a6
GM
8342 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
8343
2f2174fa
KH
83442000-08-09 Miles Bader <miles@lsi.nec.co.jp>
8345
8346 * callproc.c (Fcall_process): Terminate the unwind-protect around
8347 the post-read-conversion of coding system.
8348
0a6fd67e
MB
8349 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
8350 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
8351 * buffer.h (overlays_at): Update prototype.
8352 * xdisp.c (next_overlay_change): Update call to overlays_at.
8353 * xfaces.c (face_at_buffer_position): Likewise.
8354 * textprop.c (Fget_char_property): Likewise.
8355 * xterm.c (note_mouse_highlight): Likewise.
8356
0c80756e
MB
8357 * minibuf.c (do_completion): Don't consider a simple change of
8358 case as `completion'.
8359
975f250a
KR
83602000-08-08 Ken Raeburn <raeburn@gnu.org>
8361
52283633 8362 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
8363 * undo.c (record_delete): Make sure last_point_position_buffer is
8364 a buffer before comparing pointers.
8365
8366 * coding.h (decode_coding_string): Declare.
8367
8368 * intervals.h (Fprevious_single_char_property_change): Declare.
8369
8370 * textprop.c (Fprevious_single_char_property_change): Don't do
8371 arithmetic directly on lisp objects.
8372
52283633 8373 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
8374
8375 * keyboard.h (menu_item_eval_property): Declare.
8376
8377 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
8378 reuse as buffer name, instead of recreating (and discarding) every
8379 time a message is logged.
8380 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
8381 (current_message_1, truncate_message_1, set_message_1)
8382 (display_echo_area_1, resize_mini_window_1): Signatures changed.
8383 (current_message, truncate_echo_area, display_echo_area)
8384 (resize_echo_area_axactly): Changed calls.
b347b3fd 8385
975f250a 8386 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 8387 Lisp object.
975f250a 8388 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 8389 must be an integer, not a Lisp object.
975f250a 8390
46dc9912
KH
83912000-08-08 Kenichi Handa <handa@etl.go.jp>
8392
8393 * charset.c (Fchar_width): Doc fix.
8394
9f6d1a6c
GM
83952000-08-08 Gerd Moellmann <gerd@gnu.org>
8396
8397 * charset.c (Fstring_width): Doc fix.
8398
ff3d9573
GM
83992000-08-07 Gerd Moellmann <gerd@gnu.org>
8400
41e757a6 8401 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
8402 line, clear ascent and descent members of the iterator structure;
8403 the height of the continued line does not affect the height of the
8404 continuation line.
8405 (make_cursor_line_fully_visible): Do nothing if cursor is on a
8406 line taller than the window.
8407 (redisplay_window) <forced window start>: Handle case that the
8408 middle of the window is not found in any row.
8409 (dump_glyph_row): Show more information.
8410 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
8411 first text line in a glyph matrix.
8412
8413 * xterm.c (x_draw_image_foreground): Avoid drawing outside
8414 of the clip area when image doesn't have a mask.
8415
70fc58b3
GM
8416 * fns.c (sweep_weak_table): Fix survival conditions for
8417 key-or-value and key-and-value weakness.
8418
8419 * .gdbinit (xhashtable): New command.
8420
ac0e96ee
GM
8421 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
8422 tables out of the list of all weak hash tables.
8423
ff3d9573
GM
8424 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
8425 a new buffer is created, make sure echo_area_buffer[] references
8426 the new buffer.
8427
e0d8827b
EZ
84282000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
8429
8430 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
8431 the doc string.
8432
c6f35378
KH
84332000-08-07 Kenichi Handa <handa@etl.go.jp>
8434
8435 * syntax.c (skip_chars): Fix previous change. Make the handling
8436 of unibyte string consistent with that of regex search.
8437
1fd4c450
GM
84382000-08-05 Gerd Moellmann <gerd@gnu.org>
8439
e49aa397
GM
8440 * xmenu.c (popup_get_selection): Use xfree instead of free.
8441
8442 * fileio.c (Finsert_file_contents): Use xfree instead of free.
8443
8444 * editfns.c (Ftranspose_regions): Use xfree instead of free.
8445
8446 * callproc.c (child_setup): Use xfree instead of free.
8447
8448 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
8449 instead of malloc.
8450 (run_mac_command, closedir): Use `xfree' instead of `free'.
8451
8452 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
8453
8454 * eval.c (error): Use xfree instead of free.
8455
1fd4c450
GM
8456 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
8457
8458 * fns.c: Replace `illegal' with `invalid'.
e49aa397 8459 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 8460
82d497fc
KH
84612000-08-05 Kenichi Handa <handa@etl.go.jp>
8462
8463 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
8464 conversion.
8465
59f953a2
NF
84662000-08-04 Noah Friedman <friedman@splode.com>
8467
8468 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
8469 docstring.
8470
688351f2
GM
84712000-08-04 Gerd Moellmann <gerd@gnu.org>
8472
8473 * syntax.c (skip_chars): Fix typo in error message.
8474
2dad51cc
AS
84752000-08-04 Andreas Schwab <schwab@suse.de>
8476
8477 * m/ia64.h: Moved from s/ia64.h.
8478
99bb2c60
KH
84792000-08-04 Kenichi Handa <handa@etl.go.jp>
8480
082a1df2
KH
8481 * process.c (read_process_output): Big simplification. Handle
8482 composition and post-read-conversion of coding system correctly.
8483 (send_process): Handle composition correctly.
8484
8485 * callproc.c (Fcall_process): Handle post-read-conversion of
8486 coding system if any.
8487
99bb2c60
KH
8488 * coding.c (decode_coding_iso2022): More strict check for handling
8489 single shifting.
082a1df2
KH
8490 (coding_restore_composition): Pay attention to the case that
8491 cmp_data is not set properly (because of invalid code in the
8492 source text).
8493 (run_pre_post_conversion_on_str): Include text properties in the
8494 resulting string.
8495 (decode_coding_string): Set members of coding correctly.
99bb2c60 8496
f4988be7
GM
84972000-08-03 Gerd Moellmann <gerd@gnu.org>
8498
8499 * s/ia64.h: New file.
8500
8501 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
8502 Use NULL instead of 0 at the end of variable argument list of
8503 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
8504 sizeof (int) < sizeof (void *).
8505
8506 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
8507 of variable argument lists of XtVaGetValues and XtVaSetValues.
8508
8509 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
8510 variable argument lists of XtVaGetValues and XtVaSetValues.
8511
ead53494
GM
85122000-08-02 Gerd Moellmann <gerd@gnu.org>
8513
8514 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
8515 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
8516
8517 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
8518 prototype.
8519
8520 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
8521 in call to Fsingle_key_description.
8522
8523 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
8524 Callers changed.
8525
85262000-08-02 Colin Walters <walters@cis.ohio-state.edu>
8527
8528 * window.c (display_buffer_reuse_frames): New variable.
8529 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
8530 frames displaying BUFFER.
52283633 8531 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 8532
10b0f752
MB
85332000-08-01 Miles Bader <miles@gnu.org>
8534
8535 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
8536 when to constrain NEW_POS (they were pretty screwed up before).
8537
16425c4a
EZ
85382000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
8539
8540 * msdos.c (run_msdos_command): Save and restore the master
8541 environment, for the case that child_setup signals an error.
8542 When mirroring slashes in DOS shell commands, don't fail when
8543 argv[2] has embedded blanks.
da288c14
EZ
8544 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
8545 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
8546 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
8547
8548 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
8549 using alloca; free it after run_msdos_command returns.
8550
27f73852
DL
85512000-07-27 Dave Love <fx@gnu.org>
8552
52283633
SM
8553 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
8554 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
8555
8556 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
8557
c0261b5e
EZ
85582000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
8559
8560 * editfns.c (lisp_time_argument): Fix last change.
8561
b548072f
GM
85622000-07-27 Gerd Moellmann <gerd@gnu.org>
8563
3ab82477
GM
8564 * fns.c (Fdelete): Make it work on vectors and strings in addition
8565 to lists.
8566
b548072f
GM
8567 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
8568 (syms_of_fns): Initialize new variables.
52283633 8569 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
8570 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
8571 weakness, with t meaning the same as `key-and-value'.
8572
91ae8751
KH
85732000-07-27 Kenichi Handa <handa@etl.go.jp>
8574
8575 * coding.h (struct coding_system): Member safe_charset deleted.
8576
8577 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
8578 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
8579 New variables.
91ae8751
KH
8580 (coding_safe_chars): New function.
8581 (CODING_SAFE_CHAR_P): New macro.
8582 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 8583 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
8584 (detect_coding_iso2022): New local variable safe_chars.
8585 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
8586 safe_charsets member of the coding system.
8587 (decode_coding_iso2022): New local variable safe_chars.
8588 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
8589 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
8590 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
8591 (ENCODE_UNSAFE_CHARACTER): New macro.
8592 (encode_coding_iso2022): New local variable safe_chars. Check
8593 unsafe chars.
8594 (setup_coding_system): Delete the code to initialize
8595 coding->safe_charses
8596 (intersection, find_safe_codings): New functions.
8597 (Ffind_coding_systems_region_internal): New function.
8598 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
8599 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
8600 variable and initialize it.
8601
8602 * fns.c (char_table_ref_and_index): New function.
8603
8604 * lisp.h (char_table_ref_and_index): Add prototype.
8605
34a7a267
SS
86062000-07-26 Sam Steingold <sds@gnu.org>
8607
8608 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 8609 (Ffloat_time): New built-in Lisp function.
34a7a267 8610
a95cb10a
GM
86112000-07-26 Gerd Moellmann <gerd@gnu.org>
8612
3353ef5a
GM
8613 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
8614 for the character code.
8615
8616 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
8617 GNU/Linux.
8618
a95cb10a
GM
8619 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
8620 if called for a popup menu.
8621 (xmenu_show): Store help string in widget values.
8622
b4a12321
DL
86232000-07-26 Dave Love <fx@gnu.org>
8624
8625 * syswait.h: Move some definitions.
8626 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
8627 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
8628 perspicuous definitions.
8629 (WTERMSIG): Fix bit pattern used.
8630
13f5ad37
KH
86312000-07-26 Kenichi Handa <handa@etl.go.jp>
8632
8633 * print.c (print_object): If vector printing is truncated, print
8634 "..." to indicate it as well as the case of list printing.
8635
070fe99c
GM
86362000-07-25 Gerd Moellmann <gerd@gnu.org>
8637
969065c3
GM
8638 * xdisp.c (next_element_from_display_vector): Improve comments.
8639
8640 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
8641 for the character code, and the rest for the face id as in 20.x.
8642 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
8643
8644 * window.c (window_display_table): Cleaned up.
8645
070fe99c
GM
8646 * syntax.c (Fforward_word): Add last arg nil in call of
8647 Fconstrain_to_field.
8648
bad77ef7
EZ
86492000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
8650
969065c3 8651 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
8652 identical but for the letter-case, don't call
8653 barf_or_query_if_file_exists.
bad77ef7 8654
c28da489
MB
86552000-07-25 Miles Bader <miles@gnu.org>
8656
8657 * editfns.c (find_field): Honor special `boundary' fields.
8658 (Qboundary): New variables.
8659 (syms_of_editfns): Initialize Qboundary.
8660 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
8661 Use scan_buffer instead of find_before_next_newline, because it
8662 allows us to detect the boundary case where there's a newline at
8663 the search limit.
8664 * lisp.h (Fconstrain_to_field): Update external declaration.
8665
e3c31fd5
GM
86662000-07-24 Gerd Moellmann <gerd@gnu.org>
8667
8668 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
8669 if that is nil.
c28da489 8670
c66c29a2
DL
86712000-07-24 Dave Love <fx@gnu.org>
8672
8673 * s/sunos4-0.h, s/sol2.h:
8674 (LIBS_TERMCAP): Move from m/sparc.h.
8675
8676 * m/sparc.h (TERMINFO): Moved to system files (probably only
8677 relevant for sunos4 judging by its vintage).
8678 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
8679 __arch64__.
8680
fbe0a958
EZ
86812000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
8682
8683 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
8684 name to single_keymap_panes.
8685
7d88e5c9
AS
86862000-07-24 Andreas Schwab <schwab@suse.de>
8687
8688 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
8689
e024b101
GM
86902000-07-24 Gerd Moellmann <gerd@gnu.org>
8691
8692 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
8693 parameters instead of using int parameters. Expect FN to accept
8694 EMACS_INT parameters.
8695 (display_echo_area, resize_echo_area_axactly, current_message)
8696 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
8697 with new argument list.
8698 (resize_mini_window_1): New callback function.
8699 (current_message_1, truncate_message_1, set_message_1): Change
52283633 8700 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 8701
25c1a9ce
KH
87022000-07-24 Kenichi Handa <handa@etl.go.jp>
8703
8704 * fontset.c (fontset_ref): Remove INLINE declaration.
8705 (fontset_ref_via_base): Likewise.
8706 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
8707 to downcase.
8708
7f987ac0
EZ
87092000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
8710
8711 * msdos.c (IT_note_mouse_highlight): Process overlays in the
8712 correct order of priority. If help echo was found in an overlay,
8713 use that overlay as the object in which the help echo was found.
8714
e2db3069
MB
87152000-07-22 Miles Bader <miles@gnu.org>
8716
8717 * textprop.c (Fprevious_single_char_property_change): The initial
8718 property value should be from the position preceding POSITION, not
8719 following it.
8720
5e3203e4
EZ
87212000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
8722
8723 * coding.c (syms_of_coding): Doc fix for
8724 inhibit-iso-escape-detection.
8725
62145073
GM
87262000-07-21 Gerd Moellmann <gerd@gnu.org>
8727
c20aeb83
GM
8728 * xterm.c (note_mouse_highlight): Process overlays in the right
8729 order of priority.
34a7a267 8730
743934db
GM
8731 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
8732
8733 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 8734 overlay, use that overlay as the object in which the help was found.
743934db 8735
d1dc7e43 8736 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 8737
62145073
GM
8738 * window.c (foreach_window): Instead of a fake variable argument
8739 list, take one USER_DATA argument.
8740 (foreach_window_1): Likewise, and call callback functions with two
8741 args, the window and USER_DATA.
8742 (struct check_window_data): New struct.
8743 (check_window_containing): Use it.
8744 (window_from_coordinates): Set up a struct check_window_data for
8745 foreach_window.
8746 (add_window_to_list, freeze_window_start): Change parameters
8747 according to new calling convention.
8748
8749 * window.h (foreach_window): Change prototype.
8750
8751 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
8752
87532000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
8754
8755 * xmenu.c (menu_help_callback): Call show_help_echo with
8756 additional arguments OBJECT and POS.
8757
11270583
KH
87582000-07-21 Kenichi Handa <handa@etl.go.jp>
8759
07b14857
KH
8760 * data.c (Faset): Allow storing any multibyte character in a
8761 string. Convert unibyte string to multibyte if necessary.
8762
11270583
KH
8763 * xfns.c (x_encode_text): New function.
8764 (x_set_name): Use x_encode_text.
8765 (x_set_title): Likewise.
8766
8767 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
8768
8769 * xterm.h (x_encode_text): Add prototype.
8770
bc75b4fd
DL
87712000-07-20 Dave Love <fx@gnu.org>
8772
8773 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
8774 xfree, not free.
8775
48c14970
EZ
87762000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
8777
8778 * msdos.c (help_echo_window): New variable.
8779 (syms_of_msdos): Initialize and staticpro it.
8780 (IT_note_mode_line_highlight): Set help_echo_window.
8781 (IT_note_mouse_highlight): Ditto.
8782 (dos_rawgetc): Store help_echo_window in the second event produced
8783 for HELP_EVENTs.
8784
8785 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
8786 Record the object that generated the help echo and the position of
8787 that object in help_echo_object and help_echo_pos. Record that
8788 some glyphs in a row are displayed in mouse-face.
8789 (IT_update_begin): Don't clear mouse highlight unless one of the
8790 enabled glyph rows is marked as being displayed in mouse-face.
8791 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
8792 and position recorded in help_echo_object and help_echo_pos to the
8793 event queue.
8794 (IT_menu_display): Accept a new argument PN: the pane number of
8795 the current menu pane. Record the pane number and the item
8796 number of the item which has associated help string.
8797 (XMenuActivate): Update the prototype for help_callback in
8798 function declaration. Call IT_menu_display with the current menu
8799 pane number as an additional argument. Call help_callback with
8800 two additional arguments: the pane number and the item number of
8801 the menu item associated with the help text.
8802 (help_echo_object, help_echo_pos): New variables.
8803 (syms_of_msdos): Initialize them and staticpro help_echo_object.
8804
8805 * msdos.h (XMenuActivate): Update prototype.
8806
4279296d
GM
88072000-07-19 Gerd Moellmann <gerd@gnu.org>
8808
47db06aa
GM
8809 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
8810 Add some more prototypes.
8811
8812 * xterm.c, xterm.h: Add some more prototypes.
8813
8814 * lisp.h (Fnext_single_char_property_change): Add prototype.
8815
8816 * dispnew.c (direct_output_for_insert): Remove confusing
8817 outer local variable mouse_face_overwritten_p.
8818 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
8819
4279296d
GM
8820 * alloc.c (allocate_string_data): Don't copy old string contents.
8821
670acd62
KH
88222000-07-19 Kenichi Handa <handa@etl.go.jp>
8823
8824 * coding.c (code_convert_region): Delete text properties before
8825 shrinking the conversion region.
8826
7cea38bc
GM
88272000-07-18 Gerd Moellmann <gerd@gnu.org>
8828
dc1cac59
GM
8829 * dispnew.c (update_text_area): Write the whole row if it
8830 has mouse-face in it.
8831
85a8aca9
GM
8832 * xfaces.c (face-alternative-font-family-alist): Remove
8833 DEFVAR_LISP; staticpro instead.
8834
34a7a267 8835 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
8836 new arguments.
8837
8838 * keyboard.c (show_help_echo): Add parameter WINDOW.
8839 (read_char): Call show_help_echo with window extracted from Lisp
8840 help event.
8841 (gen_help_event): Add parameter WINDOW.
8842
8843 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
8844
8845 * xterm.c (help_echo_window): New variable.
52283633 8846 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
8847 (XTread_socket): Pass help_echo_window to gen_help_event.
8848 (syms_of_xterm): Initialize and staticpro help_echo_window.
8849
f8276b77
DL
88502000-07-18 Dave Love <fx@gnu.org>
8851
52283633 8852 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 8853
088831a6
GM
88542000-07-18 Gerd Moellmann <gerd@gnu.org>
8855
3d6cd763
GM
8856 * alloc.c (allocate_string_data): If string had already data
8857 assigned, copy old contents to new string data.
8858
8859 * coding.c (syms_of_coding): Fix typo in spelling of variable
8860 `inhibit-iso-escape-detection'.
8861
088831a6
GM
8862 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
8863
8864 * Makefile.in: Add dependencies on dispextern.h.
8865 (alloca.o): Don't define malloc and define EMACS_FREE instead of
8866 `free'; both can conflict with system header files.
8867
bc8a8d55
KH
88682000-07-18 Kenichi Handa <handa@etl.go.jp>
8869
8870 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
8871 undefined.
8872
069f5950
DL
88732000-07-18 Dave Love <fx@gnu.org>
8874
8875 * window.c (Fwindow_list): Declare arg `window'.
8876
aa96c820
KH
88772000-07-18 Kenichi Handa <handa@etl.go.jp>
8878
8879 * coding.c (setup_coding_system): Don't override the explicitly
8880 specified designations.
8881
06be8d32
MB
88822000-07-15 Miles Bader <miles@gnu.org>
8883
8884 * editfns.c (char_property_eq, char_property_stickiness): Renamed
8885 from `text_property_eq' and `text_property_stickiness', respectively.
8886 (find_field, Fconstrain_to_field, char_property_eq)
8887 (char_property_stickiness): Changed to call char-property functions
8888 instead of text-property-only ones.
8889
8890 * textprop.c (Fnext_single_char_property_change): Made a subr (was
8891 `next_single_char_property_change'). Do more error checking, and
8892 cleanup limit behavior.
8893 (Fprevious_single_char_property_change): New function.
8894 (syms_of_textprop): Initialize new subrs.
8895
8896 * xdisp.c (display_prop_end, invisible_text_between_p):
8897 Call Fnext_single_char_property_change instead of
8898 next_single_char_property_change.
8899
3fddcdc3
JR
89002000-07-15 Jason Rumney <jasonr@gnu.org>
8901
8902 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
8903 after menu is finished with.
8904 (add_menu_item): Only consider wv->title as a menu title.
8905 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
8906
8907 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
8908 null title.
8909 (FONT_REGEXP): Remove unused macro, and its sub-components.
8910 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
8911
8912 * w32term.c (help_echo_object, help_echo_pos): New variables.
8913 (note_mode_line_highlight): Store additional information about the
8914 help-echo in help_echo_object and help_echo_pos. Check both
8915 `local-map' and `keymap' properties for changing the cursor
8916 (note_mouse_highlight): Store additional information about the
8917 help-echo in help_echo_object and help_echo_pos.
8918 (note_tool_bar_highlight): Set help_echo_object to nil and
8919 help_echo_pos to -1.
8920 (w32_read_socket): Use gen_help_event instead of filling
8921 input_events manually.
8922 (syms_of_w32term): Staticpro help_echo_object.
8923 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 8924 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
8925 (x_clear_mouse_face): New function.
8926 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
8927 (x_update_window_begin): No need to turn off the mouse
8928 highlight here.
8929 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 8930 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
8931 (x_fill_stretch_glyph_string): Consume runs of stretch
8932 glyphs instead of a single one.
8933 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
8934 with new argument list.
8935 (x_set_glyph_string_gc): Make sure the face's GC is valid.
8936 (x_append_glyph, x_append_composite_glyph)
8937 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
8938 changes in struct glyph starting 1999-12-27. See comments for
8939 xterm.c on 2000-07-05.
8940
178c5d9c
SS
89412000-07-14 Sam Steingold <sds@gnu.org>
8942
8943 * xfaces.c (realize_x_face): Fix the last patch:
8944 check `default_face' before dereferencing.
8945
6fe533f6
DL
89462000-07-14 Dave Love <fx@gnu.org>
8947
069f5950 8948 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 8949
dd7b81cf
KH
89502000-07-14 Kenichi Handa <handa@etl.go.jp>
8951
0693904a 8952 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 8953 default_face's fontset, not using the default fontset.
0693904a 8954
dd7b81cf
KH
8955 * coding.c (inhibit_iso_escape_detection): New variable.
8956 (syms_of_coding): Make it a Lisp variable.
8957 (detect_coding_iso2022): If inhibit_iso_escape_detection is
8958 nonzero, ignore ISO2022's escape sequence.
8959
d5aa31d8
GM
89602000-07-14 Gerd Moellmann <gerd@gnu.org>
8961
e5acf0ca
GM
8962 * alloca.c (malloc) [emacs]: Define as xmalloc.
8963
bd23a692
GM
8964 * xfns.c (Fx_show_tip): If frame parameters contain a position,
8965 use that instead of the mouse position. Add parameters DX and DY.
8966
8967 * dispextern.h (Fx_show_tip): Adjust number of parameters
8968 in prototype.
8969
9662da0b
GM
8970 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
8971 if HELP is a function, call it with OBJECT and POS as parameters
8972 to get the help to display.
8973 (gen_help_event, kbd_buffer_store_help_event): New functions.
8974 (kbd_buffer_get_event): Construct the Lisp help-event differently.
8975 (read_char): Call show_help_echo with new parameters.
8976
178c5d9c 8977 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
8978 Add prototypes.
8979
8980 * xterm.c (help_echo_object, help_echo_pos): New variables.
8981 (note_mode_line_highlight): Store additional information about the
8982 help-echo in help_echo_object and help_echo_pos. Check both
8983 `local-map' and `keymap' properties for changing the cursor
8984 (note_mouse_highlight): Store additional information about the
8985 help-echo in help_echo_object and help_echo_pos.
8986 (note_tool_bar_highlight): Set help_echo_object to nil and
8987 help_echo_pos to -1.
8988 (XTread_socket): Use gen_help_event instead of filling
8989 input_events manually.
8990 (syms_of_xterm): Staticpro help_echo_object.
8991
8992 * xmenu.c (menu_highlight_callback): Use
8993 kbd_buffer_store_help_event instead of setting up and input_event
8994 structure manually.
8995
8996 * xdisp.c (eval_form): GCPRO argument sexpr.
8997 (call_function): New function.
8998 (handle_single_display_prop): Use call_function and FUNCTIONP
8999 instead of checking whether if font_height is a symbol and
9000 using eval_form.
9001
9002 * eval.c (internal_condition_case_2): New function.
9003
9004 * lisp.h (FUNCTIONP): New macro.
9005 (internal_condition_case_2, call_function): Add prototypes.
9006
d5aa31d8
GM
9007 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
9008 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
9009 Always set `arg' member of input_events.
9010 (construct_menu_click): Unused function removed.
9011
9012 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
9013
9014 * w32term.c (construct_mouse_click, construct_mouse_wheel)
9015 (construct_drag_n_drop, x_scroll_bar_handle_click)
9016 (w32_read_socket): Always set `arg' member of input_events.
9017
9018 * keyboard.c (show_help_echo): Use eval_form. Add comment.
9019
9020 * lisp.h (eval_form): Add prototype.
9021
9022 * xdisp.c (eval_form): Make it externally visible.
9023
0f1a9b23
GM
90242000-07-13 Gerd Moellmann <gerd@gnu.org>
9025
9026 * xterm.c (x_handle_tool_bar_click): Store the frame in the
9027 frame_or_window slot of TOOL_BAR_EVENT input events instead of
9028 consing. For prefix events, store the frame in the `arg' slot of
9029 the event, otherwise store the key there.
9030 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 9031 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
9032
9033 * xmenu.c (menu_highlight_callback): Store help string in the
9034 `arg' member of the input event; don't cons.
9035 (menubar_selection_callback): Use the `arg' slot of input events
9036 to queue additional information, instead of consing.
9037
9038 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
9039
9040 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
9041 TOOL_BAR_EVENTs.
9042 (w32_read_socket): Adapt to changes in HELP_EVENTs.
9043
9044 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
9045 input events to queue additional information, instead of consing.
9046
9047 * keyboard.c (kbd_buffer_gcpro): Renamed from
9048 kbd_buffer_frame_or_window. Now used for all Lisp objects
9049 referenced from the input queue.
9050 (kbd_buffer_store_event): Always use structure assignment for
9051 copying input events. Record all Lisp objects referenced from
9052 events in kbd_buffer_gcpro.
9053 (kbd_buffer_get_event): Construct Lisp `help-echo' events
9054 differently from input events. Test for prefix menu_bar_events
9055 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
9056 event in kbd_buffer_gcpro to nil.
9057 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
9058 frame_or_window is equal to its arg member as prefix events.
9059 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
9060 used by an input event to nil.
9061 (init_keyboard): Use two times the size of the input queue
9062 for kbd_buffer_gcpro.
9063 (syms_of_keyboard): Likewise.
9064
52283633
SM
9065 * emacs.c (handle_USR2_signal, handle_USR1_signal):
9066 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
9067
9068 * termhooks.h (struct input_event): Add member `arg'.
9069 (MENU_BAR_EVENT): Renamed from menu_bar_event.
9070 (USER_SIGNAL_EVENT): Renamed from user_signal.
9071
9072 * xfaces.c (ASET): Remove definition.
9073
9074 * lisp.h (AREF, ASET, ASIZE): New macros.
9075
9076 * fontset.c (AREF, ASIZE): Remove definitions.
9077
9078 * fns.c (AREF): Remove definition.
178c5d9c 9079
0f1a9b23
GM
9080 * composite.c (AREF): Remove definition.
9081
712eaef2
GM
90822000-07-12 Gerd Moellmann <gerd@gnu.org>
9083
d8ee7803
GM
9084 * dispnew.c (redraw_overlapped_rows): Add missing local.
9085 (scrolling_window): Remove debug code.
9086
712eaef2
GM
9087 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
9088 Before scrolling, turn off a mouse-highlight in the window
9089 being scrolled.
9090
9091 * xterm.c (x_update_window_end): Add parameter
9092 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
9093 redisplay in XTframe_up_to_date.
9094 (x_clear_mouse_face): New function.
9095 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
9096
9097 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
9098 current glyph row.
9099 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
9100 it when any row is written to that contains glyphs highlighted in
9101 mouse-face.
9102 (update_window): Call the window update end hook with new
9103 parameter MOUSE_FACE_OVERWRITTEN_P.
9104 (direct_output_for_insert): Give up if row contains mouse-face.
9105
9106 * dispextern.h (struct redisplay_interface): Add parameter
9107 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
9108 (clear_mouse_face): New function pointer member.
9109
02010917
SM
91102000-07-11 Stefan Monnier <monnier@cs.yale.edu>
9111
9112 * syntax.c (back_comment): Use one switch rather than a few `if's.
9113 Obey open_paren_in_column_0_is_defun_start.
9114 When reverting to the `slow' method, try to nicely handle the case
9115 of nested comments by checking that the comment-starter we found
9116 does indeed match the comment-ender.
9117 (scan_sexps_forward, scan_sexps_forward):
9118 Ignore excessive opening parenthesis rather than throwing an error.
9119
d76c03ea
GM
91202000-07-11 Gerd Moellmann <gerd@gnu.org>
9121
9122 * doc.c (Fsubstitute_command_keys): Handle case that a GC
9123 in Fwhere_is_internal or get_keymap_1 relocates string contents.
9124
9125 * dispnew.c (direct_output_forward_char): Give up if currently
9126 displaying a message instead of the minibuffer contents.
9127
9128 * xterm.c (x_update_window_begin): No need to turn off the mouse
9129 highlight here.
9130 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9131 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
9132
9133 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
9134 compare the mouse_face_p flags of both rows.
9135
9136 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
9137
d55ead18
EZ
91382000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
9139
9140 * keyboard.c (show_help_echo): Accept additional parameter
9141 ok_to_overwrite_keystroke_echo.
9142 (read_char): Call show_help_echo with a zero
9143 ok_to_overwrite_keystroke_echo argument.
52283633 9144 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
9145 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
9146 ok_to_overwrite_keystroke_echo argument.
9147 * w32menu.c (w32_menu_display_help): Call show_help_echo with
9148 non-zero ok_to_overwrite_keystroke_echo argument.
9149
df75b1a3
GM
91502000-07-10 Gerd Moellmann <gerd@gnu.org>
9151
4b92c49a
GM
9152 * xdisp.c (try_window_id): If changes are all below what is
9153 displayed in the window, and point is in the window, we still
9154 might have to find point on the display.
9155
9156 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
9157 glyphs instead of a single one.
9158 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9159 with new argument list.
9160 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9161
df75b1a3
GM
9162 * keymap.c (get_keymap_1): Add comment that this function can GC.
9163 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
9164 comment that functions can GC.
9165 (Fset_keymap_parent): GCPRO arg KEYMAP.
9166
4314cf3e
EZ
91672000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
9168
9169 * msdos.c (XMenuActivate): After exiting the menu, restore the
9170 echo area message and erase it.
9171
ab49ce15
KH
91722000-07-10 Kenichi Handa <handa@etl.go.jp>
9173
9174 * fontset.c (Ffontset_info): Make the return value more compatible
9175 with that of Emacs 20.
9176
090a072f
GM
91772000-07-07 Gerd Moellmann <gerd@gnu.org>
9178
9179 * eval.c (Fsignal): Handle case that backtrace_list is null.
9180
f92de4a6
KH
91812000-07-07 Kenichi Handa <handa@etl.go.jp>
9182
9183 * ccl.c (Fccl_execute): Typo fixed.
9184
dd8888a1
GM
91852000-07-06 Gerd Moellmann <gerd@gnu.org>
9186
e5c81191 9187 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 9188
dd8888a1
GM
9189 * window.c (Fwindow_list): Reverse list at the end.
9190 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
9191 means allow windows on OWINDOW's frame, only.
9192 (window_loop): Simplified; use Fwindow_list.
9193
9194 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
9195
485266d0
GM
91962000-07-05 Gerd Moellmann <gerd@gnu.org>
9197
9198 * xterm.c (XTread_socket): Increment handling_signal at the start,
9199 decrement it at the end.
9200
9201 * eval.c (handling_signal): New variable.
9202 (Fsignal): Abort if handling_signal is non-zero.
9203
9204 * lisp.h (handling_signal): External declaration.
178c5d9c 9205
485266d0
GM
9206 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
9207
80fcd514
KR
92082000-07-05 Ken Raeburn <raeburn@gnu.org>
9209
9210 Sound support for NetBSD through "Linux emulation" support:
9211 * config.in (HAVE_SOUNDCARD_H): Undef.
9212 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
9213 * Makefile.in (LIBSOUND): New variable.
9214 (LIBES): Include it.
52283633
SM
9215 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
9216 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
9217 (vox_open): Use DEFAULT_SOUND_DEVICE.
9218 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
9219
d5c5cddd
GM
92202000-07-05 Gerd Moellmann <gerd@gnu.org>
9221
9222 * print.c (print_error_message): If Vsignaling_function is set,
9223 show it in *Messages*.
9224
9225 * lisp.h (Vsignaling_function): External declaration.
9226
9227 * eval.c (Vsignaling_function): New variable.
9228 (Fsignal): Compute it.
9229 (syms_of_eval): Staticpro it.
9230
65171e3a
DL
92312000-07-05 Dave Love <fx@gnu.org>
9232
9233 * syswait.h: Use the autoconf recommended approach. Old code
9234 #if'd out in case we need to revert.
9235
178c5d9c 9236 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 9237
e2c46326
AI
92382000-07-05 Andrew Innes <andrewi@gnu.org>
9239
9240 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
9241 when non-NULL instead of __morecore, to take account of buffer
9242 memory. This also solves a problem with spurious memory warnings
9243 on Windows.
9244
9245 * ralloc.c: Make real_morecore non-static.
9246
9247 * eval.c (internal_condition_case): Comment out abort if
9248 interrupt_input_blocked is not zero.
9249
9250 * makefile.nt: Add support for `bootstrap' and related targets.
9251 Include minimal debug info in emacs.exe in release build.
9252 Remove all dependencies on lisp.h, and fixup some others.
9253
9254 * w32.c (init_environment): Install code from 20.7 for providing
9255 default values for environment variables, based on the
9256 executable's own location.
52283633 9257 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
9258 (sys_socket): Install socket inheritance bug fix from 20.7.
9259
9260 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
9261 here via blockinput.h).
9262
a027a91b
SM
92632000-07-05 Stefan Monnier <monnier@cs.yale.edu>
9264
e4b31601
SM
9265 * w32menu.c (w32_menu_display_help):
9266 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
9267
9268 * keyboard.h (show_help_echo): Declare.
9269
9270 * keyboard.c (show_help_echo): New function, extracted from read_char.
9271 Feval its `msg' argument if it's a cons cell.
9272 (read_char): Use it.
4cf8d9d5 9273 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 9274
178c5d9c 9275 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 9276 (note_tool_bar_highlight, XTread_socket):
178c5d9c 9277 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
9278 (dos_rawgetc):
9279 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
9280 (note_tool_bar_highlight, w32_read_socket):
9281 Do not gratuitously ignore non-string `help-echo' properties.
9282
88d75730
GM
92832000-07-05 Gerd Moellmann <gerd@gnu.org>
9284
969f7e79
GM
9285 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
9286
71201b00
GM
9287 * window.c (delete_all_subwindows): Reset Vwindow_list.
9288
88d75730
GM
9289 * xterm.c (x_append_glyph, x_append_composite_glyph)
9290 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9291 changes in struct glyph starting 1999-12-27. Some bit-fields of
9292 struct glyph were not set, which made glyphs unequal when compared
9293 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
9294 effects were the result. This also depended on the contents of
9295 memory returned by xmalloc. If flickering happens again, activate
9296 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 9297 gone with that, chances are that it is caused by something similar.
88d75730
GM
9298
9299 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 9300
88d75730
GM
9301 * dispextern.h: Add some comments.
9302
9303 * window.c (add_window_to_list): Add parameter LIST.
9304 (window_list): Order list so that, for each frame, windows are
9305 in canonical order, and so that frames appear in the list in
9306 the order given by Vframe_list.
9307 (next_window): Reverse the handling of NEXT_P.
9308
53654733
GM
93092000-07-04 Gerd Moellmann <gerd@gnu.org>
9310
87efd256
GM
9311 * window.c (Vwindow_list): New variable.
9312 (make_window, delete_window): Set Vwindow_list to nil.
9313 (check_window_containing): New function.
9314 (window_from_coordinates): Rewritten.
9315 (add_window_to_list, window_list, candidate_window_p)
9316 (decode_next_window_args, next_window): New functions.
52283633 9317 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
9318 (Fwindow_list): New function.
9319 (Fother_window): Cleaned up.
9320 (foreach_window): Add a longer "variable argument list". Let
9321 callback function return 0 to indicate that cycling over windows
9322 should stop.
9323 (foreach_window_1): Likewise.
9324 (freeze_window_start): Return int.
9325 (init_window): New function.
9326 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
9327
9328 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
9329 input_event with bzero.
9330 (main): Call init_window.
9331
53654733
GM
9332 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
9333 a menu filter.
9334
4a8c194f
KH
93352000-07-04 Kenichi Handa <handa@etl.go.jp>
9336
9337 * composite.h (make_composition_value_copy): Extern it.
9338
9339 * composite.c (make_composition_value_copy): New function.
9340
9341 * editfns.c (Fformat): While copying text properties, make each
9342 composition property value a copy.
9343
9344 * fns.c (concat): While copying text properties, make each
9345 composition property value a copy.
9346
831a6cb0
GM
93472000-07-03 Gerd Moellmann <gerd@gnu.org>
9348
2f516940
GM
9349 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
9350
178c5d9c 9351 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
9352 marked already.
9353
831a6cb0
GM
9354 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
9355 include those frames as candidates which have their focus
9356 redirected to the minibuffer frame.
9357
d9c4f922
SM
93582000-07-03 Stefan Monnier <monnier@cs.yale.edu>
9359
9360 * fns.c (Fputhash): Return `value' rather than nil.
9361
3780bc22
GM
93622000-06-30 Gerd Moellmann <gerd@gnu.org>
9363
97d176db
GM
9364 * frame.c (next_frame): Don't check focus redirection in case
9365 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
9366 unless their focus is redirected, which contradicts the
9367 specification of next-frame, and leads to infinite loops in
9368 certain situations when cycling through windows with next-window.
9369
dca9961d
KH
93702000-06-30 Kenichi Handa <handa@etl.go.jp>
9371
9372 * coding.c (code_convert_region): Even if the length of text is
9373 zero, try to convert it if coding->type is coding_type_ccl.
9374 (decode_coding_string, encode_coding_string): Likewise.
9375
d5483ab1
GM
93762000-06-28 Gerd Moellmann <gerd@gnu.org>
9377
af5c25e1 9378 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 9379 the display if windows_or_buffers_changed.
af5c25e1
GM
9380
9381 * dispnew.c (struct row_entry): New structure.
9382 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
9383 (row_table_size, old_lines, new_lines, old_lines_size)
9384 (new_lines_size, run_pool, runs_size, runs): New variables.
9385 (add_row_entry): New function.
9386 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 9387 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
9388 holding them in local variables. Use a larger hash table whose
9389 size depends on glyph matrix sizes. Don't use bzero to clear the
9390 hash table; instead, clear used slots only.
9391
9392 * fns.c (next_almost_prime): Make it externally visible.
9393
9394 * lisp.h (next_almost_prime): Add prototype.
9395
d5483ab1
GM
9396 * s/isc4-0.h (sigunblock): Define.
9397
9398 * s/sco5.h (sigunblock): Define.
9399
93e40f40
DL
94002000-06-27 Dave Love <fx@gnu.org>
9401
9402 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
9403 (moved to osf5-0.h).
9404 [!NOT_C_CODE]: Protect string.h stuff.
9405
9406 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
9407 (sys_siglist, NSIG): Definitions moved here from osf1.h.
9408
3c4b7685
GM
94092000-06-27 Gerd Moellmann <gerd@gnu.org>
9410
97d176db 9411 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
9412 below the last line from the needed window height.
9413
32cad0aa
SM
94142000-06-26 Stefan Monnier <monnier@cs.yale.edu>
9415
9416 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
9417 (Fwidget_get): Use it.
9418 (syms_of_fns): Defsubr it.
9419
2c69ced2
GM
94202000-06-26 Gerd Moellmann <gerd@gnu.org>
9421
178c5d9c 9422 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
9423 display info for XIM.
9424 (xim_open_dpy): Likewise.
9425 (xim_close_dpy): Don't free the display info's XIM.
9426
9427 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
9428
9429 * config.in (USE_XIM): New define.
9430
3fc720e4
GM
9431 * keymap.c (get_keyelt): For menu-items containing a `:filter
9432 FILTER', apply FILTER to the menu-item's definition to get the
9433 real definition to use.
9434
9435 * lisp.h (QCfilter): External declaration.
9436
2c69ced2
GM
9437 * xfns.c (Fimage_size): New function.
9438 (syms_of_xfns): Defsubr it.
9439
f978b2a2
AS
94402000-06-26 Andreas Schwab <schwab@suse.de>
9441
9442 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
9443 Fstring_as_unibyte.
9444
94cc7892
DL
94452000-06-25 Dave Love <fx@gnu.org>
9446
52283633 9447 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
9448
9449 * Makefile.in (blockinput.h): Depend on atimer.h.
9450 (atimer.h): Depend on systime.h.
9451
52283633 9452 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 9453
52283633 9454 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
9455
9456 * lisp.h (swap_in_global_binding): Declare.
9457
b8c24556
KR
94582000-06-24 Ken Raeburn <raeburn@gnu.org>
9459
9460 * process.c (Fopen_network_stream): Turn off atimers for duration
9461 of call to connect. (Patch from Gerd.)
9462
8cf8560b
DL
94632000-06-23 Dave Love <fx@gnu.org>
9464
511c7541
DL
9465 * ralloc.c: Maybe include unistd.h
9466
8cf8560b
DL
9467 * emacs.c (setgrp): Undefine before defining.
9468 (malloc_warning, set_time_zone_rule, index): Prototype.
9469
9470 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
9471 HAVE_STRUCT_TIMEZONE.
9472
9473 * s/osf1.h: Move string.h hack here from alpha.h and make it
9474 conditional.
9475 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
9476 _XOPEN_SOURCE.
9477 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
9478 (SOCKLEN_TYPE): Don't define.
9479
9480 * m/alpha.h: Remove string.h hack.
9481
9482 * s/osf5-0.h: New file.
9483
9484 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
9485 include time.h, done by systime.h.
9486 [__FreeBSD__]: Remove redundant includes.
9487
3fc720e4 9488 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
9489 (delete_temp_file): Return Qnil to avoid warning.
9490
9491 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
9492
9493 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
9494 HAVE_X_WINDOWS.
9495
9496 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
9497
9498 * composite.h (compose_text): Declare.
9499
9500 * xterm.c: Don't include sys/types.h unconditionally. Don't
9501 protect its inclusion with !USG (following xmenu.c).
9502
ea055732
GM
95032000-06-23 Gerd Moellmann <gerd@gnu.org>
9504
9505 * xfns.c (x_create_tip_frame): Initialize frame's colors like
9506 in x_create_frame.
9507
74b01b80
EZ
95082000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
9509
9510 * coding.c (decode_eol_post_ccl): Special handling for undecided
9511 and inconsistent EOL types.
9512
64f3a166
GM
95132000-06-22 Gerd Moellmann <gerd@gnu.org>
9514
16cf31f7
GM
9515 * xrdb.c (x_load_resources): Add default resource for scroll bar's
9516 trough color and main window's background color.
9517
52283633 9518 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
9519
9520 * xterm.h (Xt_app_con): External declaration.
9521
9522 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 9523
486a103d
GM
9524 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
9525
64f3a166
GM
9526 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
9527 (handle_invisible_prop): Record the start of invisible text in
9528 it->add_overlay_start.
9529 (struct overlay_entry): Add member `overlay'.
9530 (handle_overlay_change): Simplify.
9531 (next_overlay_string): After having processed overlay strings at the
9532 end of the buffer, record that fact in
9533 it->overlay_strings_at_end_processed_p.
9534 (compare_overlay_entries): If before- and after-strings come
9535 from the same overlay, let before-strings come first.
9536 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
9537 (load_overlay_strings): Take it->add_overlay_start into account
9538 when adding overlay strings.
9539
9540 * dispextern.h (struct it): Add member add_overlay_start.
9541
bb746ea6
DL
95422000-06-22 Dave Love <fx@gnu.org>
9543
9544 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
9545
9546 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
9547
a8f573f3
KH
95482000-06-22 Kenichi Handa <handa@etl.go.jp>
9549
9550 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
9551 is greater than 0.
9552
9f2bbc92
DL
95532000-06-21 Dave Love <fx@gnu.org>
9554
178c5d9c 9555 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 9556
3ee5041c
SM
95572000-06-21 Stefan Monnier <monnier@cs.yale.edu>
9558
9559 * syntax.c (back_comment): Simplify string-parity counting (with
9560 the added benefit of handling multiple string-styles as long as
9561 they are not intertwined).
9562 Jump to the slow code as soon as a comment starter is found in
9563 a "string_lossage" position. Fixes the case: " /* " /* " */.
9564
4c343001
DL
95652000-06-21 Dave Love <fx@gnu.org>
9566
9567 * Makefile.in: Use GETLOADAVG_LIBS.
9568
9569 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
9570 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
9571
e6365855
SM
95722000-06-20 Stefan Monnier <monnier@cs.yale.edu>
9573
9574 * syntax.c (describe_syntax): Recognize the `n'estable bit.
9575 (Fforward_comment, scan_lists):
9576 Check the comstyle of single-char comment-starters.
9577 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
9578 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
9579 Check the comstyle of single-char comment-starters.
9580 Clarify control-flow around the Scomment case.
e6365855 9581
5700d2cc
DL
95822000-06-20 Dave Love <fx@gnu.org>
9583
d355bd8a
SM
9584 * fns.c (make_hash_table, maybe_resize_hash_table):
9585 Cast arg of next_almost_prime.
5700d2cc 9586
178c5d9c 9587 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
9588
9589 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
9590 and unistd.h.
9591
4a27bdfb
GM
95922000-06-20 Gerd Moellmann <gerd@gnu.org>
9593
a61d762c 9594 * keyboard.c (adjust_point_for_property): Check if display
52283633 9595 property should be treated as intangible by looking at its value.
a61d762c 9596
178c5d9c 9597 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
9598 (display_prop_intangible_p): New functions.
9599
9600 * dispextern.h (display_prop_intangible_p): Add prototype.
9601
9602 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 9603
4a27bdfb
GM
9604 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
9605 argument to sigprocmask.
9606
9607 * s/sco5.h (sigblock): Redefined to pass a pointer as second
9608 argument to sigprocmask.
9609
9610 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
9611 sigprocmask_set, and pass a pointer to it to sigprocmask.
9612
9613 * sysdep.c (sigprocmask_set): New variable.
9614
9615 * fileio.c (make_temp_name): Don't use `%s' in string passed to
9616 report_file_error.
9617
427ec082
SS
96182000-06-20 Sam Steingold <sds@gnu.org>
9619
9620 * xrdb.c: Don't declare xmalloc, xrealloc.
9621
8972fe79 96222000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
9623
9624 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
9625 (re_comp): Cast gettext return value to avoid complaints when
9626 !HAVE_LIBINTL.
9627
074b6efe
DL
96282000-06-20 Dave Love <fx@gnu.org>
9629
52283633 9630 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 9631
5700d2cc 9632 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 9633
d355bd8a 9634 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
9635
9636 * m/alpha.h: Don't declare xmalloc, xrealloc.
9637
0af4f205
DL
9638 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
9639
9640 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
9641
9642 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
9643
9644 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
9645 HAVE_GETWD.
9646
074b6efe
DL
9647 * keyboard.h (poll_for_input_1): Declare.
9648
9649 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
9650
9651 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
9652
9653 * doprnt.c: Don't declare xmalloc, xrealloc.
9654
9655 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
9656 (getenv, ctime, getwd): Removed.
9657 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
9658
9659 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
9660 x_set_tool_bar_lines.
9661
9662 * config.in: Add HAVE_GETWD. Move some definitions above
9663 machine/system includes.
9664
68a5e97b
KH
96652000-06-20 Kenichi Handa <handa@etl.go.jp>
9666
95417e1e
KH
9667 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
9668
68a5e97b
KH
9669 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
9670 contain information about ENCODING.
9671
9672 * fontset.c (FONTSET_ASCII): Use the first element of char table
9673 for an ASCII font, not defalt slot.
9674 (fontset_ref_via_base): If FONTSET doesn't contain information for
9675 C, try the default fontset.
9676 (make_fontset): Don't copy the default fontset.
9677 (fontset_font_pattern): Likewise.
9678 (accumulate_font_info): If ELT is nil, use the corresponding
9679 element in the default fontset.
9680
3b4fa1b2
DL
96812000-06-19 Dave Love <fx@gnu.org>
9682
943e731c
DL
9683 * syntax.c (Fparse_partial_sexp): Doc fix.
9684
9685 * regex.h: Test PROTOTYPES as well as __STDC__.
9686
3b4fa1b2
DL
9687 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
9688 errno, strerror. Put text after #endif in comment.
9689
52283633 9690 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
9691
9692 * xterm.c (x_frame_of_widget): Likewise.
9693
cdf0357b
GM
96942000-06-19 Gerd Moellmann <gerd@gnu.org>
9695
9696 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
9697 to Vfundamental_mode_abbrev_table.
9698
9699 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
9700 bogus objects are marked. This slows down GC by ~80 percent, but
9701 it might be worth trying when debugging GC-related problems.
9702 This feature requires conservative stack marking to be enabled.
9703
9704 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
9705 returns XLookupChars, reset `modifiers' to zero.
9706
998e9f8c
DL
97072000-06-19 Dave Love <fx@gnu.org>
9708
9709 * mktime.c: Unprotoized.
9710
18e21ce8 97112000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
9712
9713 * data.c (set_internal): If variable is frame-local,
9714 store the new value immediately into the frame parameter alist.
9715
140c4ac6
KR
97162000-06-19 Ken Raeburn <raeburn@gnu.org>
9717
14358466
KR
9718 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
9719 in the custom handler pointer.
9720
140c4ac6
KR
9721 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
9722 value, or checks for CHAR_META can fail when Lisp_Object is a
9723 union type.
9724 * keymap.c (get_keyelt): Likewise.
9725
10d7bf84
KH
97262000-06-19 Kenichi Handa <handa@etl.go.jp>
9727
9728 * ccl.h (struct ccl_program): New member eol_type.
9729 (struct ccl_spec): New member cr_carryover.
9730
9731 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
9732 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
9733
9734 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
9735 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
9736 (decode_eol_post_ccl): New function.
9737 (decode_coding): Don't detect EOL format here for CCL based coding
9738 systems.
9739 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
9740 decode_eol_post_ccl after running the CCL program.
9741 (code_convert_region): Don't detect EOL format here for CCL based
9742 coding systems.
9743 (decode_coding_string): Likewise.
9744
52e386c2
KR
97452000-06-18 Ken Raeburn <raeburn@gnu.org>
9746
9747 * charset.c (update_charset_table): Use XINT on "iso_final_char"
9748 when treating it as an integer.
9749
9750 * coding.h (encode_coding_string): Declare.
9751
9752 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
9753 it as an integer.
9754
9755 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
9756 "xkeymap" to avoid shadowing the "enum map_type" value that needs
9757 to be passed to get_local_map.
9758
9759 * sound.c (Fplay_sound): Don't call make_number on
9760 Frun_hook_with_args count argument.
9761
9762 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
9763 for lisp objects in X event structure data field, when lisp
9764 objects are represented with unions.
9765 (x_scroll_bar_to_input_event): Ditto.
9766
b357b9d4
KR
97672000-06-16 Ken Raeburn <raeburn@gnu.org>
9768
9769 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
9770 termination of string. Fix sense of test whether
9771 Vline_number_display_limit is an integer.
b357b9d4 9772
a871441d
GM
97732000-06-16 Gerd Moellmann <gerd@gnu.org>
9774
a9021acd
GM
9775 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
9776 only if HAVE_X_WINDOWS.
9777
6344985d
GM
9778 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
9779 of titles.
9780
427ec082 9781 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
9782 out of bounds.
9783
228b083e
EZ
97842000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
9785
9786 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
9787 of its headers.
9788
c25b53a2
KH
97892000-06-15 Kenichi Handa <handa@etl.go.jp>
9790
9791 * coding.c (decode_coding_emacs_mule): Always set src_base at the
9792 start of the while loop.
9793
a6981b11
GM
97942000-06-15 Gerd Moellmann <gerd@gnu.org>
9795
e9924e52
GM
9796 * atimer.c (alarm_signal_handler): Add forward declaration.
9797
a6981b11
GM
9798 * data.c (set_internal): Remove debug code.
9799
25fa6deb
GM
98002000-06-14 Gerd Moellmann <gerd@gnu.org>
9801
dce6b995
GM
9802 * Makefile.in (bootstrap-temacs): Add `-I../src'.
9803
9f817ea4
GM
9804 * unexec.c (toplevel) [COFF]: Include coff.h.
9805
9806 * s/lynxos.h: New file.
9807
9808 * keymap.c (Fsingle_key_description): Enclose function key and
9809 event symbol names in angle brackets.
9810
8a4e3c0c
GM
9811 * xdisp.c (setup_echo_area_for_printing): Call
9812 message_log_maybe_newline if message_buf_print is not set.
9813
9814 * print.c (printchar, strout): Don't check message_buf_print
427ec082 9815 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
9816 function does something useful even when message_buf_print is
9817 already set.
9818
52283633
SM
9819 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
9820 New variables.
25fa6deb
GM
9821 (ensure_echo_area_buffers): Initialize echo buffer's
9822 truncate lines setting to nil.
9823 (with_echo_area_buffer): Don't set the echo buffer's truncate
9824 lines setting here.
8a4e3c0c 9825 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
9826 of message_truncate_lines.
9827 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
9828 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
9829 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
9830
9831 * keyboard.c (read_char): Bind message-truncate-lines to t
9832 while displaying a help-echo.
9833
9834 * lisp.h (Qmessage_truncate_lines): External declaration.
9835
163dcff3
GM
98362000-06-13 Gerd Moellmann <gerd@gnu.org>
9837
1681ead6
GM
9838 * xdisp.c (Vline_number_display_limit): Renamed from
9839 line_number_display_limit.
9840 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
9841 Extend documentation string. Initialize
9842 Vline_number_display_limit to nil meaning no limit.
9843 (decode_mode_spec): Use Vline_number_display_limit with its new
9844 meaning.
9845
163dcff3
GM
9846 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
9847
18e21ce8 98482000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
9849
9850 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 9851
163dcff3
GM
9852 * xfns.c (x_set_frame_parameters): Comment fix.
9853
9854 * frame.c (store_frame_param): Call swap_in_global_binding if the
9855 variable's current binding was chosen based on this frame.
9856
9857 * data.c (swap_in_global_binding): New function.
9858
a704139d
EZ
98592000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
9860
9861 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
9862 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
9863
9b6610db
EZ
98642000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
9865
9866 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
9867
c68833d2
JR
98682000-06-12 Jason Rumney <jasonr@gnu.org>
9869
9870 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
9871
9872 * w32.h (EMACS_W32_H): Renamed from _NT_H_
9873
9874 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
9875
9876 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
9877
ed1056b3
GM
98782000-06-12 Gerd Moellmann <gerd@gnu.org>
9879
9880 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
9881 (syms_of_xfaces): Defsubr Sdump_colors.
9882 (x_free_colors): Don't treat b&w specially on default visual.
9883 (x_free_dpy_colors): New function.
9884 (free_face_colors): Don't check visual class; it's done
9885 in x_free_colors.
9886
9887 * xterm.c (x_frame_of_widget): New function.
9888 (x_alloc_nearest_color_for_widget): Use it.
9889 (x_copy_dpy_color): New function.
9890 (x_destroy_window): Free various colors.
9891
5050a2ef
KH
98922000-06-12 Kenichi Handa <handa@etl.go.jp>
9893
9894 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
9895
9896 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
9897
9898 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
9899
9900 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
9901
9902 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
9903
fb1b041d
DL
99042000-06-11 Dave Love <fx@gnu.org>
9905
9906 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
9907
ff96b5f4
EZ
99082000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
9909
9910 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
9911
db8eeecd
GM
99122000-06-11 Gerd Moellmann <gerd@gnu.org>
9913
ed1056b3 9914 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
9915 to `XEvent *'.
9916
49b71c5f
KH
99172000-06-10 Kenichi Handa <handa@etl.go.jp>
9918
c479bd55
KH
9919 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
9920 (regex_compile): Fix the code for handling the case of single byte
9921 char and multibyte char being mixed in a range within [...].
9922
ff6a65c2
KH
9923 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
9924 and dst_multibyte members of coding.
9925
49b71c5f
KH
9926 * charset.c (update_charset_table): Update the table
9927 bytes_by_char_head.
9928 (init_charset_once): Initialize elements of bytes_by_char_head to
9929 1 except for leading codes for private charases.
9930
9931 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 9932 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 9933
9e80b57d
KR
99342000-06-09 Ken Raeburn <raeburn@gnu.org>
9935
9936 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
9937 access the data it doesn't point to.
9938
f83fe4b4
GM
99392000-06-08 Gerd Moellmann <gerd@gnu.org>
9940
9941 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 9942 will be translated to a switch-frame event when reading the
f83fe4b4
GM
9943 event queue. This is necessary because Emacs otherwise won't
9944 perform a switch-frame to a new frame until some other event, for
9945 example a keystroke event, forces it to do so. This has various
9946 effects, one visible being that the cursor of a frame created with
9947 C-x 5 2 or switched to with a window manager key binding like
9948 A-TAB stays hollow because selected_window isn't on the newly
9949 focused frame until the switch-frame is performed.
9950
9951 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
9952 generating a switch-frame event if necessary.
9953
9954 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
9955
9956 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
9957 it's an integer.
9958
0890801b
KH
99592000-06-08 Kenichi Handa <handa@etl.go.jp>
9960
52283633 9961 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 9962
173cbca8
GM
99632000-06-07 Gerd Moellmann <gerd@gnu.org>
9964
3091c2a6
GM
9965 * window.c (displayed_window_lines): Take empty lines at
9966 the bottom of a window into account.
427ec082 9967
f38952fe
GM
9968 * window.c (displayed_window_lines): New function.
9969 (Fmove_to_window_line): Use displayed_window_lines to determine
9970 the number of lines to move, instead of using the window's height.
9971
9972 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
9973 to stop reading, even if the form read sets point to a different
9974 value when evaluated.
9975
427ec082 9976 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
9977 put the cursor.
9978
6ba6c818
KH
99792000-06-07 Kenichi Handa <handa@etl.go.jp>
9980
9981 * fileio.c (e_write): Free composition data if stored in
9982 coding->cmp_data.
9983
5f1aea9a
GM
99842000-06-06 Gerd Moellmann <gerd@gnu.org>
9985
666852af
GM
9986 * xdisp.c (display_line): Set row's and iterator's
9987 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
9988 Set cursor even if row ends in the middle of a character.
9989 (dump_glyph_row): Print values of new flags.
9990 (redisplay_window) <cursor movement in unchanged window>: When
9991 point has been moved forward, and PT is at the end of the cursor
9992 row, don't place the cursor in the next row if the cursor row ends
9993 in the middle of a character or at ZV.
9994
9995 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
9996 (struct glyph_row): Add starts_in_middle_of_char_p and
9997 ends_in_middle_of_char_p.
9998 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
9999 ends_in_middle_of_char_p flag.
10000 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
10001
d13f3e2e
GM
10002 * term.c (append_glyph): Revert change of 2000-06-06.
10003
10004 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
10005 padding glyph not fitting on line as whole character not
10006 fitting on line.
10007
5f1aea9a
GM
10008 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
10009 this isn't true for images with `:ascent 100'.
10010
10cda9b0
KH
100112000-06-06 Kenichi Handa <handa@etl.go.jp>
10012
ed00559d
KH
10013 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
10014 as modified if it is originally unmodified.
10015
10cda9b0
KH
10016 * term.c (encode_terminal_code): Change the way to check if
10017 terminal coding does any conversion.
10018 (append_glyph): Set glyph->pixel_width correctly.
10019
10020 * xdisp.c (display_line): While checking line continuation, pay
10021 attention to a padding glyph.
10022
1969fae2
GM
100232000-06-05 Gerd Moellmann <gerd@gnu.org>
10024
10025 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
10026
162ccef4
DL
100272000-06-05 Dave Love <fx@gnu.org>
10028
f19f32dd
DL
10029 * xdisp.c: Include fontset.h.
10030
10031 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
10032
10033 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10034
10035 * dispnew.c: Conditionally include term.h.
10036
10037 * coding.h: Declare code_convert_string_norecord.
10038
10039 * frame.h (struct frame): Use volatile unconditionally.
10040
10041 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
10042
10043 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
10044
10045 * systime.h: Protect against multiple inclusion.
10046 (timezone) [USG5_4]: Define as time_t.
10047
10048 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10049 (Foptimize_char_table, make_temp_name): Declare.
10050
10051 * Makefile.in (xdisp.o): Depend on fontset.h.
10052
10053 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10054
10055 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10056 (Foptimize_char_table, make_temp_name): Declare.
10057
427ec082 10058 * s/irix4-0.h:
162ccef4
DL
10059 * s/irix5-0.h:
10060 * s/netbsd.h: Don't define autoconfiscated MATHERR.
10061
2082fe81
DL
100622000-06-02 Dave Love <fx@gnu.org>
10063
10064 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
10065
dcf671d2
GM
100662000-06-02 Gerd Moellmann <gerd@gnu.org>
10067
10068 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 10069 result face, set flags in that face indicating that colors may not
dcf671d2
GM
10070 be freed.
10071
10072 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
10073 glyph, use the ASCII NUL character to determine the face.
10074
d42122a3
DL
100752000-06-02 Dave Love <fx@gnu.org>
10076
10077 * sysdep.c: Conditionally include stdlib.h, unistd.h.
10078 (VFORK_RETURN_TYPE): Remove.
427ec082 10079
d42122a3
DL
10080 * config.in: Add NO_MATHERR.
10081
dd432f16
DL
100822000-06-01 Dave Love <fx@gnu.org>
10083
90aa4ea8
DL
10084 * cmds.c (internal_self_insert): Don't check
10085 Vbefore_change_function, Vafter_change_function.
10086
10087 * insdel.c (signal_before_change, signal_after_change): Likewise.
10088
10089 * buffer.c (Vbefore_change_function, Vafter_change_function):
10090 Variables and their initializations deleted.
10091
2330c9d4
DL
10092 * callint.c (Fcall_interactively): Doc fix.
10093
dd432f16
DL
10094 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
10095
bf9e8804
DL
100962000-05-31 Dave Love <fx@gnu.org>
10097
10098 * textprop.c: Revert last change -- duplicated.
10099
3694b4ab
GM
101002000-05-31 Gerd Moellmann <gerd@gnu.org>
10101
10102 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
10103 in #if 0.
10104
10105 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
10106
f14156cd
JR
101072000-05-31 Jason Rumney <jasonr@gnu.org>
10108
8119aab8
JR
10109 * search.c (Fre_search_forward, Fre_search_backward)
10110 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
10111
f14156cd
JR
10112 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
10113
4aab9be3
JR
101142000-05-30 Jason Rumney <jasonr@gnu.org>
10115
10116 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
10117 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
10118
52283633 10119 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
10120
10121 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
10122 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
10123 expand a nil default_filename.
10124
10125 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
10126 pointer to glyph_to_pixel_coords, not a frame.
10127
10128 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
10129 coding.h to dependencies.
10130
10131 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
10132
10133 * w32console.c (glyph_to_pixel_coords): Change first parameter to
10134 window pointer to be consistent with w32term.c and xterm.c.
10135
10136 * w32fns.c: Format and doc changes to bring closer to xfns.c.
10137 (VIETNAMESE_CHARSET): Define if not defined in system headers.
10138 (Qline_spacing, Qcenter): New variables.
10139 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
10140 (x_set_line_spacing): New function.
52283633 10141 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
10142 (x_specified_cursor_type): New function.
10143 (x_set_cursor_type): Use it.
10144 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
10145 and icon strings.
10146 (validate_x_resource_name, x_get_resource_string): Measure lengths
10147 of external strings in bytes.
10148 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
10149 GetTextExtentPoint32 with NULL title.
10150 (Fx_create_frame): Initialize Qline_spacing.
10151 (w32_load_system_font): Initialize font->double_byte_p.
10152 (x_to_w32_charset): Use Vw32_charset_info_alist.
10153 (Image, busy cursor, tooltip functions): Merged changes from
10154 xfns.c. Not yet functional on Windows.
10155
10156 * w32gui.h (W32FontStruct): Add double_byte_p member.
10157
10158 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
10159 (emacs_button_translation): Use it.
10160 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
10161 in `mask' to be set.
10162
10163 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
10164 menu strings.
10165
10166 * w32term.c: Format and doc changes to bring closer to xterm.c.
10167 (w32_char_font_type): New enum.
10168 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
10169 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
10170 (w32_encode_char): New function.
10171 (x_encode_char): Removed.
10172 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
10173 x_encode_char and w32_font_is_double_byte.
10174 (x_produce_image_glyph): Use image_ascent.
10175 (x_produce_glyphs): Use new version of w32_per_char_metric and
10176 handle NULL return value. Allow extra line spacing.
10177 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
10178 (w32_get_glyph_overhangs): Remove unicode_p param. Use
10179 w32_font_type member of glyph instead.
10180 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
10181 (fast_find_position): Make sure not to consider rows not visible
10182 in the window.
10183 (w32_read_socket) [WM_MENUSELECT]: Cannot call
10184 w32_menu_display_help with input blocked, as it can abort.
10185 (x_display_and_set_cursor): Choose cursor depending
10186 on buffer-local value of cursor_type.
10187 (x_draw_bar_cursor): Add parameter WIDTH.
10188
10189 * w32term.h (CP_DEFAULT): Define.
10190 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
10191
10fc3187
GM
101922000-05-30 Gerd Moellmann <gerd@gnu.org>
10193
10194 * search.c (Fre_search_forward, Fre_search_backward)
10195 (Fposix_search_backward, Fposix_search_forward): Doc fix.
10196
d0555360
KH
101972000-05-30 Kenichi Handa <handa@etl.go.jp>
10198
10199 * coding.c (detect_coding_iso2022): Fix code for checking
10200 CODING_CATEGORY_MASK_ISO_8_2.
10201
f1ad044f
SM
102022000-05-29 Stefan Monnier <monnier@cs.yale.edu>
10203
10204 * regex.c (PREFETCH_NOLIMIT): New function.
10205 (re_match_2_internal): Use it and adjust the end_match_2 logic.
10206
84ec3b4b
GM
102072000-05-29 Gerd Moellmann <gerd@gnu.org>
10208
66254a13
GM
10209 * syntax.c (find_defun_start): Move test for
10210 open_paren_in_column_0_is_defun_start outside of the loop.
10211
49e70dec
GM
10212 * xdisp.c (redisplay_window): Really switch buffers when
10213 displaying mode lines, and temporarily set selected_frame to the
10214 frame of the window that's redisplayed.
10215
84ec3b4b
GM
10216 * xfaces.c (free_realized_faces): Block/unblock input.
10217 (free_realized_multibyte_face): Ditto.
10218
869a3a14
DL
102192000-05-29 Dave Love <fx@gnu.org>
10220
10221 * textprop.c (Qkeymap): New variable.
10222 (syms_of_textprop): Intern it.
10223
10224 * keymap.c: Include intervals.h.
10225 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
10226
10227 * Makefile.in (keymap.o): Depend on intervals.h.
10228
10229 * keyboard.c (menu_bar_items, tool_bar_items)
10230 (Fexecute_extended_command): Deal with `keymap' property.
10231 (read_key_sequence): Track map from `keymap' property as well as
10232 `local_map'.
10233
10234 * intervals.c (get_local_map): Extra arg to allow looking for
10235 `keymap' too.
10236
10237 * intervals.h (map_property): New enum.
10238 (get_local_map): Extra arg using it.
10239 (Qkeymap): Declare.
10240
84ec3b4b 10241 * lisp.h (get_local_map): Don't declare here.
869a3a14 10242
89d0c844
KH
102432000-05-29 Kenichi Handa <handa@etl.go.jp>
10244
10245 * Makefile.in (callproc.o): Depend on composite.h.
10246
10247 * callproc.c: Include composite.h.
10248 (Fcall_process): Handle composition correctly.
10249
10250 * coding.h (coding_allocate_composition_data): Extern it.
10251 (coding_restore_composition): Likewise.
10252
10253 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
10254 yet allocated, finish decoding with result
10255 CODING_FINISH_INSUFFICIENT_CMP.
10256 (coding_allocate_composition_data): Make it non-static.
10257 (coding_restore_composition): Likewise.
10258
797a084a
EZ
102592000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
10260
10261 * charset.c (syms_of_charset): Revert last change.
10262
cf872af5
EZ
102632000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
10264
10265 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
10266 charsets as unibyte, with 1-column screen width. Sent by Kenichi
10267 Handa.
cf872af5 10268
5b1ae051
EZ
102692000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
10270
10271 * charset.c (syms_of_charset): Set width of character sets
10272 eight-bit-control and eight-bit-graphic to 1 column.
10273
34ec9ebe
GM
102742000-05-26 Gerd Moellmann <gerd@gnu.org>
10275
10276 * config.in (HAVE_SPEED_T): New define.
10277
10278 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
10279 `extern speed_t'.
10280
dd854dc2
DL
102812000-05-26 Dave Love <fx@gnu.org>
10282
10283 * coding.c (shrink_decoding_region): Initialize eol_conversion.
10284
10285 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
10286 (Fsubr_arity): New function.
10287 (syms_of_data): Install them.
10288
ba9f8f95
KH
102892000-05-26 Kenichi Handa <handa@etl.go.jp>
10290
0f3e0672
KH
10291 * charset.c (init_charset_once): Set the table bytes_by_char_head
10292 correctly.
10293
cebefb44
KH
10294 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
10295 the default fontset to what Emacs uses by default.
0f3e0672
KH
10296 (check_registry_encoding): This function deleted.
10297 (Fset_fontset_font): Remove the adhoc condition for the default
10298 fontset. Allow cons in FONTNAME.
cebefb44 10299
0f3e0672
KH
10300 * fns.c (map_char_table): Ignore char-table entries for
10301 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 10302
7a18af49
KR
103032000-05-25 Ken Raeburn <raeburn@gnu.org>
10304
10305 * emacs.c (main): Initialize keyboard syms before initializing
10306 window code, so face names are available.
10307
d2af47df
SM
103082000-05-25 Stefan Monnier <monnier@cs.yale.edu>
10309
10310 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
10311 of an anchor at the beginning of a shy-group.
10312
fc6a6a4e
GM
103132000-05-25 Gerd Moellmann <gerd@gnu.org>
10314
10315 * xdisp.c (handle_invisible_prop): Don't try to skip over
10316 invisible text if end of text is already reached.
10317
005f0d35
DL
103182000-05-25 Dave Love <fx@gnu.org>
10319
02513cdd
DL
10320 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
10321
005f0d35
DL
10322 * coding.c (encode_eol): Add null statement after label.
10323
89f6ca4e
EZ
103242000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
10325
10326 * w16select.c (Fw16_set_clipboard_data): Fix the change from
10327 2000-05-20.
10328
a4e1759e
KH
103292000-05-25 Kenichi Handa <handa@etl.go.jp>
10330
10331 * ccl.c (ccl_driver): Fix previous change.
10332
eacfd7fe
KH
103332000-05-25 Kenichi Handa <handa@etl.go.jp>
10334
46ab33a9
KH
10335 * coding.c (run_pre_post_conversion_on_str): Set point to the
10336 beginning of buffer before calling coding->post_read_conversion.
10337 (decode_coding_string): Give correct args to
10338 run_pre_post_conversion_on_str.
10339 (encode_coding_string): Likewise.
10340
eacfd7fe
KH
10341 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
10342 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
10343 eight-bit-graphic correctly.
10344
f8569325
DL
103452000-05-24 Kenichi HANDA <handa@etl.go.jp>
10346
10347 * fileio.c (Finsert_file_contents): Even if a file is not found,
10348 execute codes for setting up coding system. Call
10349 after-insert-file-functions unconditionally.
10350
04545643
GM
103512000-05-24 Gerd Moellmann <gerd@gnu.org>
10352
10353 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
10354 BSD_PGRPS are not defined.
10355
747d90ea
KH
103562000-05-24 Kenichi Handa <handa@etl.go.jp>
10357
10358 * charset.c (update_charset_table): Accept nil in LONG_NAME and
10359 DESCRIPTION.
10360 (syms_of_charset): Avoid building same strings.
10361
716e3b88
GM
103622000-05-23 Gerd Moellmann <gerd@gnu.org>
10363
10364 * lread.c (Fload): Add a comment about the meaning of
10365 Vuser_init_file being t.
10366
10367 * puresize.h (BASE_PURESIZE): Increase to 675000.
10368
10369 * s/gnu-linux.h (setpgrp): Don't define it here because this
10370 prevents compilation on GNU/Linux systems with glib 2.2.
10371
10372 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
10373 as setpgid.
427ec082 10374
9aeb39fa
EZ
103752000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
10376
10377 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
10378 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
10379 version.
10380 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
10381
29ced61b
KH
103822000-05-23 Kenichi Handa <handa@etl.go.jp>
10383
52283633 10384 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 10385
3d80f24d
KH
10386 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
10387
52283633 10388 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 10389
29ced61b
KH
10390 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
10391
d7e00792
KH
103922000-05-22 Kenichi Handa <handa@etl.go.jp>
10393
c9d80d38
KH
10394 * keyboard.c (read_char): Allow character codes 128..255 to be
10395 handled by input-method-function.
10396
d7e00792
KH
10397 * insdel.c (adjust_markers_for_replace): Fix previous change.
10398 (adjust_after_replace): If PREV_TEXT is nil, call
10399 adjust_markers_for_insert, not adjust_markers_for_replace.
10400
087121cc 104012000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 10402
087121cc
GM
10403 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
10404 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
10405 [HAVE_GRANDPT]: Define.
10406 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
10407
10408 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
10409 like SYSV_PTYS.
10410
10411 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
10412
10413 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
10414
c9671f81
KH
104152000-05-20 Kenichi Handa <handa@etl.go.jp>
10416
10417 The following changes are to handle 8-bit characters in a
10418 multibyte buffer/string without facing with byte combining
10419 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
10420 eight-bit-graphic (for 0xA0..0xFF) are introduced.
10421
10422 * Makefile.in (fns.o): Depend on charset.h.
10423
10424 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
10425 convert it to unibyte.
10426 (make_string): Use parse_str_as_multibyte, not chars_in_text.
10427
10428 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
10429 apparent char boundary.
10430 (Fset_buffer_multibyte): Convert 8-bit characters in the range
10431 0x80..0x9F to/from multibyte form.
10432
10433 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
10434 to unibyte.
10435
10436 * callproc.c (Fcall_process): Always encode an argument string if
10437 it is multibyte. Setup src_multibyte and dst_multibyte members of
10438 process_coding properly.
ce75fd23 10439
c9671f81
KH
10440 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
10441 SPLIT_NON_ASCII_CHAR.
10442
10443 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
10444 as is.
10445 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
10446
52283633 10447 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 10448 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 10449 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
10450 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
10451 and eight-bit-graphic.
10452 (char_to_string): Likewise. Signal an error for too large
10453 character code.
10454 (char_printable_p): Return 0 for 8-bit characters.
10455 (update_charset_table): Update iso_charset_table only when a final
10456 character is non-negative.
10457 (find_charset_in_text): Renamed from find_charset_in_str.
10458 Arguments and return value changed. Callers changed.
10459 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
10460 be -1 if CHARSET is used only internally.
10461 (Fmake_char_internal): Handle new charsets; eight-bit-control and
10462 eight-bit-graphic.
10463 (Fcharset_after): Simplified.
10464 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
10465 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
10466 (multibyte_chars_in_text): Simplified by assuming there's no
10467 invalid multibyte sequence.
52283633
SM
10468 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
10469 (str_as_unibyte): New functions.
10470 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
10471 (init_charset_once): Initialization for
10472 LEADING_CODE_8_BIT_CONTROL.
10473 (syms_of_charset): Intern and staticpro Qeight_bit_control and
10474 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
10475 eight-bit-control and eight-bit-graphic.
10476
52283633
SM
10477 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
10478 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
10479 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
10480 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
10481 (CHARSET_REVERSE_CHARSET): Likewise.
10482 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
10483 eight-bit-graphic.
10484 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
10485 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
10486 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
10487 encounter an invalid multibyte sequence.
10488 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
10489 sequence is always valid.
10490 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 10491 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
10492 (CHAR_STRING): For 8-bit characters, call char_to_string.
10493 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
10494 multibyte sequence is always valid.
10495 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
10496 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
10497 (str_as_unibyte): Extern them.
c9671f81 10498 (BCOPY_SHORT): Fix a bug.
52283633 10499 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
10500 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
10501 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
10502 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
10503
bd4bde7f 10504 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 10505 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
10506 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
10507 (EMIT_BYTES): New macros.
10508 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
10509 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
10510 macros deleted.
10511 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
10512 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
10513 check the validity of multibyte sequence.
10514 (decode_coding_emacs_mule): New function.
10515 (encode_coding_emacs_mule): New macro.
10516 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
10517 the source.
10518 (DECODE_ISO_CHARACTER): Just return a character code.
10519 (DECODE_COMPOSITION_START): Set coding->result instead of result.
10520 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
10521 EMIT_CHAR to produced decoded characters. Exit the loop only by
10522 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
10523 block here.
10524 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
10525 only position codes for an invalid character.
10526 (encode_designation_at_bol): Return new destination pointer. 5th
10527 arg DSTP is changed to DST.
10528 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
10529 from the source by ONE_MORE_CHAR. Don't handle the case of last
10530 block here.
10531 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
10532 macros deleted.
52283633
SM
10533 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
10534 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
10535 TWO_MORE_BYTES to fetch a byte from the source.
10536 (encode_eol): Pay attention to coding->src_multibyte.
10537 (detect_coding, detect_eol): Preserve members src_multibyte and
10538 dst_multibyte.
10539 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
10540 (encoding_buffer_size): Set magnification to 3 for all coding
10541 systems that require encoding.
10542 (ccl_coding_driver): For decoding, be sure that the result is
10543 valid multibyte sequence.
10544 (decode_coding): Initialize coding->errors and coding->result.
10545 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
10546 and raw-text, always call decode_eol. Handle the case of last
10547 block here. If not coding->dst_multibyte, convert the resulting
10548 sequence to unibyte.
10549 (encode_coding): Initialize coding->errors and coding->result.
10550 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
10551 and raw-text, always call encode_eol. Handle the case of last
10552 block here.
10553 (shrink_decoding_region, shrink_encoding_region): Detect cases
10554 that we can't skip data more rigidly.
10555 (code_convert_region): Setup src_multibyte and dst_multibyte
10556 members of coding. For decoding, if the buffer is multibyte,
10557 convert the source sequence to unibyte in advance. For encoding,
10558 if the buffer is multibyte, convert the resulting sequence to
10559 multibyte afterward.
10560 (run_pre_post_conversion_on_str): New function.
10561 (code_convert_string): Deleted and divided into the following two.
10562 (decode_coding_string, encode_coding_string): New functions.
10563 (code_convert_string1, code_convert_string_norecord): Call one of
10564 above.
10565 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
10566 MAKE_NON_ASCII_CHAR.
52283633
SM
10567 (Fset_terminal_coding_system_internal)
10568 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
10569 and dst_multibyte members.
10570 (init_coding_once): Initialize iso_code_class with new enum
10571 ISO_control_0 and ISO_control_1.
10572
10573 * coding.h (enum iso_code_class_type): Member ISO_control_code is
10574 devided into ISO_control_0 and ISO_control_1.
10575 (struct coding_system): New members src_multibyte, dst_multibyte,
10576 errors, and result. Delete member fake_multibyte.
10577 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
10578 nonzero.
10579 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
10580 nonzero.
10581
10582 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
10583 (Faset): Likewise.
10584
10585 * editfns.c (Fformat): Be sure to convert 8-bit characters to
10586 multibyte form.
10587 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
10588 combining occurs.
10589 (Ftranspose_region): Delete codes for handling byte combining.
10590
10591 * fileio.c (Finsert_file_contents): Setup src_multibyte and
10592 dst_multibyte members of coding. On handling REPLACE on unibyte
10593 buffer, convert the result of decode_coding to unibyte. On
10594 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 10595 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
10596 multibyteness of the source (buffer or string).
10597
10598 * fns.c (concat): Handle 8-bit characters correctly.
10599 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
10600 unibyte in the result.
10601 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
10602 valid multibyte form in the result.
10603 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
10604 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
10605 return -1, signal an error.
10606 (base64_encode_1): New arg MULTIBYTE. Get each character by
10607 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
10608 character is found, return -1.
10609 (Fbase64_decode_region): Delete codes for handling byte-combining.
10610 Treat each decoded byte as a unibyte character.
10611 (Fbase64_decode_string): Return unibyte string.
10612 (Fcompare_strings, concat, string_byte_to_char): Use
10613 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
10614 FETCH_STRING_CHAR_ADVANCE.
10615 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
10616 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
10617
10618 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
10619 SPLIT_NON_ASCII_CHAR.
10620 (fontset_ref_via_base, fontset_set): Likewise
10621
10622 * insdel.c (adjust_markers_for_record_delete): Deleted.
10623 (adjust_markers_for_insert): Argument changed. Caller changed.
10624 (adjust_markers_for_replace): Likewise.
52283633
SM
10625 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
10626 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
10627 (copy_text): Delete unused local varialbe c_save. For converting
10628 to multibyte, be sure to make all 8-bit characters in valid
10629 multibyte form.
10630 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
10631 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
10632 (adjust_after_replace, replace_range, del_range_2)
c9671f81 10633 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
10634 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
10635 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
10636 handling byte combining.
10637 (adjust_before_replace): Deleted.
427ec082 10638
c9671f81
KH
10639 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
10640 SPLIT_NON_ASCII_CHAR.
10641 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 10642 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
10643 (Fkey_description): Likewise.
10644
10645 * lread.c (read1): On reading multibyte string, be sure to make
10646 all 8-bit chararacters in valid multibyte form.
10647 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
10648
10649 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
10650 unconditionally.
10651
10652 * process.c (Fstart_process): GCPRO current_dir before calling
10653 Ffind_operation_coding_system. Encode arguments here.
10654 (create_process): Don't encode arguments here. Setup
10655 src_multibyte and dst_multibyte members of struct coding.
10656 (read_process_output): Setup src_multibyte and dst_multibyte
10657 members of struct coding. If the output is to multibyte buffer,
10658 always decode the output of the process. Adjust the
52283633 10659 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
10660 (send_process): Setup coding->src_multibyte according to the
10661 multibyteness of the source.
10662
52283633 10663 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
10664 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
10665 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
10666
52283633 10667 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
10668
10669 * w16select.c (Fw16_set_clipboard_data): Setup members
10670 src_multibyte and dst_multibyte of coding. Adjusted for the
10671 change for find_charset_in_str.
10672 (Fw16_get_clipboard_data): Likewise.
10673
10674 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
10675 dst_multibyte of coding.
10676 (x_to_w32_font): Likewise.
10677
10678 * w32select.c (Fw32_set_clipboard_data): Setup members
10679 src_multibyte and dst_multibyte of coding. Adjusted for the
10680 change for find_charset_in_str.
10681 (Fw32_get_clipboard_data): Likewise.
10682
10683 * xdisp.c (get_next_display_element): Handle 8-bit characters
10684 correctly.
52283633
SM
10685 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
10686 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
10687
10688 * xselect.c (selection_data_to_lisp_data): Setup members
10689 src_multibyte and dst_multibyte of coding. Adjusted for the
10690 change for find_charset_in_str.
10691 (lisp_data_to_selection_data): Likewise.
10692
5f64c9e0
GM
106932000-05-19 Gerd Moellmann <gerd@gnu.org>
10694
52283633 10695 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 10696
5f64c9e0
GM
10697 * dispextern.h (Vimage_types): Add extern declaration.
10698
10699 * xdisp.c (Vimage_types): Moved here from xfns.c.
10700 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
10701
10702 * xfns.c (Vimages_types): Moved to xdisp.c.
10703 (syms_of_xfns): Move `image-types' to xdisp.c.
10704
10705 * w32fns.c (Vimage_types): Removed.
10706 (syms_of_w32fns): Remove `image-types'.
10707
813086ea
KH
107082000-05-18 Kenichi Handa <handa@etl.go.jp>
10709
10710 * fns.c (map_char_table): Pay attention to character number of
10711 charset. Check the validity of charset at the first level. For
10712 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
10713 the default value.
10714
10715 * fontset.c: Include "buffer.h".
10716 (fs_load_font): If the face has fontset, record the face ID in
10717 that fontset.
10718 (Finternal_char_font): New function.
10719 (accumulate_font_info): New function.
10720 (Ffontset_info): Rewritten for the new fontset implementation.
10721 (syms_of_fontset): Register Vdefault_fontset in the first element
10722 of Vfontset_table. Include Vdefault_fontset in
10723 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
10724 function.
10725
bdaebbf0
DL
107262000-05-16 Dave Love <fx@gnu.org>
10727
10728 * m/iris5d.h: Deleted -- unused.
10729
cb613bb8
GM
107302000-05-16 Gerd Moellmann <gerd@gnu.org>
10731
b15f3b77
GM
10732 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
10733 `invalid' instead of `illegal'.
10734
10735 * indent.c (Fmove_to_column): When ending within a tab, insert
10736 spaces first so that markers at the end of the tab get adjusted.
10737
835c1b36
GM
10738 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
10739 buffer list that wasn't selected in that frame.
10740
cb613bb8
GM
10741 * filelock.c (get_boot_time): To obtain an 8 char file name, which
10742 is needed on mescaline, use a 2 char prefix, and call
10743 make_temp_name with second arg non-zero.
10744
10745 * fileio.c (make_temp_name): New function, extracted from
10746 Fmake_temp_name.
10747 (Fmake_temp_name): Use it.
10748
f685bea9
EZ
107492000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
10750
52283633 10751 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 10752
a1b8d58b
GM
107532000-05-15 Gerd Moellmann <gerd@gnu.org>
10754
10755 * Makefile.in (lisp): Add env.elc.
10756
10757 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
10758
a265079f
GM
107592000-05-12 Gerd Moellmann <gerd@gnu.org>
10760
10761 * search.c (Freplace_match): Handle case of `\N' in the
10762 replacement when there's no group N.
10763
da4496b6
GM
107642000-05-11 Gerd Moellmann <gerd@gnu.org>
10765
0ace421a
GM
10766 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
10767 of the message to message_dolog.
10768
1172eb8d
GM
10769 * keyboard.c (read_char): Don't clear current message for help
10770 events; let the code handling help events handle this. Change
10771 code detecting help events that should be ignored.
10772
da4496b6
GM
10773 * xdisp.c (handle_single_display_prop): Don't try to set PT if
10774 we're interating over a string.
10775
0623e40f
DL
107762000-05-09 Dave Love <fx@gnu.org>
10777
10778 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
10779 that offset before writing. Move gcpro region past call of
10780 Ffile_regular_p.
10781
bae2503b
DL
107822000-05-04 Dave Love <fx@gnu.org>
10783
10784 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
10785
ec82fb2f
GM
107862000-05-04 Gerd Moellmann <gerd@gnu.org>
10787
10788 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
10789 of inserted characters when BUF equals the current buffer, and PT
10790 is in front of or equal to FROM.
10791
cbf18892
GM
107922000-05-03 Gerd Moellmann <gerd@gnu.org>
10793
4ff40dd0
GM
10794 * xdisp.c (handle_single_display_prop): If display property value
10795 is invalid, or something not supported on the frame, restore
10796 iterator's position to what it was initially. Make sure to return
10797 0 for invalid and unsupported property values.
10798
cbf18892
GM
10799 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
10800 that x_per_char_metric returns null.
10801
1b0672c3
GM
108022000-05-02 Gerd Moellmann <gerd@gnu.org>
10803
576da55d
GM
10804 * xterm.h (struct face): Add forward declaration.
10805 (struct image): Ditto.
10806 (image_ascent): Add prototype.
10807
10808 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
10809 (x_draw_image_relief, x_draw_image_foreground_1): Call function
10810 image_ascent instead of using IMAGE_ASCENT.
10811
10812 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
10813 (IMAGE_ASCENT): Removed.
10814
10815 * xfns.c (Qcenter): New variable.
10816 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
10817 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
10818 (image_ascent): New function.
10819 (lookup_image): Recognize `:ascent center'.
10820 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
10821 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
10822 (xbm_load): Don't set image's ascent here.
10823 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
10824 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
10825 check ascent values here.
10826 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
10827 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
10828 (syms_of_xfns): Initialize Qcenter.
10829
1b0672c3
GM
10830 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
10831 to the limits, increase the limits.
10832
0d7811ed
KH
108332000-05-01 Kenichi Handa <handa@etl.go.jp>
10834
10835 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 10836 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 10837
a943a5ca
GM
108382000-04-28 Gerd Moellmann <gerd@gnu.org>
10839
10840 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
10841 taller than the window.
10842
5dba1e29
KH
108432000-04-28 Kenichi Handa <handa@etl.go.jp>
10844
10845 * xfaces.c (realize_x_face): Fix the argument of the second
10846 xassert. BASE_FACE may not be a face for ASCII.
10847
353964e3
GM
108482000-04-27 Gerd Moellmann <gerd@gnu.org>
10849
c76e04a8
GM
10850 * print.c (print_object): Treat print-length < 0 as nil.
10851
10852 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
10853
10854 * s/freebsd.h (TERMCAP_OBJ): Removed.
10855 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
10856
10857 * lread.c (read1): Don't treat period followed by certain
10858 characters as symbol start.
10859
10860 * xfns.c (slurp_file): New function.
10861 (xbm_image_p): Handle case of in-memory XBM files.
10862 (xbm_scan): Rewritten to work on memory buffers instead of files.
10863 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
10864 Work on memory buffers instead of files. If DATA is null test
10865 if buffer looks like an in-memory XBM file.
10866 (xbm_load_image): Renamed from xbm_load_image_file. Work on
10867 memory buffers instead of files.
10868 (xbm_file_p): New function.
10869 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
10870
353964e3
GM
10871 * lread.c (end_of_file_error): New function.
10872 (read1): Call it instead of signaling `end-of-file' directly.
10873
427ec082 10874 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
10875 with Fprinc instead of Fprin1.
10876
24d744ac
KR
108772000-04-26 Ken Raeburn <raeburn@gnu.org>
10878
10879 * window.c (freeze_window_start): Check that minibuffer scroll
10880 window isn't nil before extracting the window structure pointer
10881 from it.
10882
10883 * undo.c (record_delete): If we hit the end of the undo list, stop
10884 picking elements apart.
10885
7464346d
GM
108862000-04-26 Gerd Moellmann <gerd@gnu.org>
10887
10888 * xdisp.c (display_line): If lines are continued, restore
10889 iterator's ascent/descent information to the values before the
10890 first glyph not fitting on the line.
10891
612839b6
GM
108922000-04-25 Gerd Moellmann <gerd@gnu.org>
10893
10894 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 10895 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
10896
10897 * dispnew.c (increment_matrix_positions): Renamed from
10898 increment_glyph_matrix_buffer_positions.
10899 (increment_row_positions): Renamed from
10900 increment_glyph_row_buffer_positions.
10901
10902 * dispextern.h: Change names of renamed functions from dispnew.c
10903 in prototypes.
10904
cc181e95
GM
109052000-04-24 Gerd Moellmann <gerd@gnu.org>
10906
abfcc168
GM
10907 * fileio.c (Fdo_auto_save): Create directories for auto-save
10908 list file if necessary.
10909
cc181e95
GM
10910 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
10911 from buffer or frame.
10912 (automatic_hscrolling_p): New variable.
10913 (hscroll_windows): Scroll windows horizontally only if automatic
10914 hscrolling is allowed.
10915 (syms_of_xdisp): New variable `automatic-hscrolling'.
10916
10917 * frame.h (struct frame): Add member extra_line_spacing.
10918
10919 * xfns.c (x_set_line_spacing): New function.
10920 (Fx_create_frame): Set line spacing from resources.
10921 (Qline_spacing): New variable.
10922 (syms_of_xfns): Initialize Qline_spacing.
427ec082 10923
cc181e95
GM
10924 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
10925
10926 * buffer.c (init_buffer_once): Handle extra_line_spacing.
10927 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 10928 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
10929 extra_line_spacing from default value.
10930 (init_buffer_once): Initialize default value of extra_line_spacing.
10931
10932 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
10933 and extra3.
10934
10935 * xterm.c (x_produce_glyphs): Remove reference to struct it's
10936 prompt_width. Add extra line spacing.
10937
10938 * term.c (produce_glyphs): Remove reference to struct it's
10939 prompt_width.
10940
10941 * dispextern.h (struct it): Remove member prompt_width, add
10942 extra_line_spacing.
10943
58827478
GM
109442000-04-22 Gerd Moellmann <gerd@gnu.org>
10945
10946 * dispnew.c (update_frame_line): When writing a whole line, make
10947 sure cursor is in the right row afterwards, otherwise a use of
10948 capability `ch' in cmgoto might leave the cursor in the row below.
10949
25a87f42
GM
109502000-04-21 Gerd Moellmann <gerd@gnu.org>
10951
10952 * lisp.h (struct Lisp_Buffer_Cons): Remove.
10953
10954 * keyboard.c (timer_check): Fix typo in comment.
10955
54edf5c2
KH
109562000-04-21 Kenichi Handa <handa@etl.go.jp>
10957
10958 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
10959 name change: ch -> character.
10960
3a64eef5
GM
109612000-04-20 Gerd Moellmann <gerd@gnu.org>
10962
10963 * keyboard.c (echo_message_buffer): New variable.
10964 (echo_now): Set echo_message_buffer to the echo area buffer used
10965 to display the echo.
10966 (cancel_echoing): Reset echo_message_buffer to nil.
10967 (read_char): Code rewritten that handles canceling an echo or
10968 echoing a dash, respectively.
10969
10970 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
10971 directory doesn't exist.
10972
6142fdcb
DL
109732000-04-19 Dave Love <fx@gnu.org>
10974
10975 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
10976 (concat): Don't allow numeric args.
10977 (Fconcat): Doc change.
6142fdcb 10978
ac6b5352
SM
109792000-04-19 Stefan Monnier <monnier@cs.yale.edu>
10980
10981 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
10982 instead define end_match(1|2) more carefully.
10983 Use GET_CHAR_BEFORE_2 for `begline'.
10984
cb9215e4
GM
109852000-04-19 Gerd Moellmann <gerd@gnu.org>
10986
5e3dac3f
GM
10987 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
10988 on 64-bit systems where NULL is defined as `0'.
10989
10990 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
10991 the `variable argument list' to make it work on Alpha.
10992
cb9215e4
GM
10993 * m/alpha.h (_LP64) [!_LP64]: Define.
10994 (ORDINARY_LINK): Define for NetBSD.
10995
10996 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 10997
f532dca0
DL
109982000-04-19 Dave Love <fx@gnu.org>
10999
c750667e
DL
11000 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
11001 change.
11002
11003 * Makefile.in (LIBS): Don't use.
11004 (GETLOADAVG_OBJ): Define again.
11005 (otherobj): Add GETLOADAVG_OBJ.
11006
f532dca0
DL
11007 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
11008
1c7e22fd
GM
110092000-04-18 Gerd Moellmann <gerd@gnu.org>
11010
f6d3257b
GM
11011 * lread.c (read_filtered_event): Cancel and start busy cursor.
11012
427ec082 11013 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
11014 that the per-character metrics may be null.
11015
e10f64e7
GM
110162000-04-17 Gerd Moellmann <gerd@gnu.org>
11017
0daee095
GM
11018 * buffer.c (clone_per_buffer_values): New function.
11019 (Fmake_indirect_buffer): Add optional argument CLONE. Call
11020 clone_per_buffer_values if CLONE is not nil.
11021
e10f64e7
GM
11022 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
11023
38687d43
DL
110242000-04-16 Dave Love <fx@gnu.org>
11025
11026 * Makefile.in: Remove obsolete localcpp stuff.
11027 (GETLOADAVG_OBJ): Don't define.
11028 (obj): Move LIBOBJS...
11029 (otherobj): ... to here.
11030 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
11031 whitespace-only lines after the continuation (Irix).
11032
c21c7262
GM
110332000-04-14 Gerd Moellmann <gerd@gnu.org>
11034
11035 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
11036
11037 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
11038
314767c0
DL
110392000-04-14 Dave Love <fx@gnu.org>
11040
11041 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
11042 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
11043 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
11044 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
11045 NLIST_STRUCT.
11046
11047 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
11048 autoconfiscated HAVE_GETLOADAVG.
11049
11050 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
11051 BROKEN_MKTIME.
11052
a2522dca
GM
110532000-04-14 Gerd Moellmann <gerd@gnu.org>
11054
11055 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 11056 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 11057
33744b5d
DL
110582000-04-14 Dave Love <fx@gnu.org>
11059
c21c7262 11060 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
11061 (INTERVAL_SRC): Convert to make variable.
11062 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
11063 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
11064 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
11065 add LIBOBJS.
11066 (SOME_MACHINE_OBJECTS): Remove interval stuff.
11067 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
11068 (shortlisp): Add facemenu, float-sup, frame.
11069 (SOME_MACHINE_LISP): Remove them from here.
11070 (LIBES): Change unused LDLIBS to autoconf LIBS.
11071
11072 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
11073
9d3d5916
KH
110742000-04-14 Kenichi Handa <handa@etl.go.jp>
11075
11076 * composite.c (update_compositions): If FROM and TO are not in a
11077 valid range, do nothing.
11078
198e3c7a
GM
110792000-04-13 Gerd Moellmann <gerd@gnu.org>
11080
52283633 11081 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 11082
52283633 11083 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
11084
11085 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
11086 as TERMCAP_OBJ.
11087
055a28c9
EZ
110882000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
11089
11090 * fileio.c (a_write): Remove redundant semi-colons.
11091 (e_write): Return -1 if failed to write all the data.
11092 This fixes the changes made at 1999-12-15.
11093
f5c75033
DL
110942000-04-12 Dave Love <fx@gnu.org>
11095
11096 * fns.c (mapcar1): Test for null vals to support mapc.
11097 (Fmapc): New function.
11098
0c3cfc51
EZ
110992000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
11100
11101 * msdos.c (NUM_MOUSE_BUTTONS): Define.
11102 (IT_frame_up_to_date): Support the buffer local value of
11103 cursor-type, if defined.
11104
33465a31
DL
111052000-04-10 Dave Love <fx@gnu.org>
11106
11107 * editfns.c (preceding-char, following-char): Doc fix.
11108
6ed56568
KR
111092000-04-10 Ken Raeburn <raeburn@gnu.org>
11110
11111 * Makefile.in (temacs): Revert 2000-03-12 change.
11112
7cf80d4e
JR
111132000-04-10 Jason Rumney <jasonr@gnu.org>
11114
11115 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
11116
34f3f342
GM
111172000-04-10 Gerd Moellmann <gerd@gnu.org>
11118
1a1b1895
GM
11119 * xdisp.c (setup_echo_area_for_printing): Choose an echo
11120 area buffer, if it's not set up yet.
11121
34f3f342
GM
11122 * indent.c (compute_motion): Set immediate_quit.
11123
be0dbdab
GM
111242000-04-09 Gerd Moellmann <gerd@gnu.org>
11125
52283633 11126 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
11127 (realize_tty_face): Suppress boldness if colors are the inverse of
11128 the default colors, and tty_suppress_bold_inverse_default_colors_p
11129 is set.
11130 (Ftty_suppress_bold_inverse_default_colors): New function.
11131 (syms_of_xfaces): Defsubr it.
11132
be0dbdab
GM
11133 * buffer.c (Frestore_buffer_modified_p): New function.
11134 (syms_of_buffer): Defsubr it.
11135
e8413c3b
KR
111362000-04-08 Ken Raeburn <raeburn@gnu.org>
11137
87f67317
KR
11138 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
11139 charset id (int) argument, not a charset (Lisp_Object).
11140
e8413c3b
KR
11141 * coding.h (code_convert_string): Declare.
11142 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
11143 object, as the fourth argument to code_convert_string.
11144
52283633 11145 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
11146 (Fset_fontset_font): Use EQ to compare lisp objects.
11147
7c752c80
KR
111482000-04-05 Ken Raeburn <raeburn@gnu.org>
11149
c0333abc
KR
11150 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
11151 a pointer that looks like a lisp object.
11152 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
11153 zero, instead see whether it's an integer object, since they can't
11154 have intervals.
11155 (GET_INTERVAL_OBJECT): Simply assign to the destination.
11156
52283633
SM
11157 * dispnew.c (allocate_matrices_for_frame_redisplay)
11158 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
11159 to convert between (unsigned) int values and lisp integers.
11160 * keyboard.c (read_key_sequence): Likewise.
11161 * lread.c (substitute_object_recurse): Likewise.
11162 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
11163 * minibuf.c (do_completion, Fminibuffer_complete_word)
11164 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
11165 * term.c (produce_special_glyphs): Likewise.
11166
11167 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
11168 * print.c (print_preprocess, print_object): Likewise.
11169
11170 * search.c (compile_pattern): Use NILP when checking for nil.
11171
74e49b38
KR
11172 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
11173 __OPTIMIZE__]: Provide a GNU C macro version that handles
11174 lisp-object unions.
11175 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
11176 field, to better cope with ENABLE_CHECKING and calls that modify a
11177 Lisp_Object using its old value.
11178
685e5ed2
GM
111792000-04-04 Gerd Moellmann <gerd@gnu.org>
11180
c407c570
GM
11181 * window.c (compare_window_configurations): Signal an error
11182 if parameters C1 or C2 aren't window configurations.
11183
685e5ed2
GM
11184 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
11185 AFTER_POTENTIAL_GC calls around calls to functions that can
11186 signal an error and thus invoke the debugger.
11187
587a49ab
GM
111882000-04-03 Gerd Moellmann <gerd@gnu.org>
11189
62f20204
GM
11190 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
11191 an error if decoding fails.
11192
587a49ab
GM
11193 * keyboard.c (lispy_mouse_names): Variable removed.
11194 (Vlispy_mouse_stem): New variable.
11195 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
11196 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
11197 for any mouse button number. Increase size of mouse_syms and
11198 button_down_location as needed. Call modify_event_symbol with
11199 different arguments.
11200 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
11201 Call modify_event_symbol with different arguments.
11202 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
11203 for any button number. Call modify_event_symbol with different
11204 arguments.
11205 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
11206 Accept a string for NAME_ALIST_OR_STEM.
11207
11208 * lisp.h (larger_vector): Add prototype.
11209
11210 * fns.c (larger_vector): Make externally visible.
11211
11212 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
11213
2d1675e4
SM
112142000-04-02 Stefan Monnier <monnier@cs.yale.edu>
11215
11216 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
11217 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
11218 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
11219 we are between str1 and str2.
11220 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
11221 (PATFETCH): Use `TRANSLATE'.
11222 (PATFETCH_RAW): Fetch multibyte char if applicable.
11223 (PATUNFETCH): Remove.
11224 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
11225 When writing a char, write it directly into the pattern buffer rather
11226 than going needlessly through a temp char-array.
11227 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
11228 multibyte magic and remove the useless `#ifdef emacs'.
11229 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
11230 buffer.
11231
11232 * regex.h (struct re_pattern_buffer): Make field `multibyte'
11233 conditional on `emacs'.
11234
11235 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
11236
cc2d8c6b
KR
112372000-04-01 Ken Raeburn <raeburn@gnu.org>
11238
11239 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
11240 non-union-type versions of XMARK and friends here, because XMARK
11241 and friends won't work on an integer field if NO_UNION_TYPE is not
11242 defined.
52283633 11243 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 11244
52283633 11245 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
11246 (syms_of_composite): Delete local var NARGS, pass an int as first
11247 argument to Fmake_hash_table.
11248
2387b382
KR
11249 * editfns.c (text_property_stickiness): Use NILP to test
11250 Lisp_Object boolean value.
11251 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
11252 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
11253 problems reading from and changing the same lisp value in an
11254 XSETSTRING call.
11255
27660e89
GM
112562000-04-01 Gerd Moellmann <gerd@gnu.org>
11257
11258 * term.c (TN_no_color_video): New variable.
11259 (term_init): Intitialize TN_no_color_video.
11260 (enum no_color_bit): New enumeration.
11261 (MAY_USE_WITH_COLORS_P): New macro.
11262 (turn_on_face): Use it to determine if attributes may be used
11263 combined with colors.
11264
3578db3c
KR
112652000-04-01 Ken Raeburn <raeburn@gnu.org>
11266
11267 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 11268 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
11269 (enlarge_window): Variable sizep now points to Lisp_Object. Use
11270 proper accessor macros.
11271 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
11272 (grow_mini_window): Fix typo getting int value of root->height.
11273
6fc556fd
KR
11274 * xdisp.c (compute_string_pos): Fix order of arguments to
11275 string_pos_nchars_ahead.
11276 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
11277 count arg to variable-arg routines like Frun_hook_with_args and
11278 Fformat.
587a49ab
GM
11279 (back_to_previous_visible_line_start)
11280 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
11281 fixed-arg routines like Fget_char_property and Fmake_string.
11282 (reconsider_clip_changes): Use XINT when comparing integer lisp
11283 objects, or passing them as int arguments.
587a49ab
GM
11284 (mark_window_display_accurate, insert_left_trunc_glyphs)
11285 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
11286 storing or passing integer values as lisp objects.
11287 (set_cursor_from_row, highlight_trailing_whitespace): Use
11288 INTEGERP, not implicit test against zero, for glyph object.
11289 (try_window_id): Don't use make_number when we want an int value.
11290
11291 * xfaces.c (xlfd_symbolic_value): Make last argument a
11292 Lisp_Object, to be consistent with callers.
11293 (Fbitmap_spec_p): Use XINT to get numeric value of height.
11294 (lface_hash): Apply XFASTINT to lisp values before folding in.
11295
11296 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
11297 fill in window width and height. Pass an int, not a lisp object,
11298 as first arg to Finsert.
11299
6e7b2457
GM
113002000-04-01 Gerd Moellmann <gerd@gnu.org>
11301
610d841e
GM
11302 * xfaces.c (realize_basic_faces): Block input while realizing
11303 the faces.
11304
6e7b2457
GM
11305 * keyboard.c (lispy_mouse_names): Add additional mouse names.
11306
11307 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
11308
aa110c0c
GM
113092000-03-31 Gerd Moellmann <gerd@gnu.org>
11310
11311 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 11312 or ASCII, handle case that per-char metric is null.
aa110c0c 11313
8801a864
KR
113142000-03-30 Ken Raeburn <raeburn@gnu.org>
11315
c6129d7e
KR
11316 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
11317
52283633
SM
11318 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
11319 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
11320 pointer, using eassert.
11321 * frame.h (XFRAME): Likewise.
11322
52283633
SM
11323 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
11324 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
11325 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 11326 * data.c (set_internal): Likewise.
52283633
SM
11327 * dispextern.h (WINDOW_WANTS_MODELINE_P)
11328 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
11329 * fileio.c (auto_save_1): Likewise.
11330 * insdel.c (check_markers): Likewise.
11331 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
11332 * undo.c (record_insert): Likewise.
11333 * vmsproc.c (child_sig): Likewise.
11334 * window.c (unshow_buffer, window_loop): Likewise.
11335 * xterm.c (x_erase_phys_cursor): Likewise.
11336
8e7af858
GM
113372000-03-30 Gerd Moellmann <gerd@gnu.org>
11338
11339 * xfns.c (free_image_cache): Free the cache structure itself
11340 last, after all its members have been freed.
11341
11342 * lisp.h (xstrdup): Add prototype.
11343
11344 * alloc.c (xstrdup): Moved here from xfaces.c.
11345 (allocating_for_lisp): Variable removed.
52283633 11346 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
11347
11348 * xfaces.c (realize_tty_face): Use find_symbol_value instead
11349 of Fsymbol_value.
11350 (xstrdup): Moved to alloc.c.
11351
e0b8c689
KR
113522000-03-29 Ken Raeburn <raeburn@gnu.org>
11353
b96f9fb7
KR
11354 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
11355
11356 * emacs.c (main): Fix sense of no-loadup test.
11357
e0b8c689
KR
11358 * config.in (ENABLE_CHECKING): Undef.
11359
11360 * lisp.h (struct interval): Replace "parent" field with a union of
11361 interval pointer and Lisp_Object; add new bitfield to use as
11362 discriminant. Change other flag fields to bitfields.
11363 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
11364 is defined and the supplied test fails, print a message and abort.
11365 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
11366
11367 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
11368 pointers; abort if the value looks like a lisp object.
52283633
SM
11369 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
11370 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
11371 Modify for new interval parent definition.
11372
52283633
SM
11373 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
11374 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
11375 addressable lisp object in the interval structure.
11376 (die): New function.
11377 (suppress_checking): New variable.
11378
11379 * intervals.c (interval_start_pos): Just return 0 if there's no
11380 parent object.
11381
f83c5440
GM
113822000-03-29 Gerd Moellmann <gerd@gnu.org>
11383
11384 * lread.c (read1): Accept `.' (period) as symbol start like in CL
11385 and earlier Emacs versions.
11386
11387 * keyboard.c (Ftop_level): Cancel busy-cursor.
11388
11389 * eval.c (call_debugger): Cancel busy-cursor.
11390
fdce64ff
KH
113912000-03-29 Kenichi Handa <handa@etl.go.jp>
11392
11393 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 11394 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 11395
f6a3f532
SM
113962000-03-28 Stefan Monnier <monnier@cs.yale.edu>
11397
11398 * regex.c (analyse_first): New function obtained by ripping out most
11399 of re_compile_fastmap and generalizing it a little bit so that it
11400 can also just return whether a given (sub)pattern can match the empty
11401 string or not.
11402 (regex_compile): Use `analyse_first' to decide whether the loop-check
11403 needs to be done or not for *, +, *? and +? (the loop check is costly
11404 for non-greedy repetition).
11405 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
11406
e9b309ac
DL
114072000-03-28 Dave Love <fx@gnu.org>
11408
52283633 11409 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 11410
e9b309ac
DL
11411 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
11412
ed0767d8
SM
114132000-03-27 Stefan Monnier <monnier@cs.yale.edu>
11414
11415 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
11416 an expression.
11417 (enum re_opcode_t): Update description of succeed_n.
11418 (PATFETCH): Always define.
11419 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
11420 operators, char classes, shy-groups and intervals).
11421 Optimize special cases of intervals so as to only use succeed_n and
11422 jump_n when really needed.
11423 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
11424 that we don't have to handle the special cases any more.
11425 Simplify on_failure_jump handling as well.
11426
e11e7e46
JR
114272000-03-28 Jason Rumney <jasonr@gnu.org>
11428
11429 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
11430
88faab89
GM
114312000-03-27 Gerd Moellmann <gerd@gnu.org>
11432
182ff242
GM
11433 * s/freebsd.h (GC_SETJMP_WORKS): Define.
11434
11435 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 11436
182ff242
GM
11437 * alloc.c (mark_maybe_object): New function.
11438 (mark_memory): Use it.
11439 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
11440 (setjmp_tested_p, longjmp_done): New variables.
11441 (test_setjmp): New function.
11442 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
11443 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
11444
c1005d06
GM
11445 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
11446 to DEC_TEXT_POS and INC_TEXT_POS.
11447
11448 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
11449 with parameter MULTIBYTE_P.
11450
52283633 11451 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 11452
7439e5b9 11453 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
11454 buffers because it looks for multibyte character byte sequences
11455 which don't exist in unibyte text.
7439e5b9 11456
d9c545da
GM
11457 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
11458
11fd416e 11459 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
11460 [DEBUG_X_COLORS]: New functions.
11461 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
11462
11463 * xfns.c (x_set_cursor_color): Get color reference counts right.
11464
11465 * xterm.c (x_copy_color): New function.
11466 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
11467
11468 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
11469 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
11470 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
11471 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
11472 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
11473 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
11474 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
11475 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
11476 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
11477 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
11478
11fd416e
GM
11479 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
11480 names for handling per-buffer variables.
d9c545da
GM
11481
11482 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
11483 instead of MAX_BUFFER_LOCAL_VARS.
11484 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
11485
11486 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
11487
88faab89
GM
11488 * xfns.c (x_specified_cursor_type): New function.
11489 (x_set_cursor_type): Use it.
11490
11491 * buffer.h (struct buffer): Add cursor_type.
11492
d80f42b7
SM
114932000-03-26 Stefan Monnier <monnier@cs.yale.edu>
11494
11495 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
11496 (print_partial_compiled_pattern, re_compile_fastmap):
11497 Handle new opcode.
d80f42b7
SM
11498 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
11499 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
11500 executing it as well as when popping it off the stack to find infinite
11501 loops in non-greedy repetition operators.
11502
89e80928
GM
115032000-03-26 Gerd Moellmann <gerd@gnu.org>
11504
3d4ff2dd
GM
11505 * doc.c (Qfunction_documentation): New variable.
11506 (syms_of_doc): Initialize Qfunction_documentation.
11507 (Fdocumentation): If FUNCTION is a symbol with non-nil
11508 `function-documentation' property, return a documentation derived
11509 from that.
11510
bd96bd79
GM
11511 * buffer.c (syms_of_buffer): Add default-cursor-type.
11512 (init_buffer_once): Don't let cursor_type have a local value
11513 in every buffer.
11514
19d1bc27
GM
11515 * xterm.c (x_display_and_set_cursor): Choose cursor depending
11516 on buffer-local value of cursor_type.
11517 (x_draw_bar_cursor): Add parameter WIDTH.
11518
11519 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
11520 (init_buffer_once): Set default cursor_type value to t.
11521 Mark cursor_type as local everywhere.
11522 (syms_of_buffer): New per-buffer variable cursor-type.
11523
89e80928
GM
11524 * buffer.h (struct buffer): Remove member local_var_flags,
11525 add local_flags.
11526 (MAX_BUFFER_LOCAL_VARS): New macro.
11527 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
11528 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
11529 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
11530 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
11531
52283633 11532 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
11533
11534 * category.c (Fset_category_table): Use new macros for per-buffer
11535 variables.
11536
11537 * buffer.c (buffer_permanent_local_flags): Make a char array.
11538 (max_buffer_local_idx): New variable.
11539 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
11540 for new handling of per-buffer variables.
11541 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
11542 (init_buffer_once): Initialize per-buffer vars differently.
11543 Set max_buffer_local_idx.
11544
11545 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
11546 variables.
11547
52283633 11548 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
11549
11550 * data.c (do_symval_forwarding, store_symval_forwarding)
11551 (find_symbol_value, set_internal, default_value, Fset_default)
11552 (Fkill_local_variable, Flocal_variable_p): Use new macros for
11553 per-buffer variables.
11554
11555 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
11556
9a0dd3dc
GM
115572000-03-24 Gerd Moellmann <gerd@gnu.org>
11558
b68c375f
GM
11559 * xterm.c (x_term_init): Unblock input around call1 of
11560 Qvendor_specific_keysyms.
11561
9a0dd3dc
GM
11562 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
11563 (find_defun_start): Consider an open parenthesis in column 0
11564 a defun start only if open_paren_in_column_0_is_defun_start is set.
11565 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
11566
7973e637
SM
115672000-03-24 Stefan Monnier <monnier@cs.yale.edu>
11568
11569 * eval.c (Fautoload): Add entry in load-history (if after dump).
11570 * lread.c (load-history): Update docstring.
11571
39210e90
GM
115722000-03-24 Gerd Moellmann <gerd@gnu.org>
11573
11574 * indent.c (Fvertical_motion): Always use the current buffer.
11575 Temporarily change the window's buffer, if necessary.
11576
72db3ab5
GM
115772000-03-23 Gerd Moellmann <gerd@gnu.org>
11578
11579 * xterm.c (fast_find_position): Make sure not to consider rows
11580 not visible in the window.
11581
990b2375
SM
115822000-03-22 Stefan Monnier <monnier@cs.yale.edu>
11583
11584 * regex.c (enum syntaxcode): Provide default for non-Emacs.
11585 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
11586
ff4df011
JR
115872000-03-22 Jason Rumney <jasonr@gnu.org>
11588
11589 * w32menu.c (single_submenu): Set help string to NULL if none.
11590 (w32_menu_show): Set help string correctly.
11591 (add-menu-item): Set help string in MIIM_DATA for menu item.
11592 Load SetMenuItemInfoA explicitly.
11593 (w32_menu_display_help): New function.
427ec082 11594
ff4df011
JR
11595 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
11596 (QCdata): Moved to xdisp.c.
11597
11598 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
11599 (Vw32_charset_to_codepage_alist): Removed.
11600 (Vw32_charset_info_alist): New variable.
52283633
SM
11601 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
11602 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
11603 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
11604 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
11605 with TODO comment.
11606 (w32_codepage_for_font): Use Vw32_charset_info_alist.
11607 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
11608 Define Vw32_charset_info_alist and w32_charset symbols.
11609
116102000-03-22 Jason Rumney <jasonr@gnu.org>
11611
11612 * makefile.nt (w32bdf.obj): Update dependencies.
11613
11614 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
11615
11616 * w32fns.c: Include fontset.h after dispextern.h.
11617 (Fx_create_frame): Do not create fontset.
11618 (w32_load_system_font): Doc fix.
11619 (Fx_close_connection): Free full_name if it is not shared.
11620
11621 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
11622 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
11623 Callers updated.
ff4df011
JR
11624 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
11625 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
11626 (w32_font_is_double_byte): New function, needs body.
11627 (x_append_glyph): Set glyph->glyph_not_available_p.
11628 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
11629 it->charset. If it->multibyte_p is zero and it->c is a multibyte
11630 character, convert it to a unibyte character.
11631 (struct glyph_string): Delete member `charset'.
11632 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
11633 calculating it is found.
11634 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
11635 the case that per char metric is not available correctly.
11636 (x_fill_glyph_string): Handle the case that the specific glyph is
11637 not available correctly.
11638 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
11639 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
11640 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
11641 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
11642 fontset. Don't call FS_LOAD_FONT.
11643
439d5cb4
KR
116442000-03-22 Ken Raeburn <raeburn@gnu.org>
11645
11646 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
11647 (INT_LISPLIKE): New macro.
11648 (NULL_INTERVAL_P): Use it.
52283633
SM
11649 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
11650 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
11651 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
11652
11653 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
11654 explicit references to "parent" field of struct interval and
11655 associated unclean type conversions.
52283633
SM
11656 * intervals.c (create_root_interval, root_interval, rotate_right)
11657 (rotate_left, balance_possible_root_interval, split_interval_right)
11658 (split_interval_left, interval_start_pos, find_interval)
11659 (next_interval, previous_interval, update_interval)
11660 (adjust_intervals_for_insertion, delete_node, delete_interval)
11661 (adjust_intervals_for_deletion, merge_interval_right)
11662 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
11663 (copy_intervals_to_string): Likewise.
439d5cb4
KR
11664 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
11665 Likewise.
11666 * syntax.c (update_syntax_table): Likewise.
11667
11668 * intervals.c (reproduce_tree_obj): New function, like
11669 reproduce_tree but takes a Lisp_Object for the parent. Declare
11670 with prototype.
11671 (graft_intervals_into_buffer): Use it when appropriate.
11672 (reproduce_tree): Declare with prototype.
11673 (balance_possible_root_interval): Check that the parent is a lisp
11674 object before trying to examine its type.
11675
ee1c5b21
GM
116762000-03-22 Gerd Moellmann <gerd@gnu.org>
11677
11678 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
11679 as strings only if both are known to be strings.
11680
11681 * s/openbsd.h (LIBS_TERMCAP): Undef.
11682
1fb352e0
SM
116832000-03-21 Stefan Monnier <monnier@cs.yale.edu>
11684
11685 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
11686 definitions for non-Emacs compilation.
11687 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
11688 outside of `#ifdef emacs'.
11689 (print_partial_compiled_pattern): Update.
11690 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
11691 (re_compile_fastmap): Merge handling of charset and charset_not (for
11692 emacs and non-emacs compilation as well).
11693 Similarly for (not)categoryspec and (not)syntaxspec.
11694 Don't use the fastmap when reaching `anychar' since the added
11695 complexity is not justified.
11696 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
11697 and (not)syntaxspec. Merge (not)categoryspec.
11698
fdaa1f77
KH
116992000-03-22 Kenichi Handa <handa@etl.go.jp>
11700
52283633
SM
11701 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
11702 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 11703 --without-x.
fdaa1f77 11704
d152fb46
DL
117052000-03-21 Dave Love <fx@gnu.org>
11706
11707 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
11708 doc string.
11709
d2cafc8c
GM
117102000-03-21 Gerd Moellmann <gerd@gnu.org>
11711
11712 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
11713 (lface_fully_specified_p): Don't check contents of
11714 LFACE_FONT_INDEX because that attribute is optional.
11715 (realize_x_face): Remove now unwarranted xassert.
11716
9111d4b5
KH
117172000-03-21 Kenichi HANDA <handa@etl.go.jp>
11718
11719 The following changes are to make font selection based on
11720 characters, not charset. In addition, they recover fontset
11721 facilities while utilizing the new font selection mechanism.
11722
6c4bfdc0
KH
11723 * Makefile.in (fontset.o): Depend on dispextern.h.
11724
11725 * alloc.c (mark_face_cache): Don't mark face->registry.
11726
9111d4b5
KH
11727 * dispextern.h (struct glyph): New member glyph_not_available_p.
11728 Use 22 bits for face_id.
11729 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
11730 (struct face): Delete member registry, new member ascii_face.
11731 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
11732 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
11733 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 11734 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
11735
11736 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
11737 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
11738 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
11739 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 11740 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
11741 (fs_free_face_fontset, fontset_font_pattern)
11742 (face_suitable_for_char_p, face_for_char)
11743 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
11744 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
11745 (FS_LOAD_FACE_FONT): New macro.
11746
11747 * fontset.c: All codes rewritten or adjusted for the change of
11748 fontset implementation. Now fontset is represented by char table.
52283633
SM
11749 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
11750 Variables removed.
9111d4b5 11751 (my_strcasecmp): Function removed.
52283633 11752 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 11753 (AREF, ASIZE): New macros.
52283633
SM
11754 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
11755 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
11756 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
11757 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
11758 (fontset_id_valid_p, font_family_registry, fontset_name)
11759 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
11760 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
11761 New functions.
11762 (fs_load_font): New arg FACE. Caller changed.
11763 (fs_query_fontset): Argument changed. Caller changed.
11764 (Fquery_fontset): call fs_query_fontset.
11765 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
11766 Functions removed.
52283633
SM
11767 (clear_fontset_elements, check_registry_encoding)
11768 (check_fontset_name): New functions.
9111d4b5
KH
11769 (syms_of_fontset): Set char-table-extra-slots property of fontset
11770 to 3. Staticpro and initialize Vfontset_table and
11771 Vdefault_fontset. Defsubr fontset_font and fontset_list.
11772
11773 * frame.h (struct frame): Member `fontset_data' removed.
11774 (FRAME_FONTSET_DATA): Macro removed.
11775
11776 * frame.c (make_frame): Don't allocate f->fontset_data.
11777 (Fdelete_frame): Don't free f->fontset_data.
11778
6c4bfdc0
KH
11779 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
11780
9111d4b5
KH
11781 * xdisp.c (charset_at_position): Function removed.
11782 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
11783 (handle_face_prop, reseat_to_string, set_iterator_to_next)
11784 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
11785 Likewise.
11786 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
11787 FACE_FOR_CHARSET.
52283633
SM
11788 (get_next_display_element, append_space)
11789 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
11790
11791 * xfaces.c (Qx_charset_registry, Vface_default_registry):
11792 Variables removed.
11793 (clear_font_table, frame_update_line_height, load_face_font):
11794 Adjusted for the change of fontset implementation.
11795 (load_face_fontset_font): Function removed.
11796 (pixel_point_size): New function.
11797 (font_list): Argument type changed. Caller changed.
11798 (LFACE_FONT): New macro.
11799 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
11800 (set_lface_from_font_name): Type of arg FONTNAME is changed to
11801 Lisp_Object. Determine the font name by actually loading a font
11802 by the specified pattern. Set LFACE_FONT (lface) to the specified
11803 pattern. Even if a font is not found, don't try alternatives.
11804 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
11805 (set_font_frame_param): If `font' is specified in lface, use it.
11806 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
11807 (lface_same_font_attributes_p): Likewise.
11808 (make_realized_face): Arguent changed. Caller changed. Set
11809 face->ascii_face to face itself.
11810 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
11811 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
11812 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
11813 (free_realized_multibyte_face): New function.
11814 (lookup_face, lookup_named_face, lookup_derived_face): Argument
11815 changed. Caller changed.
11816 (try_font_list): Argument type changed.
11817 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
11818 (choose_face_font): Argument changed. Handle fontset properly.
11819 (choose_face_fontset_font): Function removed.
11820 (realize_default_face, realize_named_face): Don't remove the
11821 former face here.
11822 (realize_face): Argument changed. Caller changed. Remove face
52283633 11823 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
11824 (realize_x_face): Argument changed. Caller changed. For a
11825 multibyte character, share fontset with base_face. For a single
52283633 11826 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
11827 (realize_tty_face): Argument changed. Caller changed.
11828 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
11829 (face_at_buffer_position): Don't check multibyte_p for returning
11830 DEFAULT_FACE_ID.
11831 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
11832 FACE_SUITABLE_FOR_CHARSET_P.
11833 (syms_of_xfaces): Remove code for Qx_charset_registry and
11834 Vface_default_registry.
11835
6c4bfdc0
KH
11836 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
11837 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
11838 (x_per_char_metric): Don't try FONT->default_char. Even if
11839 pcm->width is zero, glyph bits may exist.
11840 (x_encode_char): Always initialize char2b->byte1.
11841 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 11842 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
11843 (x_append_glyph): Set glyph->glyph_not_available_p.
11844 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
11845 it->charset. Handle the case that per char metric is not
11846 available. If it->multibyte_p is zero and it->c is a multibyte
11847 character, convert it to a unibyte character.
11848 (struct glyph_string): Delete member `charset'.
11849 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
11850 the case that per char metric is not available correctly.
11851 (x_fill_glyph_string): Handle the case that the specific glyph is
11852 not available correctly.
11853 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
11854 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
11855 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
11856 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
11857 fontset. Don't call FS_LOAD_FONT.
11858
11859 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
11860 (x_create_tip_frame): Likewise.
11861 (Fx_close_connection): Free full_name of font_info.
11862
11863 * fns.c (optimize_sub_char_table): New function.
11864 (Foptimize_char_table): New function.
11865 (syms_of_fns): Defsubr Soptimize_char_table.
11866
b33dd3b0
GM
118672000-03-20 Gerd Moellmann <gerd@gnu.org>
11868
11869 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
11870 only if buffer is displayed in some window.
11871
11872 * xdisp.c (handle_single_display_prop): Initialize local `value'.
11873 (try_window_reusing_current_matrix): Don't call scroll run
11874 function if run's current and desired position are the same;
11875 this prevents cursor flickering.
11876
4e8a9132
SM
118772000-03-19 Stefan Monnier <monnier@cs.yale.edu>
11878
11879 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
11880
11881 * regex.c (RE_STRING_CHAR): New macro.
11882 (GET_CHAR_AFER_2): Remove.
11883 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
11884 (enum re_opcode_t): Remove on_failure_jump_exclusive.
11885 (print_partial_compiled_pattern, re_compile_fastmap)
11886 (re_match_2_internal): Remove on_failure_jump_exclusive.
11887 (regex_compile): Turn optimizable P+ loops into PP*, so that the
11888 optimization only need to work for * (ie. can use of_keep_string_jump).
11889 Remove the special case for .*\n since it is now covered by the general
11890 optimization.
11891 (re_search_2): Don't bother with `room'.
11892 (skip_one_char): New function.
11893 (skip_noops): Simplify since `memory' is not needed any more.
11894 (mutually_exclusive_p): Restructure slightly to use `switch' and
11895 add handling for "all" remaining cases.
11896 (re_match_2_internal): Change on_failure_jump_smart to use
11897 on_failure_keep_string_jump (and redirect the end-of-loop jump)
11898 rather than on_failure_jump_exclusive.
11899
2136fdd4
GM
119002000-03-19 Gerd Moellmann <gerd@gnu.org>
11901
11902 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
11903 number of bits per RGB because it's everywhere used as the depth
11904 of the visual.
11905
11906 * term.c (calculate_costs): Remove code dealing with X frames.
11907
18e21ce8 119082000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
11909
11910 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
11911
d7b511c4
GM
119122000-03-18 Gerd Moellmann <gerd@gnu.org>
11913
11914 * lread.c (read_integer): Unread the last char not consumed.
11915
16b5d424
GM
119162000-03-17 Gerd Moellmann <gerd@gnu.org>
11917
11918 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 11919 which are in the process of being deleted.
16b5d424 11920
1fa28578
GM
119212000-03-16 Gerd Moellmann <gerd@gnu.org>
11922
83488cce
GM
11923 * Makefile.in (mostlyclean): Add `*.core'.
11924 (clean): Add `bootstrap-emacs'.
11925
1fa28578
GM
11926 * lread.c (read_integer): New function.
11927 (read1): Support read syntax #o, #x, #b, #r.
11928
99633e97
SM
119292000-03-15 Stefan Monnier <monnier@cs.yale.edu>
11930
1fa28578
GM
11931 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
11932 make sure POINTER_TO_OFFSET gives the same value before and after
11933 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
11934 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
11935 (debug): Now only active if > 0 rather than if != 0.
11936 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
11937 (print_partial_compiled_pattern): Add missing `succeed' case. Use
11938 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
11939 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
11940 (store_op1, store_op2, insert_op1, insert_op2)
11941 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
11942 (group_in_compile_stack): Move to after its arg's types are
11943 declared and add a prototype.
99633e97 11944 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 11945 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 11946 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
11947 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
11948 indentation of the greedy-op and shy-group code.
99633e97
SM
11949 (at_(beg|end)line_loc_p): Fix argument's types.
11950 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
11951 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
11952 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
11953 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
11954 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
11955 QUIT unconditionally.
99633e97 11956
699238d9
GM
119572000-03-15 Gerd Moellmann <gerd@gnu.org>
11958
11959 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
11960 a sole completion.
11961
11962 * process.c (send_process): Add a hint that the function
11963 can call Lisp code to its comment.
11964
11965 * lread.c (load_dangerous_libraries): New variable.
11966 (Vbytecomp_version_regexp): New variable.
11967 (safe_to_load_p): New function.
11968 (Fload): Handle files not compiled with Emacs specially.
11969 (syms_of_lread): New Lisp variable load-dangerous-libraries.
11970
34e23e5a
GM
119712000-03-14 Gerd Moellmann <gerd@gnu.org>
11972
9c763cca
GM
11973 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
11974
11975 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
11976 support functions only if HAVE_X11R6_XIM is defined.
11977 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
11978
11979 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
11980
11981 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 11982 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
11983 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
11984
11985 * config.in (HAVE_X_I18N): Moved here from xterm.h.
11986 (HAVE_X11R6_XIM): Define.
11987
11988 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
11989
34e23e5a
GM
11990 * xterm.c (x_term_init): Add support for X resource `synchronous'.
11991 If set, call XSynchronize.
11992
66f0296e
SM
119932000-03-13 Stefan Monnier <monnier@cs.yale.edu>
11994
34e23e5a
GM
11995 * regex.c: Declare a new type `re_char' used throughout the code
11996 for the string char type. It's `const unsigned char' to match the
11997 rest of Emacs. Consistently make sure all pointers to strings use
52283633 11998 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 11999 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
12000 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
12001 code duplication.
66f0296e
SM
12002
12003 * charset.h (GET_CHAR_AFTER_2): Remove.
12004 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
12005
854a025c
KR
120062000-03-12 Ken Raeburn <raeburn@gnu.org>
12007
12008 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
12009 variable before the invocation of YMF_PASS_LDFLAGS, in case both
12010 of them try to use backquotes.
12011
b9d2c7e2
DL
120122000-03-12 Dave Love <fx@gnu.org>
12013
12014 * unexelf.c: Restore changes of 1999-10-19.
12015 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
12016 fix its type and alignment; copy it from current process.
12017
5e5dff44
GM
120182000-03-12 Gerd Moellmann <gerd@gnu.org>
12019
9b2f3c38
GM
12020 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
12021 has been found. Fix bug not computing timer's predecessor.
12022
427ec082 12023 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
12024 file name.
12025
e1cff360
GM
12026 * window.c (Fsave_window_excursion): Doc fix.
12027
52283633 12028 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 12029
e411ce4b
EZ
120302000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
12031
12032 * msdos.c (vga_installed): New function, code moved from
12033 dos_set_window_size.
12034 (Qbar, Qcursor_type, outside_cursor): New variables.
12035 (syms_of_msdos): Intern and staticpro them.
12036 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
12037 shape used outside Emacs when called for the first time.
12038 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
12039 cursor shape used outside Emacs.
12040 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
12041 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
12042 type has changed.
12043 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
12044 parameters specify the cursor. Make qreverse a global
12045 variable (renamed to Qreverse).
12046
80460654
GM
120472000-03-09 Gerd Moellmann <gerd@gnu.org>
12048
12049 * fns.c (Fy_or_n_p): Cancel busy-cursor.
12050
95cd4c40
SM
120512000-03-08 Stefan Monnier <monnier@cs.yale.edu>
12052
12053 This is a big redesign of failure-stack and register handling, prompted
12054 by bugs revealed when trying to add shy-groups. Overall, what happened
12055 is that loops are now structured a little differently, groups can be
12056 shy and the code is a little simpler.
12057
12058 * regex.h: Update the copyright.
12059 (RE_SHY_GROUPS): New value.
12060 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
12061 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
12062
80460654
GM
12063 * regex.c (enum re_opcode_t): Remove jump_past_alt,
12064 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
12065 on_failure_jump_(exclusive, loop and smart). Also fix the comment
12066 for (start|stop)_memory since they now only take one argument (the
12067 second has becomes unnecessary).
52283633 12068 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
12069 (print_compiled_pattern): Use %ld to printf long ints and flush to
12070 make debugging a little easier.
95cd4c40
SM
12071 (union fail_stack_elt): Make the integer unsigned.
12072 (struct fail_stack_type): Add a `frame' element.
12073 (INIT_FAIL_STACK): Init `frame' as well.
12074 (POP_PATTERN_OP): New macro for re_compile_fastmap.
12075 (DEBUG_PUSH, DEBUG_POP): Remove.
12076 (NUM_REG_ITEMS): Remove.
12077 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
12078 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
12079 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 12080 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
12081 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
12082 New macros.
80460654
GM
12083 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
12084 address pushed is not the destination of the jump but the source
12085 of it instead.
95cd4c40
SM
12086 (NUM_FAILURE_ITEMS): Remove.
12087 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
12088 registers before the actual failure point). Don't hardcode any
12089 meaning for str==NULL anymore.
95cd4c40 12090 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
12091 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
12092 Remove.
95cd4c40
SM
12093 (REG_UNSET_VALUE): Use NULL (why not?).
12094 (compile_range): Remove declaration since it doesn't exist.
12095 (struct compile_stack_elt_t): Remove inner_group_offset.
12096 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
12097 (regex_grow_registers): Remove dead code.
12098 (FIXUP_ALT_JUMP): New macro.
80460654
GM
12099 (regex_compile): Add shy-groups Change loops to use
12100 on_failure_jump_smart&jump instead of
12101 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
12102 initial (dummy_failure_)jump. Remove c1_base (looks like unused
12103 variable to me). Use `jump' instead of `jump_past_alt' and don't
12104 bother with push_dummy_failure in alternatives since it is now
12105 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
12106 emacs' for (re)allocating the stack.
12107 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
12108 from loop when bufp->can_be_null rather than jumping to `done'.
12109 Avoid jumping backwards so as to ensure termination. Use
12110 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
12111 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 12112 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
12113 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
12114 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
12115 (lowest_active_reg, highest_active_reg)
12116 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
12117 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
12118 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
12119 variables. Push register (in `start_memory') on the stack rather
12120 than storing it in old_reg(start|end). Remove the cycle detection
12121 from `stop_memory', replaced by the use of on_failure_jump_loop
12122 for greedy loops. Add code for the new on_failure_jump_<foo>.
12123 Remove ad-hoc code in `on_failure_jump' to push more registers in
12124 the case of a loop. Take out code from `maybe_pop_jump' into
12125 separate functions and adapt it to the semantics of
12126 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
12127 and push_dummy_failure. Remove dummy_failure handling and
12128 handling of `failures to jump to on_failure_jump' (this last one
12129 was already dead code, it seems).
12130 (group_match_null_string_p, alt_match_null_string_p)
12131 (common_op_match_null_string_p): Remove.
95cd4c40 12132
7397acc4
DL
121332000-03-08 Dave Love <fx@gnu.org>
12134
12135 * config.in: Don't depend on __STDC__ for volatile.
12136 Add POINTER_TYPE, PTR, PROTOTYPES.
12137
12138 * hftctl.c, strftime.c: Use PROTOTYPES.
12139 * eval.c (find_handler_clause): Likewise.
12140
12141 * mem-limits.h: Use POINTER_TYPE.
12142
12143 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
12144 (memory_warnings): Declare using POINTER_TYPE.
12145
5e91ff9e
GM
121462000-03-08 Gerd Moellmann <gerd@gnu.org>
12147
feab4fba
GM
12148 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
12149
52283633 12150 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 12151
5e91ff9e
GM
12152 * xfns.c: Remove obsolete code in #if 0.
12153 (Fx_focus_frame): New function.
12154
a735b7e1
KH
121552000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
12156
12157 * coding.c (coding_category_name): Add coding-category-utf-8,
12158 coding-category-utf-16-be, coding-category-utf-16-le.
12159 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
12160 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
12161 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
12162 (detect_coding_utf_8): New function.
12163 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
12164 UTF_16_LOW_SURROGATE_P): New macros.
12165 (detect_coding_utf_16): New function
12166 (detect_coding_mask): When priorities are specified, skip any
12167 categories that have `nil' coding-system. Fix bug of returning
12168 wrong mask when PRIORITIES is specified and detect_coding_XXX()
12169 returns a mask not set in PRIORITIES.
12170 (detect_eol_type_in_2_octet_form): New function.
12171 (detect_eol): selects detect_eol_type_XXX to call according to
12172 cooding->category_idx.
12173 (detect_coding_system): Remove `nil' coding-system in the result.
12174 (Fupdate_coding_systems_internal): Update all coding-categories.
12175
52283633
SM
12176 * coding.h (CODING_CATEGORY_IDX_UTF_8)
12177 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
12178 New macros.
12179 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
12180 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
12181 (CODING_CATEGORY_IDX_UTF_16_LE)
12182 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
12183 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
12184 (CODING_CATEGORY_MASK_ANY): Include the above macros.
12185 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
12186
9994cc69
GM
121872000-03-07 Gerd Moellmann <gerd@gnu.org>
12188
e9b4e5ff
GM
12189 * doc.c (Fdocumentation_property): If value is not a string,
12190 and doesn't refer to etc/DOC, evaluate it to obtain a string.
12191
f7daf1e1
GM
12192 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
12193 close the display with XtCloseDisplay. This caused a bus error
12194 on OpenWindows.
12195
9994cc69
GM
12196 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
12197 complete but not unique.
12198
4336c705
GM
121992000-03-06 Gerd Moellmann <gerd@gnu.org>
12200
18bb0684
GM
12201 * process.c (send_process): Remove local variable `procname' that
12202 might become invalid when a GC happens. Instead, access the
12203 process name slot directly.
12204
4336c705
GM
12205 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
12206 orig_height if set.
12207
12208 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
12209 orig_height if set.
12210
515d0d0e
EZ
122112000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
12212
12213 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
12214 glyph matrices have been freed.
12215
100b3cbb
GM
122162000-03-05 Gerd Moellmann <gerd@gnu.org>
12217
50df5e5a 12218 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 12219 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
12220
12221 * xfns.c (QCdata): Moved to xdisp.c.
12222
12223 * xdisp.c (QCdata): Moved here from xfns.c.
12224 (syms_of_xdisp): Initialize QCdata.
12225
12226 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
12227
12228 * window.c (coordinates_in_window): Use
12229 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
12230 FRAME_INTERNAL_BORDER_WIDTH.
12231
100b3cbb 12232 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 12233 it is obviously invalid.
100b3cbb
GM
12234
12235 * xterm.c (x_term_init): Create a colormap if not using the
12236 default visual.
12237
12238 * xterm.h (select_visual): Change prototype.
12239
12240 * xfns.c (select_visual): Rewritten. Recognize user-specified
12241 visual classes.
12242 (visual_classes): New variable.
12243
64d739c4
GM
122442000-03-04 Gerd Moellmann <gerd@gnu.org>
12245
12246 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
12247 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
12248 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 12249 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
12250 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
12251 XtNcolormap resources.
12252 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
12253 (Fx_create_frame): Initialize color members of x_output structure.
12254 (xpm_load): Pass colormap to XPM lib.
12255
12256 * xfaces.c (x_free_colors): Access colormap of frame using
12257 FRAME_X_COLORMAP. Be paranoid about freeing black and white
12258 when default colormap is used.
12259
12260 * xterm.c (x_term_init): Set Colormap member of x_display_info
12261 structure. Copy colormap if resource `privateColormap' is
12262 specified (PseudoColor only).
12263 (x_setup_relief_color): Access colormap of frame using
12264 FRAME_X_COLORMAP.
12265
12266 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
12267 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
12268
c3cee013
JR
122692000-03-04 Jason Rumney <jasonr@gnu.org>
12270
12271 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
12272 other non-platform-specific equivalents.
64d739c4 12273 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
12274 specific functions and macros as their w32 equivalents where
12275 non-platform-specifics are not available.
12276 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
12277 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
12278 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
12279 (frame_update_line_height): Use macros to access f->output_data.
12280 (defined_color): Remove FIXME comments; fixed.
12281 (x_face_list_fonts, prepare_face_for_display): Put X specifics
12282 into #ifdef blocks. Add WINDOWSNT blocks.
12283 (Fx_list_fonts): Use macros for accessing font data.
12284 (set_lface_from_font_name): Different default fonts for X and
12285 WINDOWSNT.
12286 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
12287 scalable for backward compatibility.
64d739c4 12288 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
12289 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
12290
64d739c4 12291 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
12292 syms_of_w32faces.
12293
12294 * makefile.nt (w32faces.obj): Remove.
12295 (xfaces.obj): Add.
12296
807cc41c
JR
122972000-03-03 Jason Rumney <jasonr@gnu.org>
12298
12299 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
12300 correct parameters.
12301
0007072a
KR
123022000-03-03 Ken Raeburn <raeburn@gnu.org>
12303
12304 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
12305 standard ELF definitions here if the system header does not.
12306
71a6ba55
GM
123072000-03-03 Gerd Moellmann <gerd@gnu.org>
12308
12309 * xterm.c (PER_CHAR_METRIC): Removed.
12310 (x_per_char_metric_1, x_default_char): New functions.
12311 (x_per_char_metric): If font's default char is invalid, return
12312 metrics of a suitably chosen usable default char.
12313 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
12314 char, replace occurrences of unprintable chars with a suitably
12315 chosen usable default char.
71a6ba55 12316
900fa1f1
GM
123172000-03-02 Gerd Moellmann <gerd@gnu.org>
12318
42f55fe0
GM
12319 * xterm.c (note_mouse_highlight): Return quickly if frame's
12320 glyph matrices have been freed.
12321
12322 * dispnew.c (free_glyphs): Block input while freeing matrices.
12323
900fa1f1
GM
12324 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
12325
52283633
SM
12326 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
12327 Use x_free_colors.
900fa1f1
GM
12328
12329 * dispextern.h (x_free_colors): Add prototype.
12330
12331 * xfaces.c (x_free_colors): New function.
12332 (unload_color, free_face_colors): Use it.
12333
2f950292
EZ
123342000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
12335
12336 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
12337
12338 * window.c [MSDOS]: Include msdos.h.
12339
54d04320
DL
123402000-03-02 Dave Love <fx@gnu.org>
12341
12342 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
12343
12344 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
12345 set C_OPTIMIZE_SWITCH for gcc.
12346
0ba93ac4
KH
123472000-03-02 Kenichi Handa <handa@etl.go.jp>
12348
12349 * coding.c (coding_save_composition): Be sure to allocate
12350 composition data area in coding even if there's no composition in
12351 the current run.
12352
a2bc11d4
JR
123532000-03-01 Jason Rumney <jasonr@gnu.org>
12354
12355 * w32term.c: Equivalent changes to those made to xterm.c on
12356 2000-02-25 and 2000-02-24.
12357
12358 * w32fns.c: Equivalent changes to those made to xfns.c on
12359 2000-02-25 and 2000-02-21.
12360
12361 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
12362 correct line-end convention is followed.
12363
12364 * w32menu.c [HAVE_BOXES]: Remove #undef.
12365 (single_keymap_panes): Remove code for simulating checkmarks.
12366 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
12367 Remove code for drawing simulated checkmarks.
12368 (w32_menu_show): make unibyte help string correctly.
12369 (add_menu_item): draw standard Windows checkmarks. Draw radio
12370 buttons as radio buttons if possible.
12371
72d19d75
GM
123722000-03-01 Gerd Moellmann <gerd@gnu.org>
12373
2df636f4
GM
12374 * sysdep.c (start_of_text): Don't define this function for NetBSD
12375 with ELF.
12376
427ec082 12377 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
12378 Don't define.
12379 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
12380 (LINKER): Don't undef if __NetBSD__ is defined.
12381
12382 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
12383
12384 * fileio.c [__NetBSD__]: Define `unix'.
12385
72d19d75
GM
12386 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
12387
ed4d0512
GM
123882000-02-29 Gerd Moellmann <gerd@gnu.org>
12389
50b1039f
GM
12390 * atimer.c (start_atimer): Don't abort when timers are stopped.
12391 (append_atimer_lists): New function.
12392 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
12393 arbitrary lists of stopped and running atimers.
12394
ed4d0512
GM
12395 * atimer.c (cancel_atimer): Handle canceling an atimer when
12396 some timers are stopped.
12397
12398 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
12399 after canceling it.
12400
12401 * fns.c (maybe_resize_hash_table): Handle case of new size
12402 coming out as being the same as old size.
12403
387023ee
JR
124042000-02-27 Jason Rumney <jasonr@gnu.org>
12405
12406 * makefile.nt: Add atimer.h to dependencies.
12407 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
12408 * w32console.c: Only disable window system features for dispextern.h
12409 (initialize_w32_display): Build a display info for the console.
12410 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
12411 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
12412 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
12413 as 2 button mice.
12414 * w32gui.h (struct W32FontStruct): Revert last change after change
12415 to xdisp.c.
12416 * w32menu.c (single_submenu): Set up help string.
12417 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
12418 (w32_dialog_show): Set up help string.
12419 * w32term.c (w32_display_info_for_display): Remove unused function.
12420 (w32_draw_bitmap): Use pre-built bitmaps.
12421 (w32_initialize_display_info): New function to initialize parts of
12422 display info that are common to both GUI and console frames.
12423 (w32_term_init): Use w32_initialize_display_info. Do not set
12424 Vw32_num_mouse_buttons here, as it is not called for console
12425 frames. Build bitmaps for indicating truncated lines etc.
12426 (x_delete_display): Destroy pre-built bitmaps.
12427 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
12428 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
12429
4516715a
DL
124302000-02-27 Dave Love <fx@gnu.org>
12431
12432 * lisp.h: Add a bunch of prototypes.
12433
171ca836
KH
124342000-02-26 Kenichi Handa <handa@etl.go.jp>
12435
12436 * keyboard.c (read_char): Set `usec' correctly.
12437
4013921d
KH
124382000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
12439
12440 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
12441 `lambda', set reg[RRR] to the map index.
12442 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
12443 reg[RRR] to 0. Otherwise, set it to -1.
12444
9244a058
GM
124452000-02-25 Gerd Moellmann <gerd@gnu.org>
12446
2df636f4 12447 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 12448
18e21ce8 124492000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 12450
f43d79c1
GM
12451 * fileio.c (Ffile_symlink_p): If result starts with a `/'
12452 and contains a `:', prepend `/:'.
12453
12454 * window.c (select_window_1): If selected_window is nil,
12455 don't "swap out" the buffer's point.
12456 (Fset_window_configuration): Set selected_window to nil
12457 before calling Fselect_window.
12458 (unshow_buffer): Don't set point in buffer from window's point
12459 if another more recently selected window also shows the buffer.
12460
bed0c171
GM
124612000-02-25 Gerd Moellmann <gerd@gnu.org>
12462
449c3c52
GM
12463 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
12464
f5b58615
GM
12465 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
12466 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
12467 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
12468 New variables.
f5b58615
GM
12469 (DEFAULT_BUSY_CURSOR_DELAY): New define.
12470 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
12471 (hide_busy_cursor): New functions.
12472 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
12473
12474 * minibuf.c (read_minibuf): Cancel busy-cursor.
12475
12476 * keyboard.c (command_loop_1): Call start_busy_cursor before
12477 Fcommand_execute and cancel_busy_cursor after it.
12478 (timer_check): Remove busy-cursor code.
12479 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
12480 cursor timer.
12481
12482 * process.c (wait_reading_process_input): Remove busy-cursor code.
12483
12484 * eval.c (Fsignal): Call cancel_busy_cursor instead of
12485 Fx_hide_busy_cursor.
12486
12487 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
12488 Remove prototyoes.
12489 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
12490
12491 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
12492
12493 * xterm.c (XTread_socket): Remove busy-cursor code.
12494
4eb8436f
GM
12495 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
12496 (build_frame_matrix_from_leaf_window): Put code handling
12497 glyph row's not being a slice of a frame row in #if 0.
12498 (sync_window_with_frame_matrix_rows): New function.
12499 (frame_row_to_window): New function.
12500 (mirror_line_dance): Handle copies between windows.
12501
3cb65b0e
GM
12502 * lread.c (Fload): Use `xfree' instead of `free'.
12503 (init_obarray): Use `xmalloc' instead of `malloc'.
12504
bed0c171
GM
12505 * window.c (Fset_window_buffer): Set WINDOW to the window
12506 after decoding.
2add4349
GM
12507 (coordinates_in_window): Take frame's internal border width
12508 into account.
bed0c171 12509
42088c12
GM
125102000-02-24 Gerd Moellmann <gerd@gnu.org>
12511
12512 * xterm.c (x_display_and_set_cursor): Display cursor of
12513 non-selected windows depending on the setting of
12514 cursor_in_non_selected_windows.
12515
12516 * xdisp.c (cursor_in_non_selected_windows): New variable.
12517 (syms_of_xdisp): DEFVAR_BOOL it.
12518
d1e103b2
GM
125192000-02-23 Gerd Moellmann <gerd@gnu.org>
12520
723e779c
GM
12521 * data.c (Fstring_to_number): If number is greater than what
12522 fits into an integer, return a float.
12523
d1e103b2
GM
12524 * eval.c (specbind): Remove references to
12525 keyword_symbols_constant_flag.
12526
12527 * data.c (keyword_symbols_constant_flag): Removed.
12528 (Fmakunbound, set_internal, syms_of_data): Remove references to
12529 keyword_symbols_constant_flag.
12530
12531 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
12532
214f877f
KH
125332000-02-23 Kenichi Handa <handa@etl.go.jp>
12534
12535 * syntax.c (multibyte_syntax_as_symbol): New variable.
12536 (syms_of_syntax): Declare it as a Lisp variable.
12537 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
12538 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
12539 nonzero, treat all multibyte characters as symbol.
52283633 12540 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 12541
130adcb7
EZ
125422000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
12543
3cb65b0e 12544 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 12545 a deleted frame.
130adcb7 12546
17cbbf95
GM
125472000-02-21 Gerd Moellmann <gerd@gnu.org>
12548
12549 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
12550
12551 * xfns.c (x_window_to_frame, x_any_window_to_frame)
12552 (x_non_menubar_window_to_frame): Check the busy-cursor window.
12553
beb0bc36
DL
125542000-02-21 Dave Love <fx@gnu.org>
12555
12556 * frame.c (Vmouse_position_function): New variable.
12557 (Fmouse_position): Use it.
12558 (syms_of_frame): Install it.
12559
12560 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
12561
1d92afcd
GM
125622000-02-20 Gerd Moellmann <gerd@gnu.org>
12563
12564 * fileio.c (Finsert_file_contents): Unbind the binding of
12565 standard-output done by temp_output_buffer_setup.
329eed9f
GM
12566
12567 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
12568 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
12569 (specbind, unbind_to): Handle most common case of non-constant
12570 symbol with trivial value specially.
12571
12572 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
12573
18e21ce8 125742000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
12575
12576 * data.c (Fmake_variable_buffer_local): Doc fix.
12577 Init found_for_buffer to 0.
12578 (Fmake_variable_frame_local): If the variable has already
12579 been buffer-local, set the check_frame field.
12580
1d4311c3
EZ
125812000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
12582
12583 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
12584 produced for CODING_MODE_LAST_BLOCK requires.
12585
2dc95ddd
DL
125862000-02-18 Dave Love <fx@gnu.org>
12587
12588 * keyboard.c (echo_keystrokes): Remove declaration.
12589 (Vecho_keystrokes) New variable.
12590 (read_char, record_menu_key, read_key_sequence): Use it to allow
12591 use of float value.
12592 (syms_of_keyboard): Change Vecho_keystrokes declaration.
12593
12594 * lread.c: Undef feature selection macros before defining.
12595
f0930f35
GM
125962000-02-18 Gerd Moellmann <gerd@gnu.org>
12597
12598 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
12599 for symbols other than the symbol in question.
12600
e3d4de90
DL
126012000-02-17 Dave Love <fx@gnu.org>
12602
12603 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
12604
0b378936
GM
126052000-02-17 Gerd Moellmann <gerd@gnu.org>
12606
d621caf7
GM
12607 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
12608
0b378936
GM
12609 * alloc.c (enum mem_type): Compile unconditionally.
12610
3b451f74
EZ
126112000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
12612
12613 * xfaces.c (tty_defined_color): Don't return faulire indication
12614 for unspecified-fg and unspecified-bg pseudo-colors.
12615
10689a01
GM
126162000-02-17 Gerd Moellmann <gerd@gnu.org>
12617
1216f5e4
GM
12618 * alloc.c (mark_object): Don't mark symbol names in pure space.
12619 (gc_sweep): Don't unmark symbol names in pure space.
12620
12621 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
12622 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
12623 [GC_MARK_STACK]: New defines.
427ec082 12624 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
12625 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
12626
12627 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
12628
12629 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
12630 allocate_buffer instead of xmalloc.
12631
12632 * alloc.c (toplevel): Include setjmp.h.
12633 (PURE_POINTER_P): New define.
12634 (enum mem_type) [GC_MARK_STACK]: New enumeration.
12635 (Vdead) [GC_MARK_STACK]: New variable.
12636 (lisp_malloc): Add parameter TYPE, call mem_insert if
12637 GC_MARK_STACK is defined.
12638 (allocate_buffer): New function.
427ec082 12639 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
12640 (free_float) [GC_MARK_STACK]: Set type to Vdead.
12641 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
12642 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
12643 (MEM_NIL) [GC_MARK_STACK]: New define.
12644 (struct mem_node) [GC_MARK_STACK]: New structure.
12645 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
12646 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
12647 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
12648 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
12649 (mark_stack) [GC_MARK_STACK]: New functions.
12650 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
12651 (clear_marks): Removed.
12652 (gc_sweep): Set free conses' car, free floats' type, free
12653 symbols' function to Vdead. Use lisp_free to free buffers.
12654 (init_alloc_once): Initialize Vdead.
12655 (survives_gc_p): Return non-zero for pure objects.
12656
12657 * alloc.c: Add comments throughout the file.
12658
2503c8b1
GM
12659 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
12660 that unblocks alarms.
12661
8389e1e2
GM
12662 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
12663 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
12664 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
12665
10689a01 12666 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 12667
bfc17d18
KH
126682000-02-17 Kenichi Handa <handa@etl.go.jp>
12669
4a09dee0
KH
12670 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
12671 avoid infinite error signaling. Allocate sufficient memory for
12672 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 12673
2b927d02
SM
126742000-02-17 Stefan Monnier <monnier@cs.yale.edu>
12675
12676 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
12677 depends on the previous behavior.
12678
b49cb764
GM
126792000-02-16 Gerd Moellmann <gerd@gnu.org>
12680
12681 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
12682
99e95407
GM
126832000-02-15 Gerd Moellmann <gerd@gnu.org>
12684
12685 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
12686
12687 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 12688 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
12689 write(2).
12690
6ffd3cf7
RS
126912000-02-15 Richard M. Stallman <rms@gnu.org>
12692
12693 * data.c (set_internal): Don't make variable buffer-local
12694 if within a let-binding for the same buffer.
12695 (let_shadows_buffer_binding_p): New function.
12696
12697 * eval.c (specbind): For buffer-local value,
12698 record the current buffer also.
12699 (unbind_to): Cope with that change.
12700
cad53475
GM
127012000-02-15 Gerd Moellmann <gerd@gnu.org>
12702
12703 * window.c (Fsave_window_excursion): Doc fix.
12704
1aa963c8
SM
127052000-02-15 Stefan Monnier <monnier@cs.yale.edu>
12706
12707 * syntax.c (back_comment): Make sure we only consider comment-starters
12708 of the relevant style and return -1 in case of a failure to find the
12709 beginning of the comment.
12710 (Fforward_comment): If back_comment fails, go back to the position just
12711 after the comment-end.
12712 (scan_lists): Add comment describing a very minor bug.
12713
b9b84fd3
SM
127142000-02-14 Stefan Monnier <monnier@cs.yale.edu>
12715
12716 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
12717 `completion-regexp-list' in the docstring.
12718
3a28db80
DL
127192000-02-14 Dave Love <fx@gnu.org>
12720
12721 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
12722
fb4a568d
SM
127232000-02-14 Stefan Monnier <monnier@cs.yale.edu>
12724
12725 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
12726 to Emacs' syntax. Also fix the comment about set/not-set meanings
12727 since Emacs syntax is not the value 0 any more.
12728 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
12729 since it's now part of RE_SYNTAX_EMACS.
12730
1063ebb5
DL
127312000-02-12 Dave Love <fx@gnu.org>
12732
52283633 12733 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 12734
fb07a302
GM
127352000-02-12 Gerd Moellmann <gerd@gnu.org>
12736
12737 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
12738
aaf2320c
DL
127392000-02-12 Dave Love <fx@gnu.org>
12740
12741 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
12742
12743 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
12744 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
12745 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
12746
12747 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
12748
12749 * s/nextstep.h: Don't define HAVE_ALLOCA.
12750
12751 * config.in: Add vfork bits.
12752
eedf8bde
GM
127532000-02-12 Gerd Moellmann <gerd@gnu.org>
12754
12755 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
12756 unwind function to undo the effect of stopping atimers.
12757
52283633 12758 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
12759
12760 * atimer.c (stopped_atimers): New variable.
12761 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
12762 New functions.
12763
12764 * atimer.h (stop_other_atimers, run_all_atimers)
12765 (unwind_stop_other_atimers): Add function prototypes.
427ec082 12766
eedf8bde
GM
12767 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
12768
8476c2f8
KR
127692000-02-11 Ken Raeburn <raeburn@gnu.org>
12770
12771 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
12772 library may depend on jpeg.
12773 (atimer.o): Depends on atimer.c.
12774
0e85e4a3
KH
127752000-02-11 Kenichi Handa <handa@etl.go.jp>
12776
12777 * insdel.c (del_range_1): Call update_compositions.
12778 (del_range_both): Call update_compositions just once..
12779
97fa0cc8
DL
127802000-02-10 Dave Love <fx@gnu.org>
12781
12782 * xfns.c (create_frame_xic): Fix initialization of automatic
12783 aggregates for pcc.
12784
25566a3c
KH
127852000-02-09 Kenichi Handa <handa@etl.go.jp>
12786
12787 * ccl.c (CCL_MAKE_CHAR): New macro.
12788 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
12789 registers by CCL_MAKE_CHAR before calling translate_char.
12790 <CCL_TranslateCharacterConstTbl> Likewise.
12791
69da54ba
DL
127922000-02-08 Dave Love <fx@gnu.org>
12793
12794 * lread.c (__EXTENSIONS__): Define.
12795
f7136ee8
GM
127962000-02-08 Gerd Moellmann <gerd@gnu.org>
12797
12798 * puresize.h (BASE_PURESIZE): Increase to 650000.
12799
7768790b
EZ
128002000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
12801
12802 * msdos.c (XMenuActivate): Turn off the cursor after displaying
12803 the help message.
12804
38fd211b
EZ
128052000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
12806
12807 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
12808 md, mh, mb, mr, and me to the fake termcap entry.
12809
66e4690f
KR
128102000-02-06 Ken Raeburn <raeburn@gnu.org>
12811
12812 * sound.c (sound_cleanup): Don't call device close routine if the
12813 function pointer is null.
12814
a75dfea0
AI
128152000-02-06 Andrew Innes <andrewi@gnu.org>
12816
12817 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
12818 around image definitions and prototypes.
12819 (gamma_correct) [WINDOWSNT]: New prototype.
12820
12821 * w32term.c (x_make_frame_visible): Replace call to
12822 input_poll_signal with poll_for_input.
12823
12824 * window.c [WINDOWSNT]: Include w32term.h.
12825
12826 * xdisp.c [WINDOWSNT]: Include w32term.h.
12827
12828 * makefile.nt: Add dependencies on w32gui.h.
12829 (OBJ1): Include atimer.obj.
12830 ($(BLD)\atimer.obj): New dependency rule.
12831
12832 * w32.c (sigmask): New function (does nothing).
12833 (sigunblock): Ditto.
12834
12835 * frame.c [WINDOWSNT]: Include w32term.h.
12836
12837 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
12838
12839 * lread.c (syms_of_lread): Fix literal newlines.
12840
12841 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
12842 the string constant limit (2048 bytes) in MSVC.
12843 (main): Ditto.
12844
59ddecde
GM
128452000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
12846
52283633 12847 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
12848 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
12849 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
12850 dispatch the event.
12851
07590973
DL
128522000-02-04 Dave Love <fx@gnu.org>
12853
12854 * fileio.c: Remove some unused vars.
12855 (_GNU_SOURCE): Define (for euidaccess).
12856
12857 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
12858
12859 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
12860 gcpro1, gcpro2.
12861 (read_minibuf): Deal with allow_props correctly.
12862
649351f9
EZ
128632000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
12864
12865 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
12866
66e4690f 128672000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
12868
12869 * search.c (compile_pattern): If a cache entry has a nil regexp,
12870 fill in that entry instead of clobbering a previously cached
12871 string regexp.
12872
66e4690f 128732000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
12874
12875 * puresize.h (BASE_PURESIZE): Increase to 610000.
12876
d240a249
GM
128772000-02-02 Gerd Moellmann <gerd@gnu.org>
12878
12879 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
12880 can GC.
12881
ca91fb26
KH
128822000-02-02 Kenichi Handa <handa@etl.go.jp>
12883
25660570
KH
12884 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
12885 instead of incrementing ic directly.
12886 <CCL_WriteExprConst> Likewise.
12887 <ccl_set_expr>: Set ic to jump_address.
12888
ca91fb26
KH
12889 * fileio.c (e_write): Fix the handling of
12890 CODING_FINISH_INSUFFICIENT_SRC.
12891
2ede9689
DL
128922000-02-01 Dave Love <fx@gnu.org>
12893
12894 * editfns.c (Fpropertize): Doc fix.
12895
12896 * process.c (Fstart_process): Doc fix.
12897
12898 * eval.c: Fix various doc strings not to duplicate information
12899 from help-manyarg-func-alist.
12900
52283633 12901 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
12902
12903 * doc.c (Vhelp_manyarg_func_alist): New variable.
12904 (Fdocumentation): Use it.
12905 (syms_of_doc): Define it.
12906
b6680a0e
GM
129072000-01-31 Gerd Moellmann <gerd@gnu.org>
12908
2cb750ba
GM
12909 * xterm.c (xim_open_dpy): Remove unused local variable.
12910
52283633 12911 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
12912
12913 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
12914 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
12915
b6680a0e
GM
12916 * fns.c (sweep_weak_table): New function.
12917 (sweep_weak_hash_tables): Use it. Keep on marking until there
12918 is no more change.
12919
994c5afe
GM
129202000-01-30 Gerd Moellmann <gerd@gnu.org>
12921
12922 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
12923 that XTread_socket does not crash by trying to call XNoOp on a
12924 closed display.
427ec082 12925
f00276e3
JR
129262000-01-30 Jason Rumney <jasonr@gnu.org>
12927
12928 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
12929 Change selected_frame to SELECTED_FRAME ().
12930 (w32_console_mouse_position): Remove #ifndef MULE from around
12931 `insist' parameter.
12932
12933 * makefile.nt: Remove dosfns.obj.
12934
12935 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
12936
12937 * w32fns.c (w32_defined_color): Check for valid frame before
12938 applying gamma correction. Eliminate dependency on frame elsewhere.
12939 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
12940 (w32_to_x_font): Use resx and resy not height_in and width_in.
12941 (x_to_w32_font): Doc fix.
12942 (xlfd_strip_height): New function to strip and return font height.
12943 (w32_font_match): Compare height separately from rest of xlfd
12944 spec, using xlfd_strip_height.
12945
12946 * w32term.c (w32_term_init): Swap resx and height_in, resy and
12947 width_in. Use w32_defined_color in place of defined_color.
12948
12949 * w32faces.c: Merge more of DOS and X specifics in preparation for
12950 merge with xfaces.c.
12951 (defined_color): Remove FIXME comment.
12952 (tty_color_name): Provide w32-specific function.
12953 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
12954
12955 * w32console.c (turn_on_face, turn_off_face): Removed.
12956 (w32_face_attributes): New function.
12957 (Global_variables): Reduce scope where possible.
12958 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
12959 fill attribute.
12960 (hl_mode): Don't modify text attributes.
12961 (write_glyphs): Don't do anything if len <= 0. Use
12962 w32_face_attributes to get attributes for drawing. Write
12963 terminating codes using char_attr_normal.
12964 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
12965 (update_begin, update_end): Likewise.
12966 (vga_stdcolor_name): New function.
12967 (initialize_w32_display): Remove char_attr_reverse and char_attr.
12968 (Fset_screen_color): Remove char_attr_reverse.
12969
b08e8bb2
GM
129702000-01-29 Gerd Moellmann <gerd@gnu.org>
12971
12972 * xfns.c (xic_set_preeditarea): Take window parameter and
12973 window-relative pixel-positions.
12974
12975 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
12976 is its frame's selected window.
12977 (xim_instantiate_callback): Likewise.
12978
12979 * xfns.c (x_create_im): Removed.
12980 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
12981 (supported_xim_styles): Renamed from supported_styles.
12982 (best_xim_style): Renamed from best_style.
12983 (create_frame_xic): Renamed from xic_create_frame.
12984 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 12985
b08e8bb2
GM
129862000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
12987
12988 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
12989 our frames, call XFilterEvent with 2nd parameter `None'.
12990 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
12991 returning XBufferOverflow.
52283633 12992 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
12993 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
12994 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
12995 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
12996 (xim_initialize, xim_close)
12997 [HAVE_X_I18N && HAVE_X11R6]: New functions.
12998 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
12999 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
13000 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
13001
13002 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
13003 and `xim_styles'.
13004 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
13005 `xic_style' and `xic_xfs'.
13006 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
13007 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
13008 (FRAME_XIM): Removed.
13009
13010 * xfns.c (supported_styles): New variable.
13011 (DEFAULT_STYLE, DEFAULT_FONT): New macros
13012 (xic_create_xfontset, best_style, xic_create_frame)
13013 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
13014 (xic_set_xfontset): New functions.
13015
142e109c
DL
130162000-01-28 Dave Love <fx@gnu.org>
13017
13018 * s/irix6-5.h: Revert last change after change to irix5-0.h.
13019
13020 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
13021
b02786f9
GM
130222000-01-28 Gerd Moellmann <gerd@gnu.org>
13023
d060bc9f
GM
13024 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
13025 for *scratch* if it already existed.
13026
b02786f9
GM
13027 * emacs.c (USAGE): New macro.
13028 (main): Use it to display usage information.
13029
2c52d7e4
EZ
130302000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13031
13032 Support for the menu-help feature:
13033
52283633 13034 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
13035
13036 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
13037 part of the line to the termscript file.
13038 (IT_clear_to_end): Clear the entire line, not just its beginning.
13039 (menu_help_message, prev_menu_help_message): New variables.
13040 (IT_menu_make_room): Make room for the help_text member.
13041 (IT_menu_display): New argument disp_help; all callers changed.
13042 If disp_help is non-zero, store the help text of the active menu
13043 item in menu_help_message.
13044 (XMenuAddPane): Initialize the help_text member to NULL.
13045 (XMenuAddSelection): New argument help_text. Store it in the
13046 XMenu structure.
13047 (XMenuActivate): New argument help_callback. If the value of
13048 menu_help_message has changed since the last time, display the
13049 menu help message text while waiting for the mouse to move. Clear
13050 the echo area before exiting.
13051 (XMenuDestroy): Free the help_text member.
13052
ffe0bcd1
GM
130532000-01-27 Gerd Moellmann <gerd@gnu.org>
13054
13055 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
13056 XMenuAddSelection. Pass help callback to XMenuActivate.
13057 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
13058
50dbd23f
EZ
130592000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13060
13061 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
13062 and EMACS_SET_USECS.
13063
f5941bf8
GM
130642000-01-26 Dave Love <fx@gnu.org>
13065
6c67ddee
DL
13066 * editfns.c (Fchar_after, Fchar_before): Doc fix.
13067
f5941bf8
GM
13068 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
13069 an error may be signalled.
13070
9e49c990
GM
130712000-01-26 Gerd Moellmann <gerd@gnu.org>
13072
fc3cb460
GM
13073 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
13074 LD_SWITCH_SYSTEM inherited from irix5-0.h.
13075
9e49c990
GM
13076 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
13077
d0c037d8
GM
130782000-01-25 Gerd Moellmann <gerd@gnu.org>
13079
13080 * charset.c (Fstring): If there is a multibyte char among
13081 the args, always return a multibyte string.
13082
e12489f9
GM
130832000-01-25 Gerd Moellmann <gerd@gnu.org>
13084
13085 * sysdep.c (sys_select): Turn atimers off and on instead of
13086 recording and restoring old alarm handler
13087
13088 * process.c (toplevel): Include atimer.h.
13089 (create_process_1): Rewritten.
13090 (create_process): Use atimers instead of alarm.
13091 (wait_reading_process_input) [hpux]: Turn atimers off instead
13092 of turning off SIGALRM.
13093 (wait_reading_process_input): Turn off atimers instead off
13094 calling stop_polling.
13095
13096 * emacs.c (main): Call init_atimer.
13097
13098 * keyboard.c (toplevel): Include systime.h and atimer.h.
13099 (polling_for_input): Removed because unused.
13100 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
13101 (poll_timer): New variable.
13102 (poll_for_input, poll_for_input_1): New functions.
13103 (start_polling, stop_polling): Rewritten.
13104
13105 * keyboard.h (polling_for_input): Removed.
427ec082 13106
e12489f9
GM
13107 * atimer.h, atimer.c: New files.
13108
13109 * Makefile.in (obj): Add atimer.o.
13110 (atimer.o): New target.
13111
13112 * blockinput.h (pending_atimers): Add extern declaration.
13113 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
13114
13115 * lisp.h (popup_activated_flag): Add extern declaration.
13116
13117 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 13118 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
13119 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
13120
13121 * xterm.c (toplevel): Include atimer.h.
13122 (toolkit_scroll_bar_interaction): New variable.
13123 (Fxt_process_timeouts): Removed.
13124 (x_process_timeouts): New function.
13125 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
13126 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
13127 (x_make_frame_visible): Call poll_for_input_1 instead of
13128 input_poll_signal. Don't call alarm.
13129 (x_initialize): Install timer calling x_process_timeouts.
427ec082 13130
1e5279b9
DL
131312000-01-24 Dave Love <fx@gnu.org>
13132
6c67ddee 13133 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
13134 Don't use -cckr -- apparently not now necessary.
13135
edf6aeb8
EZ
131362000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
13137
13138 * msdos.c (IT_menu_display): Truncate long menu lines at the right
13139 screen boundary.
13140
9badad41
JR
131412000-01-23 Jason Rumney <jasonr@gnu.org>
13142
13143 * w32fns.c (w32_defined_color): Apply gamma correction before
13144 trying to map to the palette.
13145 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
13146 to w32_clear_rect.
13147
13148 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
13149 here. Callers changed to always pass real device context.
13150 (w32_draw_bitmap): Likewise.
13151 (w32_get_glyph_overhangs): Likewise.
52283633 13152 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
13153 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
13154 pfnSetScrollInfo and SetScrollRange.
13155 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
13156 back into MULE characters after decoding them.
13157 (x_get_glyph_face_and_encoding): Likewise.
13158 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
13159 GetCharABCWidthsW fails, since this is defined on Windows 9x.
13160 (x_produce_glyphs): Calculate per char metrics for a character
13161 that we know exists in default font when font_not_found_p is true.
13162
63bd786b
JR
131632000-01-22 Jason Rumney <jasonr@gnu.org>
13164
13165 * makefile.nt (intervals.obj, composite.obj): New modules.
13166 (composite.h): Added as dependency where appropriate.
13167
13168 * w32gui.h (XGCValue): New struct for emulating X GCs.
13169
13170 * w32term.h (XCharStruct): New struct for emulating X.
13171
13172 * w32console.c (turn_on_face, turn_off_face): New functions.
13173 (change_line_highlight): New prototype for new redisplay.
13174 (write_glyphs): Support multibyte text. Support faces.
13175
52283633 13176 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
13177
13178 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
13179 throughout. struct frame * in place of FRAME_PTR.
13180 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 13181 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
13182 (w32_get_arg): Renamed from x_get_arg.
13183 (Fx_file_dialog): New function.
13184 (w32_list_fonts): Check cache before asking system.
13185 (Vw32_enable_synthesized_fonts): New variable.
13186 (Vw32_enable_italics): Obsolete, removed.
13187
13188 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13189 Use SELECTED_FRAME macro.
13190
13191 * w32menu.c: Add skeleton support for help strings on menus.
13192 (add_menu_item): Native checkbox and radio support added, but not
13193 yet enabled due to bugs.
13194 (push_menu_item): Add parameters type, selection and help.
13195 Callers updated.
13196 Formatting changes to reduce unnecessary diffs with xmenu.c.
13197
13198 * w32select.c (Fw32_set_clipboard_data): Update call to
13199 find_charset_in_str.
13200
13201 * w32term.c: Complete rewrite for new redisplay based on new
13202 xterm.c with necessary sections merged back in from old w32term.c.
13203
6ffd3cf7 132042000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
13205
13206 * data.c (set_internal): Further fix in same criterion.
13207
6ffd3cf7 132082000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
13209
13210 * data.c (set_internal): Fix the criteria for whether
13211 to swap out the old cached binding.
13212
60af03f1
DL
132132000-01-19 Dave Love <fx@gnu.org>
13214
13215 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
13216
f9be074f
KH
132172000-01-18 Kenichi Handa <handa@etl.go.jp>
13218
13219 * regex.c (re_compile_fastmap): While checking a range table for
13220 `charset', skip flag bits for a character class correctly.
13221
52b8dbf9
GM
132222000-01-17 Gerd Moellmann <gerd@gnu.org>
13223
d36100c9
GM
13224 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
13225
52283633 13226 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
13227
13228 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 13229 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
13230
13231 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
13232 MENU_ITEMS_ITEM_.*.
13233 (MENU_ITEMS_ITEM_HELP): New enumerator.
13234 (push_menu_item): Add parameter HELP. Record help in menu_items.
13235 (single_menu_item, single_submenu, list_of_items): Call
13236 push_menu_item with new parameter.
13237 (single_submenu): Set help string in widget value.
13238 (menu_highlight_callback): New function.
13239 (set_frame_menubar): Call lw_create_widget with new
13240 parameter list.
13241 (xmenu_show, xdialog_show): Ditto.
13242
3139018f
GM
132432000-01-13 Gerd Moellmann <gerd@gnu.org>
13244
13245 * sound.c (Fplay_sound): Improve doc string.
13246
83c8f461
RS
132472000-01-11 Richard M. Stallman <rms@gnu.org>
13248
13249 * lisp.h (set_internal): Enter the new arg.
13250
13251 * eval.c (specbind): Record buffer-local variables specially,
13252 indicating which buffer's binding was saved.
13253 (unbind_to): Restore buffer-local variables specially
13254 in the proper buffer.
13255
13256 * data.c (set_internal): New arg BUF.
427ec082 13257
83c8f461
RS
13258 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
13259 * data.c (Fset): Pass new arg to set_internal.
13260 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 13261
1fab1775
GM
132622000-01-11 Gerd Moellmann <gerd@gnu.org>
13263
52283633 13264 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 13265
83c8f461 132662000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
13267
13268 * minibuf.c (Ftry_completion): Doc fix.
13269
7a85e4df
GM
132702000-01-11 Gerd Moellmann <gerd@gnu.org>
13271
13272 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
13273 vector, too.
13274
a970dae4
AS
132752000-01-11 Andreas Schwab <schwab@suse.de>
13276
13277 * coding.c (code_convert_region): Initialize total_skip.
13278
c65d14ee
DL
132792000-01-08 Dave Love <fx@gnu.org>
13280
13281 * eval.c (Fuser_variable_p): Check customizability too.
13282
834938d2
GM
132832000-01-07 Gerd Moellmann <gerd@gnu.org>
13284
13285 * minibuf.c (Fcompleting_read): Doc fix.
13286
e0303cd6
GM
132872000-01-05 Gerd Moellmann <gerd@gnu.org>
13288
8a26744b
GM
13289 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
13290 -L /usr/local/lib.
13291
e0303cd6
GM
13292 * xfns.c (x_create_im): New function to set IM and IC of a frame.
13293 Check that input style is supported before trying to create an
13294 IC for it.
13295 (x_window): Call x_create_im.
427ec082 13296
2e471eb5
GM
132972000-01-04 Gerd Moellmann <gerd@gnu.org>
13298
560a7bd2
GM
13299 * xfns.c (current_gif_memory_src): New variable.
13300 (gif_load): Record the address of the current memory source
13301 in current_gif_memory_src.
13302 (gif_read_from_memory): Use current_gif_memory_src.
13303
f9ee84a3
GM
13304 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
13305 macros statement form.
13306
d1299cde
GM
13307 * sound.c (struct sound): Renamed from struct sound_file.
13308 (struct sound): Add members `data' and `header_size'.
13309 (enum sound_attr): Add SOUND_DATA.
13310 (current_sound, current_sound_device): Variables renamed from
13311 sound_file and sound_device.
13312 (parse_sound): Parse :data.
13313 (parse_sound): Handle sound data in strings.
13314 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 13315 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
13316 needed header size.
13317 (wav_play, au_play): Play sounds from string data.
13318
2e471eb5
GM
13319 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
13320
13321 * lisp.h: Add prototype for allocate_string_data.
13322
52283633 13323 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
13324
13325 * alloc.c (mark_buffer): Remove code in #if 0.
13326 (gc_sweep): Ditto.
13327 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
13328 (strings_consed): New variable.
13329 (allocate_string): Set it.
13330 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
13331 (Fmemory_use_counts): Return strings_consed. Use Flist.
13332
13333 * alloc.c: General cleanup in comments etc. Remove conditional
13334 compilation for `standalone'.
13335
13336 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
13337
13338 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
13339 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
13340 (DONT_COPY_FLAG): Removed.
13341 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
13342 (struct sdata, struct sblock): New
13343 (struct string_block): Rewritten.
13344 (STRINGS_IN_STRING_BLOCK): New macro.
13345 (oldest_sblock, current_sblock, total_strings, total_free_strings)
13346 (large_sblocks, string_blocks, string_free_list): New variables.
13347 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
13348 (init_strings): Rewritten.
13349 (allocate_string, allocate_string_data, compact_small_strings)
13350 (free_large_strings, sweep_strings): New functions.
13351 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
13352 (struct string_block_head, current_string_block)
13353 (first_string_block, large_string_blocks, STRING_FULLSIZE)
13354 (STRING_PAD): Removed.
13355 (make_uninit_multibyte_string, make_pure_string): Rewritten.
13356 (Fgarbage_collect): Don't set mark bit in large strings.
13357 (mark_object): Mark strings differently. Mark symbol names
13358 differently.
13359 (survives_gc_p): Test marked strings differently.
427ec082 13360 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
13361 symbol names.
13362 (compact_strings): Removed.
13363
42608ba8
EZ
133642000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
13365
13366 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
13367 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
13368
e0a09e1a
KH
133692000-01-04 Kenichi Handa <handa@etl.go.jp>
13370
dd9f0750 13371 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 13372 in a non-empty buffer.
dd9f0750 13373
3c0f3b15 13374 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 13375
44cd3ae5
GM
133762000-01-03 Gerd Moellmann <gerd@gnu.org>
13377
13378 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
13379 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
13380
13381 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
13382
c182a70f
EZ
133832000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13384
13385 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
13386 need to test for MSDOS frames.
13387
24480d5b
EZ
133882000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13389
13390 * dosfns.c (unspecified_colors): Remove.
13391 (msdos_stdcolor_idx): Use global variables unspecified_fg and
13392 unspecified_bg.
13393 (msdos_stdcolor_name): Return strings for unspecified fore- and
13394 back-ground colors.
13395
13396 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 13397 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
13398 (tty_color_name): Return Lisp strings for unspecified fore- and
13399 back-ground colors.
13400 (Finternal_set_lisp_face_attribute): Remove the special treatment
13401 for Qunspecified_{f,b}g.
52283633 13402 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 13403
047f434a
GM
134042000-01-03 Gerd Moellmann <gerd@gnu.org>
13405
13406 * xdisp.c (reseat_at_next_visible_line_start): Position before
13407 newline only if ending up on a newline.
13408 (next_element_from_ellipsis): Return success. Handle case of
52283633 13409 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
13410 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
13411 returns 0.
13412
d684c676
EZ
134132000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13414
13415 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
13416 (Fcolor_supported_p): Renamed from face-color-supported-p.
13417
5fe1d139
EZ
134182000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13419
13420 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
13421 list of colors renamed to tty-defined-color-alist.
13422 (tty_color_name): Pass the frame to tty-color-by-index.
13423 (realize_tty_face): tty-color-alist is now a function which
13424 accepts the frame as argument.
13425
52283633 13426 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 13427
816be8b8
EZ
134282000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13429
13430 * term.c (insert_glyphs): Pass glyph, not &glyph, to
13431 encode_terminal_code.
13432
b635321e
EZ
134332000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13434
13435 * dispnew.c (mode_line_string): Support termcap frames as well.
13436
9b784e96
GM
134372000-01-01 Gerd Moellmann <gerd@gnu.org>
13438
27189709
GM
13439 * syntax.c (Fforward_word): Undo previous change.
13440
13441 * editfns.c (Fconstrain_to_field): Don't constrain if
13442 inhibit-field-text-motion is non-nil.
13443 (Fline_beginning_position): Undo previous change.
13444 (Fline_end_position): Ditto.
13445
13446 * syntax.c (Fforward_word): Notice field boundaries only if
13447 inhibit-field-text-motion is nil.
13448
13449 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
13450
13451 * editfns.c (Vinhibit_field_text_motion): New variable.
13452 (inhibit-field-text-motion): New DEFVAR_LISP.
13453 (Fline_beginning_position, Fline_end_position): Notice field
13454 boundaries only if inhibit-field-text-motion is nil.
13455
45158a91
GM
13456 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
13457 All calls adjusted.
13458 (x_build_heuristic_mask): Likewise.
13459 (xbm_load_image_from_file): Change error output.
13460 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
13461 (gif_load, gs_load, x_kill_gs_process): Ditto.
13462
9b784e96
GM
13463 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
13464 color indices when accessing raster pixels.
63cec32f
GM
13465 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
13466 one of :file or :data.
13467 (enum pbm_keyword_index): Add PBM_DATA.
13468 (pbm_format): Add :data.
13469 (pbm_image_p): Allow either :file or :data.
13470 (pbm_read_file): New function.
13471 (pbm_scan_number): Rewritten to read from string.
13472 (pbm_load): Support :data.
9b784e96 13473
2cb085db 13474See ChangeLog.8 for earlier changes.
6922b018
KH
13475
13476;; Local Variables:
49b3bd82 13477;; coding: iso-2022-7bit
6922b018 13478;; End:
2a34a036
GM
13479
13480 Copyright (C) 2001 Free Software Foundation, Inc.
13481 Copying and distribution of this file, with or without modification,
13482 are permitted provided the copyright notice and this notice are preserved.