(sentence-end-double-space, sentence-end-without-period): Move to paragraphs.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
4d083a8f
RS
12001-10-29 Richard M. Stallman <rms@gnu.org>
2
b2304472
RS
3 * fns.c (Frequire): Detect recursive try to require the same
4 feature 3 or more levels deep, and get error.
5 (require_unwind): New subroutine.
6 (require_nesting_list): New variable.
7 (syms_of_fns): Init and staticpro it.
8
4d083a8f
RS
9 * print.c (print_object): Clarify indication of insertion type.
10
2fe41216
EZ
112001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
12
90480000
EZ
13 * coding.c (syms_of_coding): Document that locale-coding-system is
14 used for decoding input on X.
15
2fe41216
EZ
16 * window.c (Fscroll_left, Fscroll_right): Doc fix.
17
74e79967
PJ
182001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
19
20 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
21 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
22
60ebcfe8
GM
232001-10-29 Gerd Moellmann <gerd@gnu.org>
24
9a7bdceb
GM
25 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
26 use NO_CURSOR if cursor_in_non_selected_windows is false.
27
3f08fcd2
GM
28 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
29 the slant attribute if FRAME is t.
30
0ccfdad2
GM
31 * xfns.c (x_set_internal_border_width): Set frame garbaged
32 when X window doesn't exist yet.
33
ef253080
GM
34 * xterm.c (x_after_update_window_line): Clear internal border
35 in different circumstances.
36
60ebcfe8
GM
37 * xterm.c (XTread_socket) <KeyPress>: Don't use
38 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
39 <handa@etl.go.jp>.
40
73d25f9c
EZ
412001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
42
43 * m/ibms390.h: New file. From Adam Thornton
44 <athornton@sinenomine.net>.
45
cac1daf0
GM
462001-10-28 Gerd Moellmann <gerd@gnu.org>
47
053b3256
GM
48 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
49
cac1daf0
GM
50 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
51 a loop counter.
52
13b1a09c
PJ
532001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
54
186486eb
PJ
55 * emacs.c: Use argv[0] instead of emacs when -t was specified.
56
4707d2d0
PJ
57 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
58 keyword].
59 Fix typos in comments.
60
d883731c
PJ
61 * emacs.c (bug_reporting_address): New function.
62 Use it when displaying usage message.
63
04012254
PJ
64 * minibuf.c (read_minibuf): Remove unused external declaration of
65 variable `Qread_only'.
66
13b1a09c
PJ
67 * keymap.c (access_keymap): Remove unused variable `charset'.
68
5bbf4378
MB
692001-10-28 Miles Bader <miles@gnu.org>
70
71 * xfaces.c (merge_face_heights): Handle TO being relative as well.
72 Remove #ifdef'd-out code.
73 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
74 (syms_of_xfaces): Initialize them.
75
1ce1e4ee
JR
762001-10-27 Jason Rumney <jasonr@gnu.org>
77
78 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
79 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
80 position using the system caret.
81
82 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
83 (w32_system_caret_height, w32_system_caret_x)
84 (w32_system_caret_y): New variables for tracking system caret.
85 (w32_initialize): Initialize them.
c2d53558 86 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 87
c2d53558
SM
88 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
89 New messages types.
1ce1e4ee
JR
90
91 * w32term.c (note_mouse_highlight): Clear old help_echo.
92
4e30ce42
PJ
932001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
94
bb4600a4
PJ
95 * xterm.c: Fix typo in a comment.
96
7db35a48
PJ
97 * emacs.c: Fix typos in comments.
98 Remove unnecessary spaces.
99 Change doc-string comments to `new style' [w/`doc:' keyword].
100 (USAGE2): Fix typos in usage string.
101
a7248e4f
PJ
102 * xterm.c: Fix typo in a comment.
103
4e30ce42
PJ
104 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
105 emacs.c.
106
62725a92
GM
1072001-10-27 Gerd Moellmann <gerd@gnu.org>
108
798dbe1f 109 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 110 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
111 farther backward when target_y was not reached.
112
62725a92
GM
113 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
114 Display errno only if non-zero.
115 (sound_warning): New function.
116 (vox_configure): Don't treat failing to set sample rate as error.
117 (various places): Improve error messages.
118
d4e34d24
EZ
1192001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
120
944e6f60
EZ
121 * fileio.c (Faccess_file): Run the argument filename through
122 Fexpand_file_name, before using it.
123
d4e34d24
EZ
124 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
125 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
126
38d2af0c
GM
1272001-10-26 Gerd Moellmann <gerd@gnu.org>
128
da80a8d5
GM
129 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
130
38d2af0c
GM
131 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
132 Fix clearing in the case of scroll bars on the right.
c2d53558 133
56f508dd
EZ
1342001-10-26 Juanma Barranquero <lektu@terra.es>
135
136 * w32gui.h (XImage): Add a dummy typedef.
137
fbd5ceb2
GM
1382001-10-26 Gerd Moellmann <gerd@gnu.org>
139
c2d53558 140 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 141
b23236fb
EZ
1422001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
143
144 * frame.c (Fframe_parameter): Fix last change.
145
879eadc3
GM
1462001-10-25 Gerd Moellmann <gerd@gnu.org>
147
75700ff2
GM
148 * frame.c (Fframe_parameter): Fix a bug whereby some
149 ``artificial'' frame parameters, like `minibuffer' were not
150 obtained by calling Fframe_parameters.
151
dfe92a6a
GM
152 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
153 cursor differently.
154
879eadc3
GM
155 * xdisp.c (move_it_vertically_backward): Compute line height
156 differently. Add heuristic to try to be more compatible to 20.x.
157
e1010ebe
SM
1582001-10-25 Stefan Monnier <monnier@cs.yale.edu>
159
d73a471b
SM
160 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
161
d6da5a06
GM
162 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
163 boolean.
e1010ebe 164
f66bd220
MB
1652001-10-25 Miles Bader <miles@gnu.org>
166
167 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
168 BG is a pointer to a structure, not a structure.
169 (gif_format, png_format): Add missing commas.
170
d436d538
RS
1712001-10-24 Richard M. Stallman <rms@gnu.org>
172
173 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 174 (syms_of_xfaces): Defsubr it.
d436d538 175
075c507b
PJ
1762001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
177
178 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
179 variable `area'.
180
d492b584
PJ
1812001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
182
c2d53558 183 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 184
e2a57b34
MB
1852001-10-25 Miles Bader <miles@gnu.org>
186
187 * dispextern.h (struct image): Add `background',
188 `background_valid', and `background_transparent' fields.
189 (image_background, image_background_transparent): New declarations.
190 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
191 * xfns.c (image_background, image_background_transparent)
192 (four_corners_best): New functions.
c2d53558 193 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
194 (gs_format): Add `:background' entry.
195 (lookup_image): Set IMG's background color if specified.
196 (pbm_load, xbm_load_image, png_load): Set IMG's background field
197 when appropriate.
198 (x_clear_image_1): Reset `background_valid' and
199 `background_transparent_valid' fields.
200 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
201 calculating it here. Set IMG's background_transparent field.
202 (enum xpm_keyword_index): Add XPM_BACKGROUND.
203 (enum png_keyword_index): Add PNG_BACKGROUND.
204 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
205 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
206 (enum gif_keyword_index): Add GIF_BACKGROUND.
207 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 208 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
209 Pre-calculate image background color where necessary.
210 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
211 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
212 color to use for image glyph reliefs.
213
b547b6e8
GM
2142001-10-24 Gerd Moellmann <gerd@gnu.org>
215
d9e3b8c6
GM
216 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
217 in full-width rows.
c2d53558 218
b547b6e8
GM
219 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
220 Fix clearing of area not covered by scroll bar.
221
2beb36f9
PJ
2222001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
223
224 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
225 and `real_start'.
c2d53558 226 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
227 (glyph_rect): Remove unused variable `area'.
228
76cb5e06
GM
2292001-10-24 Gerd Moellmann <gerd@gnu.org>
230
bdbdebff 231 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
232
233 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
234 (row_containing_pos): Take additional argument DY.
235 Treat rows ending in middle of char differently.
62e33982
GM
236 (display_line): Handle tabs on window systems differently.
237
238 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
239 with additional argument.
240
241 * dispextern.h (row_containing_pos): Adjust prototype.
242
76cb5e06
GM
243 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
244 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
245 (try_window_id, try_window_reusing_current_matrix)
246 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
247 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
248
996fee11
PJ
2492001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
250
c9e60620
PJ
251 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
252 gnuemacs).
253 (HAVE_BOXES): Fix typo in comment.
254 (push_menu_pane): Fix typo in comment.
255
3b552d56
PJ
256 * xdisp.c: (display_prop_string_p): Remove unused local declaration
257 of `Qwhen'.
258 (single_display_prop_string_p): Remove unused local declarations
259 of `Qwhen' and `Qmargin'.
260 (string_buffer_position): Remove unused variable `around'.
261 (store_frame_title): Remove unused variable `width'.
262
15c565ac
PJ
263 * window.c: Don't define max.
264 (coordinates_in_window): Remove unused variable `uy'.
265
a8818eb9
PJ
266 * widget.c: Don't define max.
267
996fee11
PJ
268 * process.c: Don't define max.
269 (create_process): Remove unused variable `buffer'.
270
496e1a5b
GM
2712001-10-23 Gerd Moellmann <gerd@gnu.org>
272
c2d53558 273 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 274
5905ae8b
EZ
2752001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
276
277 * xfaces.c (Finternal_set_lisp_face_attribute)
278 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
279 frame is on a windowed display.
280
24db49fb
GM
2812001-10-23 Gerd Moellmann <gerd@gnu.org>
282
c2d53558
SM
283 * dispnew.c (sync_window_with_frame_matrix_rows):
284 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
285 of marginal areas.
286
c2d53558 287 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 288
f0487f05
EZ
2892001-10-23 Andreas Schwab <schwab@suse.de>
290
291 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
292 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
293
f0a48a01
GM
2942001-10-23 Gerd Moellmann <gerd@gnu.org>
295
c2d53558 296 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
297 REAL_END. Notice if cursor gets overwritten.
298 (notice_overwritten_cursor): Take X positions as parameters.
299 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
300 around call to x_draw_glyphs.
301
a50a10a0
PJ
3022001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
303
fc11dff0
PJ
304 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
305 instead of C) and usage.
a50a10a0 306
fc11dff0
PJ
307 * editfns.c (char-to-string): Fix argument names (use CHAR instead
308 of C) and usage.
a50a10a0
PJ
309
310 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
311 `left', `max_width' and `max_height'.
312
8738febd
GM
3132001-10-23 Gerd Moellmann <gerd@gnu.org>
314
315 * xdisp.c (display_line): For a tab continued to the next line,
316 set row's ends_in_middle_of_char_p.
317
653c329b
GM
3182001-10-22 Gerd Moellmann <gerd@gnu.org>
319
320 * xdisp.c (display_line): Fix computation of continuation lines
321 width for TABs.
322
f958c5ac
PJ
3232001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
324
7ba51063
PJ
325 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
326 `Qlaplace'.
327
f958c5ac
PJ
328 * fileio.c: Remove unused code.
329
eb360291
MB
3302001-10-22 Miles Bader <miles@gnu.org>
331
332 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
333 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
334 Remove `DOC_STRINGS_IN_COMMENTS' cases.
335
98515cf0
JR
3362001-10-21 Jason Rumney <jasonr@gnu.org>
337
338 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
339
93026d88
EZ
3402001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
341
342 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
343 (Finsert_string): Avoid the multi-line string literals warning.
344
c9a95b79
MB
3452001-10-22 Miles Bader <miles@gnu.org>
346
347 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
348 (Fdocumentation): Don't use it.
349 (syms_of_doc): Don't initialize it.
350
351 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
352 * print.c (Fwith_output_to_temp_buffer): Likewise.
353 * window.c (Fsave_window_excursion): Likewise.
c2d53558 354 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 355 (Fsave_restriction): Likewise.
c2d53558
SM
356 * eval.c (Frun_hooks, Frun_hook_with_args)
357 (Frun_hook_with_args_until_failure)
358 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
359 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
360 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
361 (Funwind_protect, Fcondition_case): Likewise.
362 * coding.c (Ffind_operation_coding_system): Likewise.
363 * keyboard.c (Ftrack_mouse): Likewise.
364
a3b10252
MB
3652001-10-21 Miles Bader <miles@gnu.org>
366
c2d53558 367 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
368 (Fmake_hash_table): Add usage: string to doc string.
369 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 370 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
371 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
372 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
373 (Fml_prefix_argument_loop): Likewise.
374
c6f73eec
PJ
3752001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
376
c2d53558 377 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 378
c6f73eec
PJ
379 * sysdep.c (init_sys_modes): Change doc-string comments to `new
380 style' [w/`doc:' keyword].
381
382 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
383 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
384 comments to `new style' [w/`doc:' keyword].
385
3cf3436e
JR
3862001-10-21 Jason Rumney <jasonr@gnu.org>
387
388 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
389
c169b8f1
JR
390 * w32term.c (remember_mouse_glyph): New function.
391 (w32_mouse_position): Use it.
392 (note_mouse_movement): If the mouse moved off the glyph, remember
393 its new position.
c2d53558 394
4fdd691b
JR
395 * w32term.h (struct w32_output): Correct spelling of x_compatible.
396 (w32_display_info): Add mouse_face_overlay.
397
c169b8f1
JR
398 * w32term.c (notice_overwritten_cursor): Renamed from
399 note_overwritten_text_cursor. Rewritten to take glyph widths into
400 account.
401 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
402 (fast_find_string_pos): New function.
403 (fast_find_position): Return the correct vpos. Add parameter
404 STOP. In the final row, stop before glyphs having STOP as object.
405 Don't consider glyphs that are not from a buffer.
406 (fast_find_position) [0]: Add a presumably more correct version
407 for after 21.1.
408 (expose_window_tree, expose_frame): Don't compute intersections here.
409 (expose_window): Do it here instead.
410 (expose_window_tree, expose_window, expose_line): Return 1 when
411 overwriting mouse-face.
412 (expose_window): If W is the window currently being updated, mark
413 the frame garbaged.
414 (expose_frame): If mouse-face was overwritten, redo it.
415 (x_use_underline_position_properties): New variable.
416 (syms_of_xterm): DEFVAR_BOOL it.
417 (x_draw_glyph_string): Add comment to use it in future.
418 (x_draw_glyph_string): Restore clipping after drawing box.
419 Fix a computation of the underline position.
420 (w32_get_glyph_string_clip_rect): Minor cleanup.
421 (x_fill_stretch_glyph_string): Remove an assertion.
422 (x_produce_glyphs): Don't convert multibyte characters
423 to unibyte characters in unibyte buffers.
424 (cursor_in_mouse_face_p): New function.
425 (x_draw_stretch_glyph_string): Use it to choose a different GC
426 when drawing a cursor within highlighted text. Don't draw
427 background again if it has already been drawn.
428 (x_draw_glyph_string_box): Don't draw a full-width
429 box just because the glyph row's full_width_p flag is set.
430 (x_draw_glyphs): Fix computation of rightmost x for
431 full-width rows.
432 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
433 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
434 change bottom shadow accordingly. Some cleanup.
435 (x_update_window_end): Handle overwritten mouse face
436 also for tool bar windows.
437 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
438 DRAW is DRAW_IMAGE_RAISED.
439 (clear_mouse_face): Return 1 if text with mouse face was
440 actually redrawn. Make the function static. Reset
441 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
442 optimize away highlighting if we pass over that same overlay again.
443 (note_mouse_highlight): Call mouse_face_overlay_overlaps
444 to detect a case where we have to highlight a different region
445 despite not having left the currently highlighted region.
446 Set mouse_face_overlay in the x_display_info. Avoid changing the
447 mouse pointer shape when show_mouse_face has already done it, or
448 there is no need. Handle mouse-face and help-echo in strings.
449 (glyph_rect): New function.
450 (w32_mouse_position): Use it to raise the threshold for mouse
451 movement event generation.
452 (w32_initialize_display_info): Initialize the x_display_info's
453 mouse_face_overlay.
454 (w32_set_vertical_scroll_bar): Don't clear a zero height
455 or width area.
456 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
457 a widget to zero height.
458
3cf3436e 459 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 460 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
461 equivalents in menu_items.
462 (w32_menu_show): Don't overwrite an item's name with its key
463 description in case the description is a multibyte string.
464 (single_submenu): Some cleanup.
465
466 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
467 (postprocess_image): New function.
468 (lookup_image): Call it for all image types except PostScript.
469 (x_kill_gs_process): Call postprocess_image.
470 (tiff_error_handler, tiff_warning_handler): New functions.
471 (tiff_load): Install them as handlers.
472 (x_kill_gs_process): Recognize if someone has cleared the image
473 cache under us.
474 (valid_image_p): Protect better against invalid image
475 specifications. Previous code could signal an error.
476 (Fx_hide_tip, Fshow_tip): Doc fix.
477 (Fv_max_tooltip_size): New variable.
478 (syns_of_xfns): DEFVAR_LISP it.
479 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
480 window buffer to *tip* right after creating the frame. Set frame's
481 window_width. Use a maximum tooltip size specified by
482 Vx_max_tooltip_size, if that has valid contents.
483 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
484 Make sure the tooltip is completely visible.
485 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
486 (Fx_create_frame): Adjust the frame's height for presence
487 of the tool bar before calling x_figure_window_size.
488 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
489 when the window gets smaller.
490 (x_set_foreground_color): Set frame's cursor_pixel.
491 (x_set_foreground_color, x_set_background_color): Cleaned up.
492 (x_set_font): Handle case of x_new_fontset returning the same name
493 as before, although there was a change in fontsets.
494
386ca361
MB
4952001-10-21 Miles Bader <miles@gnu.org>
496
c2d53558 497 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
498 (Flogxor): Add usage: string to doc string.
499 * charset.c (Fstring): Likewise.
500 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
501 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
502
14ff1ee0
PJ
5032001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
504
03be2694
PJ
505 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
506
507 * alloc.c: Reindent DEFUNs with doc: keywords.
508
509 * abbrev.c (Finsert_abbrev_table_description): Reindent.
510
14ff1ee0
PJ
511 * frame.c: Change doc-string comments to `new style' [w/`doc:'
512 keyword].
513
71431a0e
GM
5142001-10-20 Gerd Moellmann <gerd@gnu.org>
515
6aa97356 516 * (Version 21.1 released.)
71431a0e 517
39f624fa
PJ
5182001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
519
c2d53558 520 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
521
522 * xdisp.c (invisible_text_between_p): Put prototype inside #if
523 0 because unused.
524
525 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
526 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
527 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 528
abcce93a
MB
5292001-10-20 Miles Bader <miles@gnu.org>
530
531 The following changes remove the glyph_row `inverse_p' field,
532 which is never set anymore, due to other changes:
533
534 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
535 (reassert_line_highlight, change_line_highlight): Declarations removed.
536 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
537 (line_hash_code, row_equal_p, fake_current_matrices)
538 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
539 (update_frame_line, update_frame_line, update_frame_line):
540 Don't use `inverse_p' field.
541 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
542 change_line_highlight_hook.
543 (XTreassert_line_highlight, x_change_line_highlight):
544 Functions removed.
c2d53558 545 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
546 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
547 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
548 `inverse_p' field.
c2d53558 549 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
550 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
551 (w32_reassert_line_highlight, x_change_line_highlight):
552 Functions removed.
553 * w32console.c (reassert_line_highlight, change_line_highlight):
554 Functions removed.
555 (initialize_w32_display): Don't set reassert_line_highlight_hook
556 or change_line_highlight_hook.
557 (hl_mode): Function removed.
c2d53558
SM
558 (reset_terminal_modes, set_terminal_modes, update_begin)
559 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
560 (clear_frame, ins_del_lines): Don't call it.
561 * termhooks.h (reassert_line_highlight_hook)
562 (change_line_highlight_hook): Declarations removed.
563 * term.c (reassert_line_highlight_hook)
564 (change_line_highlight_hook): Variables removed.
565 (reassert_line_highlight, change_line_highlight): Functions removed.
566 * msdos.c (IT_reassert_line_highlight)
567 (IT_change_line_highlight): Functions removed.
568 (internal_terminal_init): Don't set reassert_line_highlight_hook
569 or change_line_highlight_hook.
570 (highlight): Variable removed.
c2d53558 571 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
572 (IT_set_terminal_modes): Don't set or use it.
573
574 The following changes remove inverse-video support for terminals
575 that use a `magic cookie' standout mode. Due to changes in the
576 way mode-lines are displayed, such support no longer works
577 anyway, and it's probable that almost no one uses such terminals
578 anymore:
579
580 * term.c (standout_requested): Variable removed.
581 (update_end, highlight_if_desired): Don't use it.
582 (chars_wasted, copybuf): Variables removed.
583 (write_standout_marker): Function removed.
c2d53558 584 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
585 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
586 Don't use `chars_wasted' or `copybuf'.
587 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
588 Set `costs_set' to true.
589 (cursor_to, clear_end_of_line): Test `costs_set' instead of
590 `chars_wasted'.
591 (clear_end_of_line): Function removed.
592 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
593 (clear_to_end): Call `clear_end_of_line' instead of
594 `clear_end_of_line_raw'.
54800acb
MB
595 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
596 (term_init): Don't set them.
597 Turn off any standout/underline modes that require magic cookies.
c2d53558 598 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
599 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
600 Remove special processing for magic-cookie standout modes.
601 (turn_off_face, turn_on_face): Remove special processing for
602 underline magic-cookie glitch.
abcce93a 603
0b5f679f
RS
6042001-10-19 Richard M. Stallman <rms@gnu.org>
605
606 * eval.c (syms_of_eval): Doc fixes.
607
5a4a5bd4
GM
6082001-10-19 Gerd Moellmann <gerd@gnu.org>
609
610 * xdisp.c (redisplay_internal): Don't clear echo area if the
611 mini-window is selected.
612
79f1f96c
MB
6132001-10-19 Miles Bader <miles@gnu.org>
614
b57c2708
MB
615 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
616 doesn't take precedence if the affected property's value is nil.
617
618 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
619
79f1f96c
MB
620 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
621 with fields and suggest using `forward-line' to avoid them.
622 * editfns.c (Fline_beginning_position, Fline_end_position):
623 Clarify documentation.
624
ef879104
SM
6252001-10-18 Stefan Monnier <monnier@cs.yale.edu>
626
627 * keymap.c (current_minor_maps): `override' only shadows its
628 correspondent in minor-mode-map-alist, not the whole tail.
629
97f4db8c
AI
6302001-10-18 Andrew Innes <andrewi@gnu.org>
631
632 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
633 optimization. The fontp->encoding array was not being initialized
634 correctly when compiled with optimizations by MSVC.
635
e6b70fd8
GM
6362001-10-18 Gerd Moellmann <gerd@gnu.org>
637
30903479 638 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 639
0e804d38
AI
6402001-10-17 Andrew Innes <andrewi@gnu.org>
641
642 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
643
644 * w32fns.c (w32_load_system_font): Cache codepage for font, in
645 font_info.charset field.
646
647 * w32term.c (w32_encode_char): Get cached codepage from font_info,
648 rather than working it out by calling w32_codepage_for_font for
649 every glyph.
650
66e5868a
AI
6512001-10-17 Andrew Innes <andrewi@gnu.org>
652
653 * w32term.c (w32_read_socket): Determine clipping rectangle for
654 the entire frame, including areas covered by scrollbars and the
655 menubar. This avoids internal arguments about whether a frame is
656 fully obscured or not.
657
15b00083
GM
6582001-10-17 Gerd Moellmann <gerd@gnu.org>
659
23e8bd86
GM
660 * xdisp.c (try_window_id): Undo last change. Give up if
661 window ends in strings.
30903479 662
9c6ba6d1 663 * xdisp.c (try_window_id): Don't display lines after the window
30903479 664 end if the rest of the window after the window end was already blank.
23e8bd86 665
30903479 666 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
667 for the release of 21.1.
668
30903479 669 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 670
945220bd
MB
6712001-10-17 Miles Bader <miles@gnu.org>
672
673 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
674 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
675 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
676 Change doc-string comments to `new style' [w/`doc:' keyword].
677 (DOC_STRINGS_IN_COMMENTS): Macro removed.
678 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
679 out make-docfile.
680
14242528
MB
6812001-10-16 Miles Bader <miles@gnu.org>
682
683 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
684
3ddf952f
GM
6852001-10-16 Gerd Moellmann <gerd@gnu.org>
686
687 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
688 *scratch*.
689
f3fbd155
KR
6902001-10-16 Ken Raeburn <raeburn@gnu.org>
691
692 Avoid the assumption that car and cdr slots of cons cells are
693 addressable lvalues; this allows for easier experimentation with
694 other lisp implementations that may not permit such accesses for
695 various reasons. Not quite complete -- buffer.c still needs some
696 work, and w32/mac files need rechecking -- so compile-time
697 enforcement is left disabled for now.
698
699 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 700 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
701 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
702 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
703 (XSETCAR, XSETCDR): New macros.
704 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
705 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
706 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
707 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
708 XSETCDR.
709 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
710 * buffer.c (record_buffer, Fbury_buffer)
711 (swap_out_buffer_local_variables, recenter_overlay_lists)
712 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
713 fields of a cons cell respectively.
714 * callint.c (quotify_args, Fcall_interactively): Likewise.
715 * ccl.c (Fregister_code_conversion_map): Likewise.
716 * coding.c (detect_coding_system): Likewise.
717 * composite.c (get_composition_id, make_composition_value_copy):
718 Likewise.
30903479
SM
719 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
720 (swap_in_symval_forwarding, set_internal, Fset_default)
721 (Fmake_variable_buffer_local, Fmake_local_variable)
722 (Fmake_variable_frame_local): Likewise.
f3fbd155 723 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 724 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 725 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
726 * minibuf.c (get_minibuffer): Likewise.
727 * search.c (Fmatch_data): Likewise.
728 * textprop.c (extend_property_ranges): Likewise.
c2d53558 729 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
730 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
731 Likewise.
732 * w32term.c (x_delete_display): Likewise.
733 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
734 Likewise.
c2d53558 735 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 736 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 737 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
738 (Fread_file_name): Use XSETCAR.
739 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
740 CHECK_NUMBER_CDR.
741 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
742 * frame.c (Fmake_terminal_frame): Use XSETCDR.
743 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
744 CHECK_NUMBER_CDR.
745 * keyboard.c (read_char): Alter list traversal to avoid taking the
746 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
747 (parse_menu_item): Use XSETCAR and XSETCDR.
748 (reach_char_x_menu_prompt): Use XSETCAR.
749 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
750 (Fcommand_execute): Use XSETCDR.
751 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
752 (openp): Change list traversal to avoid using XCAR as lvalue.
753 (read_list): Use XSETCDR.
754 * process.c (wait_reading_process_input): Change wait_for_cell
755 handling to avoid taking addresses of cons cell slots.
30903479
SM
756 * xselect.c (x_own_selection, x_handle_selection_clear)
757 (x_clear_frame_selections): Use XSETCDR.
758 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
759 (x_handle_property_notify, x_get_foreign_selection)
760 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 761
502150e5
PJ
7622001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
763
018ba359
PJ
764 * buffer.c: Put doc strings in comments.
765
30903479 766 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 767
b56ba8de
SS
7682001-10-15 Sam Steingold <sds@gnu.org>
769
770 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
771
6a0b793a
PJ
7722001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
773
30903479
SM
774 * process.c (process-inherit-coding-system-flag)
775 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
776 in comment.
777
a1f17501 778 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 779 arguments. Put doc strings in comments.
a65da641
PJ
780
781 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 782
aa601ad0
GM
7832001-10-15 Gerd Moellmann <gerd@gnu.org>
784
30903479 785 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 786
aa601ad0
GM
787 * window.c (select_window_1): Unfreeze window start. Remove a
788 doubled test for WINDOW being live.
789
288148a1
PJ
7902001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
791
dd8d1e71
PJ
792 * fns.c (Fmapconcat): Fix typo in a doc string.
793
288148a1
PJ
794 * dispnew.c (Fsleep_for): Fix typo in a doc string.
795
9f5eb4a3
GM
7962001-10-15 Gerd Moellmann <gerd@gnu.org>
797
798 * xterm.c (x_draw_glyph_string): Restore clipping after
799 drawing box.
800
dbae44c8
PJ
8012001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
802
30903479 803 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 804
0c88c937
SM
8052001-10-14 Stefan Monnier <monnier@cs.yale.edu>
806
56378db4
GM
807 * indent.c (skip_invisible): Use new retval of
808 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 809
845e4cf4
SM
810 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
811 If a parent is reached and noinherit is set, exit immediately.
812 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
813
0c88c937
SM
814 * s/ms-w32.h (EXEC_SUFFIXES):
815 * s/msdos.h (EXEC_SUFFIXES):
816 * process.h (EXEC_SUFFIXES): Remove.
817
818 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
819 (decode_suffixes): Remove.
820
821 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
822 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
823 (invisible_ellipsis_p): Remove.
0c88c937
SM
824
825 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
826 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
827 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
828 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
829 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 830
d19be8a9
PJ
8312001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
832
04d7d066
PJ
833 * lisp.h (Ftop_level): Add prototype.
834
d624284c
PJ
835 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
836 (XTread_socket): Improve style of comments to follow other
837 comments.
838
a87414f9
PJ
839 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
840 is already prototyped in included lisp.h).
841
d19be8a9
PJ
842 * frame.c (Fset_mouse_position): Improve style of comment to
843 follow other comments.
844 (Fset_mouse_pixel_position): Improve style of comment to follow
845 other comments.
846 (Fmake_frame_visible): Doc fix and typo in comment.
847 (Fmake_frame_invisible): Doc fix and typo in comment.
848 (Ficonify_frame): Fix typo in comment.
849
c061c855
GM
8502001-10-14 Gerd Moellmann <gerd@gnu.org>
851
37f6b5b6 852 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 853 * term.c, alloc.c: Put doc strings in comments.
c061c855 854
e641b454
GM
8552001-10-13 Gerd Moellmann <gerd@gnu.org>
856
857 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
858 Provide definitions for doc strings in comments.
859
860 * fns.c: Put doc strings in comments.
861
51724e26
EZ
8622001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
863
864 * dired.c (file_name_completion): Ignore a candidate directory if
865 it matches an element in completion-ignored-extensions that ends
866 in a slash.
867 (syms_of_dired) <completion-ignored-extensions>: Mention the above
868 feature in the doc string.
869 (Ffile_name_completion): Ditto.
870
be5fc59b
SM
8712001-10-12 Stefan Monnier <monnier@cs.yale.edu>
872
5a1373f3
SM
873 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
874
875 * xfns.c (syms_of_xfns): Update calls to Fprovide.
876
877 * lisp.h (Fprovide): Update prototype.
878 (Ffeaturep, invisible_p): Remove.
879
bbc4a3d3 880 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
881 (DOLIST, LOOP_PROPVAL): New macros.
882 (invisible_p, invisible_ellipsis_p): Use them.
883 (invisible_noellipsis_p): New function.
884 (syms_of_xdisp): Use empty_string.
885
886 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
887
888 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
889 (syms_of_lread) <Vafter_load_alist>: Update docstring.
890
891 * print.c (Fwith_output_to_temp_buffer): Align with
892 internal_with_output_to_temp_buffer.
893 (print_preprocess): Use traverse_intervals_noorder.
894 (print_object): Update call to traverse_intervals.
895
896 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
897 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
898
899 * intervals.c (traverse_intervals_noorder): New function.
900 (search_for_interval, count_intervals): Use it.
901 (traverse_intervals): Use less stack space and drop `depth' arg.
902
903 * fns.c (Ffeaturep): Add new `subfeature' arg.
904 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
905 (Qsubfeatures): New var.
906 (syms_of_fns): Initialize it.
907
026f408d
SM
908 * keymap.c (Fkey_description): Use empty_string.
909 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
910 (syms_of_keymap): Setup inheritance between maps.
911 Don't export Sdescribe_bindings_internal any more.
912
be5fc59b
SM
913 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
914
3365175e
GM
9152001-10-12 Gerd Moellmann <gerd@gnu.org>
916
917 * xterm.c (notice_overwritten_cursor): Renamed from
918 note_overwritten_text_cursor. Rewritten to take glyph widths into
919 account.
920
2ab7765c
EZ
9212001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
922
923 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
924 multi-line strings without a trailing "\n\".
925
311346bb
PJ
9262001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
927
928 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
929 defined.
930
2168e04d
SM
9312001-10-11 Stefan Monnier <monnier@cs.yale.edu>
932
026f408d
SM
933 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
934
c0ec53ad
SM
935 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
936 * w32proc.c (sys_spawnve):
937 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
938 * w32.c (check_windows_init_file):
939 * sound.c (Fplay_sound):
026f408d 940 * emacs.c (init_cmdargs):
c0ec53ad
SM
941 * process.c (Fstart_process): Update calls to openp.
942
943 * callproc.c (Vexec_suffixes): New var.
944 (Fcall_process): Update call to openp.
945 (decode_suffixes): New function.
946 (syms_of_callproc): Init exec-suffixes.
947
948 * lread.c (Vload_suffixes, default_suffixes): New vars.
949 (openp): Take a lisp list of suffixes.
950 Check for file-name-handlers even if the file was absolute already.
951 (syms_of_lread): Declare load-suffixes.
952 (Fload): Fix up call to openp.
953 Don't bother checking for file-name-handler at the very beginning.
954
f6333468
SM
955 * keymap.h (Fcopy_keymap): Don't export.
956
957 * lisp.h (empty_string): Declare.
c0ec53ad
SM
958 (Vload_suffixes, Vexec_suffixes): Declare.
959 (openp): Update prototype.
f6333468
SM
960
961 * emacs.c (empty_string): New var.
962 (syms_of_emacs): Initialize it.
963
964 * search.c (wordify): Use it.
965
966 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
967 selected window if it's not displayed there. Handle the case
968 when the window is dedicated.
969 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
970
971 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
972
2168e04d
SM
973 * syntax.h (struct gl_state_s): Change the meaning of b_property.
974 Remove left_ok and right_ok.
975 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
976 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
977 new meaning of b_property.
978
979 * syntax.c (update_syntax_table): Simplify.
980 (Fforward_comment): Don't skip quoted chars when going backward.
981
13d95cc0
GM
9822001-10-11 Gerd Moellmann <gerd@gnu.org>
983
beb0990f
GM
984 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
985 in case I is of some unsigned type, in which case
986 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
987 comparison becomes bogus.
988
cb938d46
GM
989 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
990 (Fuser_full_name): Fix bug treating a float as a fixnum.
991
992 * data.c (Fstring_to_number): Use make_fixnum_or_float.
993
994 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 995
13d95cc0
GM
996 * lisp.h (circular_list_error): Add prototype.
997
998 * data.c (Qcircular_list): New variable.
999 (circular_list_error): New function.
1000 (syms_of_data): Initialize it Qcircular_list.
1001
e35f6ff7
SM
10022001-10-10 Stefan Monnier <monnier@cs.yale.edu>
1003
1004 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
1005 casefiddle.c, buffer.c: Include keymap.h.
1006
619632ac
GM
10072001-10-10 Gerd Moellmann <gerd@gnu.org>
1008
1009 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
1010 options. From Dave Love <d.love@dl.ac.uk>.
1011
5e5388f6
GM
10122001-10-09 Gerd Moellmann <gerd@gnu.org>
1013
1014 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
1015 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
1016
14a3dff7
GM
1017 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
1018 unsigned char.
1019 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 1020
76ba8daf
AI
10212001-10-08 Andrew Innes <andrewi@gnu.org>
1022
1023 * lisp.h [max]: Undef min and max before redefining them.
1024
1025 * w32gui.h: Do not undef min and max.
1026
1027 * w32heap.h: Do not undef min and max.
1028
1029 * s/ms-w32.h: Do not undef min and max.
1030
166253cb
SM
10312001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1032
1033 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
1034
0c4d9527
SS
10352001-10-08 Sam Steingold <sds@gnu.org>
1036
1037 * keymap.c (current-active-maps): Quote newlines (compilation error).
1038
14bfa771
EZ
10392001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
1040
1041 * Makefile.in (lisp, shortlisp): Replace bindings.el with
1042 bindings.elc, since otherwise doc strings in bindings.el get wrong
1043 offsets in etc/DOC.
1044
bdb7aa47
SM
10452001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1046
9985827f
SM
1047 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
1048
1049 * keyboard.h (map_prompt): Remove.
1050
1051 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 1052 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 1053
bdb7aa47
SM
1054 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1055
1056 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1057
1058 * keyboard.c (map_prompt): Remove.
1059 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
1060 Use Fkeymap_prompt.
1061
1062 * keymap.h: New file. Extracted from lisp.h.
1063
9985827f
SM
1064 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
1065 (accessible_keymaps_1): New function.
1066 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
1067 (Fwhere_is_internal): Use Fcurrent_active_maps.
1068 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
1069 Insert in current buffer rather than standard-output.
1070 Don't call `help-mode'. Export to elisp.
1071 (describe_buffer_bindings): New wrapper.
1072 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
1073 and Sdescribe_buffer_bindings.
1074
402c9a51
GM
10752001-10-08 Gerd Moellmann <gerd@gnu.org>
1076
9985827f 1077 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
1078 Remove code setting signal handler.
1079
9985827f 1080 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
1081 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
1082
3fe81fdf
PJ
10832001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1084
1085 * keyboard.c: Don't define min/max.
1086
55fa7820
GM
10872001-10-08 Gerd Moellmann <gerd@gnu.org>
1088
9985827f 1089 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 1090 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 1091 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 1092 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 1093 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
1094 Don't define min/max.
1095
1096 * lisp.h (min, max): New macros.
1097
55fa7820
GM
1098 * puresize.h (BASE_PURESIZE): Increase to 725000.
1099
1aad31e4
PJ
11002001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1101
9180dc8c
PJ
1102 * xfaces.c (free_frame_menubar): Add prototype.
1103
01f67d2c
PJ
1104 * lisp.h (init_window): Add prototype.
1105
1106 * editfns.c: Include ctype.h.
1107
1108 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 1109 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
1110 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
1111 variable `sb'.
1112
5f351ff1
PJ
1113 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
1114 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
1115 `popup_activated_flag' and `title'.
1116
479dfe87
PJ
1117 * doc.c (Fdocumentation_property): Fix typo in a doc string.
1118
dff49fc8
PJ
1119 * emacs.c (main): Remove extra `;'.
1120
248ac615
PJ
1121 * atimer.h (struct atimer): Fix typos in a comment.
1122
1123 * atimer.c: Fix typo.
1124
af232c7d
PJ
1125 * Makefile.in: Fix typo.
1126
1127 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 1128
d876f455
MB
11292001-10-07 Miles Bader <miles@gnu.org>
1130
1131 * Makefile.in (lisp, shortlisp): Add `button.elc'.
1132
0037e2f2
KR
11332001-10-07 Ken Raeburn <raeburn@gnu.org>
1134
b056f36d
KR
1135 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
1136 Lisp_Object.
1137
0037e2f2
KR
1138 * lisp.h (Ffield_end): Declare.
1139
1a4372ef
GM
11402001-10-07 Gerd Moellmann <gerd@gnu.org>
1141
a4a74e8c
GM
1142 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
1143
1144 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
1145
1146 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
1147
1148 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
1149
1a4372ef
GM
1150 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
1151 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
1152
1153 * alloc.c (inhibit_garbage_collection): Simplify.
1154 (Fmemory_use_counts): Ditto.
1155
9985827f 1156 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
1157 (syms_of_data): DEFVAR_INT most-positive-fixnum and
1158 most-negative-fixnum.
1159
9985827f 1160 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
1161 (FIXNUM_OVERFLOW_P): New macros.
1162
4650e362
MB
11632001-10-06 Miles Bader <miles@gnu.org>
1164
1165 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
1166 scroll_bar_bottom_shadow_pixel fields.
1167 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
1168 for the shadows, and tell the toolkit about them if we succeed.
1169 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
1170 Free scroll-bar shadow colors.
1171 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
1172 Free scroll-bar shadow colors when the background color changes.
1173 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
1174 Initialize scroll-bar shadow-color fields.
1175
ace64e0a
GM
11762001-10-05 Gerd Moellmann <gerd@gnu.org>
1177
1178 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
1179
ec66bdc7
MB
11802001-10-05 Miles Bader <miles@gnu.org>
1181
9985827f
SM
1182 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
1183 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 1184 New functions (were in simple.el).
9985827f 1185 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
1186 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
1187 (syms_of_minibuf): Initialize them.
1188
a0fb4492
GM
11892001-10-05 Gerd Moellmann <gerd@gnu.org>
1190
1191 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
1192 (tiff_load): Install them as error and warning handler.
1193
0bcf87c1
AI
11942001-10-04 Andrew Innes <andrewi@gnu.org>
1195
1196 * w32fns.c (x_to_w32_color): Fix argument to alloca.
1197 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 1198 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
1199 (x_to_w32_charset): Handle private format for unknown charsets.
1200 Handle wildcards in charset spec, by ignoring them.
1201 (w32_codepage_for_font): Fix argument to alloca. Don't remove
1202 "*-" prefix from charset.
1203 (x_to_w32_font): Enlarge remainder array for safety. Specifically
1204 handle the truncated font spec form constructed by font_list_1, so
1205 that we correctly identify the charset fields. Don't remove "*-"
1206 prefix from charset.
1207 (w32_list_synthesized_fonts): Fix argument to alloca.
1208
c89e4bc5
GM
12092001-10-04 Stefan Monnier <monnier@cs.yale.edu>
1210
1211 * window.h (MINI_WINDOW_P): Use NILP.
1212
1213 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
1214
1215 * termhooks.h (struct input_event): Use proper type for `kind'.
1216
12172001-10-04 Gerd Moellmann <gerd@gnu.org>
1218
1219 This handles unknown keysyms better than before. For example,
1220 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
1221 Emacs formerly completely ignored F5. With the change, it derives
1222 a key symbol from the name of the X keysym, `ccaron' in this case.
1223 Reported by Martin Buchholz.
1224
1225 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
1226 unknown keysyms.
1227
1228 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
1229 that EVENT->code isn't a function key, use the keysym's name.
1230
12312001-10-04 Gerd Moellmann <gerd@gnu.org>
1232
1233 FOREACH is a macro that should make it easier to loop over Lisp
1234 lists with checks for cycles and proper lists.
1235
1236 * lisp.h (LIST_END_P, FOREACH): New macros.
1237
12382001-10-04 Gerd Moellmann <gerd@gnu.org>
1239
1240 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
1241 called for a lost connection. Prevent dumping core in this case.
1242 Instead print the X error, and exit. On user request.
1243
1244 * xterm.c (error_msg): New variable.
1245 (x_fatal_error_signal): New function.
1246 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
1247 as fatal_error_signal_hook around the call to XtCloseDisplay.
1248
1249 * emacs.c (fatal_error_signal_hook): New variable.
1250 (fatal_error_signal): Call that function.
1251
12522001-10-04 Gerd Moellmann <gerd@gnu.org>
1253
1254 With this, Emacs prints how much pure storage it will
1255 approximately need in case pure storage overflows while dumping.
1256
1257 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
1258 New variables.
1259 (init_alloc_once): Initialize new variables.
1260 (PURE_POINTER_P): Use new variables.
1261 (pure_alloc): If pure storage overflows, allocate from the heap.
1262 (check_pure_size): New function.
1263 (Fgarbage_collect): Don't GC if pure storage has overflowed.
1264
1265 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
1266 (check_pure_size): Add prototype.
1267
1268 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
1269
12702001-10-04 Gerd Moellmann <gerd@gnu.org>
1271
1272 This adds a post-gc-hook that's run with GC inhibited.
1273 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
1274
1275 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
1276 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
1277 (Fgarbage_collect): Run post-gc-hook.
1278
12792001-10-04 Gerd Moellmann <gerd@gnu.org>
1280
1281 This adds `defvaralias' and `indirect-variable'. Changes not
1282 directly related to this feature are there to gain the same
1283 performance again as before variable aliases.
1284
1285 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
1286 code to get and set symbol values, to take defvaralias into account.
1287
1288 (Note: the new `constant' bit-flag in symbols would make it
1289 possible to define arbitrary read-only variables, e.g. with
1290 `defconst'.)
1291
1292 Documentation is in lispref/variables.texi. Added to NEWS.
1293
1294 * lisp.h (enum symbol_interned): New enumeration.
1295 (struct Lisp_Symbol): Remove member `obarray', add
1296 `indirect_variable', `constant', and `interned'.
1297 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
1298 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
1299 (indirect_variable): Add prototype.
1300
1301 * print.c (print_preprocess, print_object): Test internedness of
1302 symbols differently.
1303
1304 * lread.c (Fintern, Funintern): Set symbol's interned and constant
1305 bit-fields.
1306 (init_obarray): Likewise for t and nil.
1307
1308 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1309 (Fdefvaralias): New function.
1310 (specbind): Simplify the test if symbol is a constant.
1311 (syms_of_eval): Defsubr Fdefvaralias.
1312
1313 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1314 (Qcyclic_variable_indirection): New variable.
1315 (Fkeywordp): Check for internedness differently.
1316 (Fmakunbound): Simplify the test if symbol is a constant.
1317 (indirect_variable, Findirect_variable): New functions.
1318 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
1319 aliased symbol.
1320 (let_shadows_buffer_binding_p): Check for variable aliases.
1321 (set_internal): Simplify the test if SYMBOL is a constant.
1322 If SYMBOL has a buffer-local value and is an alias, use the aliased
1323 symbol instead.
1324 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
1325 Sindirect_variable.
1326
1327 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
1328 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
1329 set directly.
1330
1331 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
1332
1333 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
1334 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
1335 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
1336
ab952a4f
GM
13372001-10-04 Gerd Moellmann <gerd@gnu.org>
1338
1339 * Branch for 21.1.
b56ba8de 1340
ba88ff28
MB
13412001-10-03 Miles Bader <miles@gnu.org>
1342
1343 * callproc.c (syms_of_callproc): Explicitly state in the
1344 documentation for `process-environment' that earlier entries take
1345 precedence over later ones.
1346
ae1a9581
MB
13472001-10-02 Miles Bader <miles@gnu.org>
1348
1349 * textprop.c (Fnext_char_property_change)
1350 (Fprevious_char_property_change): Remove reference to non-existant
1351 argument OBJECT from doc-string.
1352
257e3f57
GM
13532001-10-01 Gerd Moellmann <gerd@gnu.org>
1354
1355 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
1356 (try_window_id): Skip back over lines ending in a newline from a
1357 string.
1358
1359 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
1360 New bit flag
1361
c1f29759
RS
13622001-10-01 Richard M. Stallman <rms@gnu.org>
1363
1364 * search.c (Freplace_match): Doc fix.
1365
c30dce3d
AI
13662001-09-28 Andrew Innes <andrewi@gnu.org>
1367
1368 * w32menu.c (set_frame_menubar): Take into account that
1369 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
1370 <raeburn@gnu.org>.
1371
03be5931
EZ
13722001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
1373
1374 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
1375
75bec752
PJ
13762001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1377
1378 * s/gnu-linux.h: Fix a typo in comment.
1379
83100e0a
AS
13802001-09-28 Andreas Schwab <schwab@suse.de>
1381
1382 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
1383 nocombreloc, in case -z combreloc is the default.
1384
a74b48cf
GM
13852001-09-28 Gerd Moellmann <gerd@gnu.org>
1386
1387 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
1388 really going on here.
1389
09c4719e
SM
13902001-09-27 Stefan Monnier <monnier@cs.yale.edu>
1391
1392 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
1393
f7d5d963
EZ
13942001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
1395
1396 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
1397 utf-8, menu-bar, and latin-N.
1398 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
1399 unconditionally now.
1400 (lisp): Add latin-N, since they are preloaded.
1401
9240e746
GM
14022001-09-27 Gerd Moellmann <gerd@gnu.org>
1403
14531065
GM
1404 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
1405 to the left. Some cleanup.
1406
9240e746
GM
1407 * xdisp.c (display_mode_element): One more case where a string's
1408 multibyteness should be used for display.
1409
edd1e654
GM
14102001-09-26 Gerd Moellmann <gerd@gnu.org>
1411
b02439c8
GM
1412 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
1413 reading at EOF.
1414
032906b1 1415 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 1416 of the only temporarily set echoing flag for deciding when
032906b1
GM
1417 the cancel echoing.
1418
1419 * keyboard.c (echo_kboard): Make externally visible.
1420
1421 * lisp.h (echo_kboard): Declare extern.
1422
cb617e7c 1423 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 1424 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
1425 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
1426 this round of redisplay if make_cursor_line_fully_visible fails.
1427 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 1428 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
1429
1430 * dispextern.h (required_matrix_width, required_matrix_height):
1431 Add prototypes.
1432
09c4719e
SM
1433 * dispnew.c (required_matrix_width, required_matrix_height):
1434 New functions.
cb617e7c 1435 (allocate_matrices_for_window_redisplay)
09c4719e
SM
1436 (allocate_matrices_for_frame_redisplay: Use them.
1437 Remove parameters CH_DIM.
cb617e7c 1438
edd1e654
GM
1439 * xdisp.c (display_mode_lines): Temporarily set selected_frame
1440 and selected_window to the frame of the window whose mode-lines
1441 are displayed, and to the window itself.
1442 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 1443 here.
edd1e654 1444
924b604c
GM
14452001-09-25 Gerd Moellmann <gerd@gnu.org>
1446
daba7643
GM
1447 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
1448 the image cache under us.
1449
b7a22712 1450 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 1451 with a string value, use that string's multibyteness for displaying.
b7a22712 1452
ad648212
GM
1453 * keyboard.c (read_char): Don't clear a message for a switch-frame
1454 event. From Stefan Monnier <monnier@cs.yale.edu>.
1455
9f8531e5
GM
1456 * xterm.c (fast_find_position) [0]: Add a presumably more correct
1457 version for after 21.1.
1458
1459 * xdisp.c (row_containing_pos): Make externally visible.
1460
1461 * dispextern.h (row_containing_pos): Add prototype.
1462
924b604c
GM
1463 * process.c (send_process): Disable composition if from_byte < 0.
1464 From Kenichi Handa <handa@etl.go.jp>.
1465
6f3f0db4
GM
14662001-09-24 Gerd Moellmann <gerd@gnu.org>
1467
c69c0ebc
GM
1468 * xterm.c (refreshicon): Function removed.
1469
d1182bc4
GM
1470 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
1471
1472 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
1473
1474 * xterm.c (toplevel): Remove includes in #if 0.
1475
6f3f0db4
GM
1476 * process.c (sigchld_handler) [LINUX]: Don't return from
1477 the signal handler at the end of the loop.
1478
59957f85
GM
14792001-09-21 Gerd Moellmann <gerd@gnu.org>
1480
09c4719e
SM
1481 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
1482 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 1483
a0528984
EZ
14842001-09-21 Markus Rost <rost@math.ohio-state.edu>
1485
1486 * Makefile.in (shortlisp): Add ../lisp/env.elc.
1487
db92b288
GM
14882001-09-20 Gerd Moellmann <gerd@gnu.org>
1489
3fed8ad5
GM
1490 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
1491 since this function can be called during GC.
1492
db92b288
GM
1493 * callproc.c (Fcall_process): Handle errors from pipe(2).
1494 (child_setup): Delete code in #ifdef vipc.
1495
7121b85a
GM
14962001-09-19 Gerd Moellmann <gerd@gnu.org>
1497
72f62cb5
GM
1498 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
1499 (display_mode_element): Display the string from decode_mode_spec
1500 depending on its multibyteness.
1501
a2697022
GM
1502 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
1503
7121b85a
GM
1504 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
1505
bfc97351
GM
15062001-09-18 Gerd Moellmann <gerd@gnu.org>
1507
c9063433
GM
1508 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
1509 recursive_edit_unwind.
1510 (recursive_edit_unwind): Set kboard state according to
1511 SINGLE-KBOARD.
1512
3fbdba3e
GM
1513 * buffer.c (modify_overlay): Don't do nothing if START == END;
1514 This can still be a modification, for example when an overlay has
1515 a before-string or after-string.
1516 (Fdelete_overlay): Prevent redisplay optimizations when deleting
1517 an overlay with before-string or after-string.
1518
1270031d
GM
1519 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
1520 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
1521
bfc97351
GM
1522 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
1523 first_unchanged_at_end_row is in front of
1524 last_unchanged_at_beg_row. This code should be removed after the
1525 release of 21.1.
1526
d8a973aa
GM
15272001-09-17 Gerd Moellmann <gerd@gnu.org>
1528
e18c8b8d
GM
1529 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
1530 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
1531
d8a973aa
GM
1532 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
1533 versions >= 2.95.
1534
ed7d6ba4
EZ
15352001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
1536
1537 * dired.c (Ffile_attributes): Doc fix.
1538
551629f9
GM
15392001-09-14 Gerd Moellmann <gerd@gnu.org>
1540
1541 * fileio.c (Ffile_symlink_p): Fix last change.
1542
1543 * filelock.c (current_lock_owner): Fix last change.
1544
4c8c7926
GM
15452001-09-13 Gerd Moellmann <gerd@gnu.org>
1546
620c4704
GM
1547 * filelock.c (current_lock_owner): If readlink returns ERANGE,
1548 take that to mean that the buffer is too small.
1549
81c3310d
GM
1550 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
1551 that to mean that the buffer is too small.
1552
06fd3792
GM
1553 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
1554 current buffer's multibyteness when discarding the iterator's
1555 stack.
1556
4c8c7926
GM
1557 * xfns.c (Fx_window_property): Handle case that property gets
1558 deleted between the two calls to XGetWindowProperty.
1559
9a72e4c1
GM
15602001-09-11 Gerd Moellmann <gerd@gnu.org>
1561
bd819d14 1562 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 1563
a41edd99
GM
1564 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
1565 in addition to read-only.
1566
1567 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
1568 to t in addition to read-only.
1569
1570 * lisp.h (Qinhibit_modification_hooks): Declare.
1571
1572 * insdel.c (Qinhibit_modification_hooks): New variable.
1573 (syms_of_insdel): Initialize and staticpro it.
1574
d4881c6a
GM
1575 * textprop.c (verify_interval_modification): Don't run
1576 modification-hooks if inhibit_modification_hooks.
1577
1578 * dispnew.c (set_window_cursor_after_update): Fix code
1579 finding glyph row containing cursor when cursor_in_echo_area
1580 is >= 0.
1581
9a72e4c1
GM
1582 * xdisp.c (init_from_display_pos): Put some code in #if 0.
1583 (add_to_log): Use bcopy instead of strcpy.
1584 (init_from_display_pos): Use an explicit loop over bytes in
1585 overlay strings instead of calling index.
1586
f4a374a1
GM
15872001-09-10 Gerd Moellmann <gerd@gnu.org>
1588
300e57bd
GM
1589 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
1590
1591 * dispnew.c (direct_output_for_insert): Don't change IT's
1592 stop_charpos to something in front of its current position.
1593
f4a374a1
GM
1594 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
1595 `format'.
1596
7e4cbc91
RS
15972001-09-10 Richard M. Stallman <rms@gnu.org>
1598
1599 * frame.c (Fmouse_position): Doc fix.
1600
6afad91e
GM
16012001-09-07 Gerd Moellmann <gerd@gnu.org>
1602
1603 * xdisp.c (init_from_display_pos): Don't compare the result
1604 of calling index with NULL.
1605
f76e0368
GM
16062001-09-06 Gerd Moellmann <gerd@gnu.org>
1607
1608 * xfns.c (x_set_background_color): Don't change the colors
1609 of the X window of scroll bar widgets.
1610
9ead1b60
AI
16112001-09-05 Andrew Innes <andrewi@gnu.org>
1612
1613 * w32fns.c (w32_createwindow): Undo last change.
1614
c3b497b3
GM
16152001-09-05 Gerd Moellmann <gerd@gnu.org>
1616
08e1d6df
GM
1617 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
1618
c3b497b3
GM
1619 * xdisp.c (string_buffer_position): Use *single_char_property*
1620 functions instead of the *single_property* functions.
b56ba8de 1621
8f860180
AI
16222001-09-04 Andrew Innes <andrewi@gnu.org>
1623
9a72e4c1
GM
1624 * w32term.c (w32_read_socket): Add more information to debugging
1625 output.
8f860180
AI
1626
1627 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
1628 from Emacs frames, so that calls to GetClipBox in w32term.c
1629 correctly report when part of a frame is visible (including
1630 scrollbars, etc). This prevents repeated redrawing of frames when
1631 only a scrollbar is visible.
1632 (w32_wnd_proc): Add more frame information to debugging output.
1633
2ee1aa00
SM
16342001-09-03 Stefan Monnier <monnier@cs.yale.edu>
1635
1636 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
1637
e3b22517
GM
16382001-09-03 Gerd Moellmann <gerd@gnu.org>
1639
7e376260
GM
1640 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
1641 help-echo for a string which doesn't have help-echo itself, use
1642 get-char-property to obtain the help-echo from the string's buffer
1643 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
1644 have mouse-face, look ``under'' the string for mouse-face from an
1645 overlay.
1646 (fast_find_position): Add parameter STOP. In the final row, stop
1647 before glyphs having STOP as object. Don't consider glyphs that
1648 are not from a buffer.
1649
e3b22517
GM
1650 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
1651
9a249bba
EZ
16522001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
1653
1654 * fns.c (Fmd5): Doc fix.
1655
c9979669
GM
16562001-08-31 Gerd Moellmann <gerd@gnu.org>
1657
1658 * composite.c (update_compositions): Do nothing if
1659 inhibit-modification-hooks is set.
1660
9584e63a
GM
16612001-08-30 Gerd Moellmann <gerd@gnu.org>
1662
986ec8f2 1663 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 1664 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
1665 glyph matrices etc. in a core dump.
1666
92a25631
GM
1667 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
1668 (syms_of_xdisp): Initialize them.
1669 (handle_single_display_prop): Don't change point, bind `object',
1670 `position', and `buffer-position' instead to the object having the
2ee1aa00 1671 `display' property, position in the object and position in the buffer.
92a25631 1672
9584e63a
GM
1673 * fileio.c (Finsert_file_contents): Don't change the multibyteness
1674 of the buffer if REPLACE is non-nil.
1675
d38633a3
GM
16762001-08-29 Gerd Moellmann <gerd@gnu.org>
1677
1678 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
1679
f4fccc1e
EZ
16802001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
1681
1682 * w32term.c (x_set_glyph_string_background_width)
1683 (show_mouse_face): Track the last changes in xterm.c.
1684
eaaa65b0
GM
16852001-08-28 Gerd Moellmann <gerd@gnu.org>
1686
7b0870b2
GM
1687 * xterm.c (x_set_glyph_string_background_width): Set the glyph
1688 string's background width so that multi-line mouse-face is drawn
1689 to the right edge of the window.
1690 (show_mouse_face): Set the row's mouse_face_p flag after drawing
1691 glyphs.
1692
6b6e2422 1693 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 1694 before inserting/writing glyphs.
6b6e2422 1695
eaaa65b0
GM
1696 * xdisp.c (display_mode_element): Use string_byte_to_char to
1697 determine character positions in strings, use chars_in_text
1698 instead of strwidth.
1699 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
1700 a matrix as parameter; this is easier to use from GDB.
1701
9ad62cf8
MB
17022001-08-28 Miles Bader <miles@gnu.org>
1703
2ee1aa00
SM
1704 * textprop.c (Fprevious_single_char_property_change)
1705 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 1706
32171635
GM
17072001-08-27 Gerd Moellmann <gerd@gnu.org>
1708
47d57b22
GM
1709 * fileio.c (Finsert_file_contents): Allocate, restore, and
1710 free composition data in the case of REPLACE not being nil.
1711
1712 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
1713 there exist overlay strings with newlines at POS.
1714 (text_outside_line_unchanged_p): Return 0 if changes start at
1715 START and overlays exist at START. Likewise for END.
1716 (try_window_id): Give up if init_to_row_end returns 0.
1717
32171635
GM
1718 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
1719 unconditionally.
1720
e1249666
GM
17212001-08-24 Gerd Moellmann <gerd@gnu.org>
1722
33954c45
GM
1723 * keymap.c (access_keymap): Return the cdr of the binding of
1724 a generic character instead of its definition (KEY . BINDING).
1725
e1249666
GM
1726 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
1727 to 0 also in the REPLACE case.
1728
fb4c6c96
AC
17292001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
1730
1731 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
1732 open to determine whether file is readable (as for DOS_NT).
1733
59ecf80b
GM
17342001-08-23 Gerd Moellmann <gerd@gnu.org>
1735
1736 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
1737 coding.type is coding_type_no_conversion or coding_type_raw_text,
1738 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
1739 non-nil instead of just setting enable_multibyte_characters in the
1740 buffer to nil.
1741
40e33037
GM
17422001-08-22 Gerd Moellmann <gerd@gnu.org>
1743
374388c3
GM
1744 * dispextern.h (struct face_cache): Add member
1745 menu_face_changed_p.
1746
1747 * xfaces.c (menu_face_changed_default): New variable.
1748 (menu_face_changed_count): Variable removed.
1749 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
1750 the menu_face_changed_default flag, otherwise set the FRAME's
1751 menu_face_changed_p flag if the `menu' face has been changed.
1752 Prevent calling set_font_frame_param if FRAME is t.
1753 (make_face_cache): Initialize cache's menu_face_changed_p
1754 from menu_face_changed_default.
1755 (realize_basic_faces): Look into the frame's face cache to
1756 determine if the menu appearance needs updating.
1757
40e33037
GM
1758 * keymap.c (access_keymap): Fix last change to not consider
1759 IDX when it has modifiers.
1760
859ea4b8
GM
17612001-08-21 Gerd Moellmann <gerd@gnu.org>
1762
1763 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
1764 . BINDING) exists, where GENERIC-CHAR is the generic character of
1765 the charset of IDX, return BINDING unless there exists a binding
1766 for IDX itself.
1767
e8660d73
GM
17682001-08-16 Gerd Moellmann <gerd@gnu.org>
1769
cca1b1d7
GM
1770 * xrdb.c (SYSV): Don't define on Solaris 2.
1771 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
1772
e8660d73 1773 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 1774 of the screen line, not text line, containing IT's current position.
e8660d73 1775
93aba6fc
GM
17762001-08-15 Gerd Moellmann <gerd@gnu.org>
1777
288d4e06
GM
1778 * window.c (window_scroll_pixel_based): Don't recenter if
1779 PT is partially visible in the window.
1780
3452efc2
SM
1781 * xterm.c (expose_window_tree, expose_window, expose_line):
1782 Return 1 when overwriting mouse-face.
82f053ab
GM
1783 (expose_frame): If mouse-face was overwritten, redo it.
1784
93aba6fc
GM
1785 * xfaces.c (x_update_menu_appearance): Don't call
1786 set_frame_menubar, let the next redisplay do it.
1787
858a55c1
AI
17882001-08-14 Andrew Innes <andrewi@gnu.org>
1789
1790 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
1791 drawing glyph string.
1792
3a990b67
EZ
17932001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
1794
1795 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
1796 running HI-UX/MPP.
1797
04386463
GM
17982001-08-14 Gerd Moellmann <gerd@gnu.org>
1799
1800 * xfaces.c (x_update_menu_appearance): Save and restore value of
1801 interrupt_input_blocked.
1802
3e6385a4
GM
18032001-08-13 Gerd Moellmann <gerd@gnu.org>
1804
b0e619b4
GM
1805 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
1806 a line start, move back to the line start.
3452efc2 1807
0de73d5a
GM
1808 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
1809 exactly when a mini-buffer is active.
1810
3e6385a4
GM
1811 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
1812 in units of 1/8 character on non window-system frames.
1813 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
1814
d1b5f629
EZ
18152001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
1816
1817 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
1818 a doc string.
1819
eaa2319f
GM
18202001-08-09 Gerd Moellmann <gerd@gnu.org>
1821
8e3189f0
GM
1822 * keyboard.c (Vpre_help_message): New variable.
1823 (syms_of_keyboard): Initialize and staticpro it.
1824 (show_help_echo): Record current message before displaying a
1825 help-echo, and restore that message when clearing the help.
1826
eaa2319f
GM
1827 * xfns.c (x_create_im): Remove prototype.
1828
1829 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
1830
1831 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 1832
eaa2319f
GM
18332001-08-08 Gerd Moellmann <gerd@gnu.org>
1834
1835 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 1836 windows whose height has changed, disable partially visible lines.
eaa2319f 1837
17fdcfc8
GM
18382001-08-07 Gerd Moellmann <gerd@gnu.org>
1839
22d01aed 1840 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 1841 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 1842
17fdcfc8
GM
1843 * xdisp.c (start_display): Don't try to determine the continuation
1844 lines width if lines are truncated. It's superfluous and leads to
1845 incorrect results if POS is not visible in the window after
1846 reseating the iterator at the previous line start.
1847
8e3fe78e
GM
18482001-08-06 Gerd Moellmann <gerd@gnu.org>
1849
1850 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1851
98a8938c
GM
18522001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1853
1854 * alloc.c (init_stack): Remove declaration.
1855
18f9986a
GM
18562001-08-03 Gerd Moellmann <gerd@gnu.org>
1857
5e1f85e0
GM
1858 * keyboard.c (read_key_sequence): Check that key is an integer
1859 before comparing it with quit_char.
1860 (add_command_key): Use larger_vector.
1861 (read_char_x_menu_prompt): Instead of converting symbol and
1862 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 1863 which cannot be confused with valid events.
5e1f85e0
GM
1864 (read_char): When reading from Vunread_command_events, check for
1865 events of the form (EVENT . disabled) instead of
1866 (EVENT . nil).
1867
18f9986a
GM
1868 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
1869 a float, determine the max height from the frame's height.
1870
fbc7f2a6
GM
18712001-08-02 Gerd Moellmann <gerd@gnu.org>
1872
1873 * xdisp.c (redisplay_internal): Take message_cleared_p into
1874 account only if minibuf_level == 0.
1875
81b1a79d
GM
18762001-08-01 Gerd Moellmann <gerd@gnu.org>
1877
e5c60873
GM
1878 * xdisp.c (redisplay_internal): Add a check for the last
1879 displayed message.
3452efc2 1880
6e019995
GM
1881 * xdisp.c (message_cleared_p): New variable.
1882 (clear_message): Set message_cleared_p when clearing the current
1883 message.
1884 (redisplay_internal): Look at message_cleared_p to capture
1885 the case that the echo area should be cleared.
1886
308a74d8
GM
1887 * keyboard.c (command_loop_1): Fix spelling of
1888 resize_echo_area_exactly.
1889
3452efc2 1890 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
1891
1892 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
1893
81b1a79d
GM
1894 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
1895 current matrix when the window gets smaller.
1896
ada329e6
EZ
18972001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
1898
1899 * print.c (strout): Cast the character passed to insert_char to
1900 unsigned char, to avoid sign extension when it is promoted to int.
1901
ed86208c
GM
19022001-07-31 Gerd Moellmann <gerd@gnu.org>
1903
1904 * fileio.c (Finsert_file_contents): Don't treat a return value
1905 of 0 from emacs_read as an IO error.
1906
6594ac22
GM
19072001-07-30 Gerd Moellmann <gerd@gnu.org>
1908
cef68af5
GM
1909 * keyboard.c (abs): New macro.
1910 (double_click_fuzz): New variable.
1911 (make_lispy_event): Use it to determine what makes a double-click.
1912 (syms_of_keyboard): DEFVAR_INT it.
1913
6594ac22
GM
1914 * xmenu.c (set_frame_menubar): Take into account that
1915 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
1916 <raeburn@gnu.org>.
1917
75c5350a
GM
19182001-07-27 Gerd Moellmann <gerd@gnu.org>
1919
1920 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
1921
1922 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
1923 of row's visible height.
1924
1925 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
1926 deal with the first overlay string having an image `display' property.
1927 (try_window_reusing_current_matrix, compute_line_metrics):
1928 Fix computation of row's visible height for the case that part of the
75c5350a
GM
1929 row is invisible above and part of the row is at the same time
1930 invisible below the window.
1931
ac49effe
GM
19322001-07-26 Gerd Moellmann <gerd@gnu.org>
1933
1934 * xfns.c (x-show-tip): Doc fix.
3452efc2 1935
ac49effe
GM
1936 * xfns.c (Vx_max_tooltip_size): New variable.
1937 (syms_of_xfns): DEFVAR_LISP it.
1938 (Fx_show_tip): Set frame's window_width to the width of the
1939 window. Use a maximum tooltip size specified by
1940 Vx_max_tooltip_size, if that has valid contents.
1941 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 1942
8c3b00cb
AI
19432001-07-26 Andrew Innes <andrewi@gnu.org>
1944
1945 * w32term.c (x_display_list): New variable.
1946 (w32_term_init): Set it.
1947
1948 * w32term.h (x_display_list): New extern.
1949
16098288
GM
19502001-07-26 Gerd Moellmann <gerd@gnu.org>
1951
1952 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
1953 is non-nil, instead of when redisplaying_p is non-zero.
1954 See comment there.
16098288
GM
1955 (mark_window_display_accurate_1): Add an assertion.
1956
64c5be50
GM
19572001-07-25 Gerd Moellmann <gerd@gnu.org>
1958
e743f599
GM
1959 * dispextern.h (struct it): Increase size of ctl_chars to 16.
1960
563b384d
GM
1961 * xfns.c (Fx_file_dialog): Block/unblock input while processing
1962 events so that we get a chance of processing expose events.
1963
64c5be50
GM
1964 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
1965
296808a5
GM
19662001-07-24 Gerd Moellmann <gerd@gnu.org>
1967
1968 * xfns.c (valid_image_p): Protect better against invalid image
1969 specifications. Previous code could signal an error.
1970
5247262a
GM
19712001-07-23 Gerd Moellmann <gerd@gnu.org>
1972
3452efc2 1973 * indent.c (current_column): Fix column computation in the
f1004faf
GM
1974 presence of display table entries.
1975 (current_column_1, Fmove_to_column, compute_motion): Likewise.
1976
dd42b31a
GM
1977 * dispnew.c (adjust_glyph_matrix): In the optimization for
1978 windows whose height has changed, use the new window height
1979 to compute which rows to invalidate.
1980
9e5a7f2a
GM
1981 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
1982 (MAX_10_EXP): New macro.
1983 (Fformat): Use it.
1984
5247262a
GM
1985 * coding.c (code_convert_region): Handle the multibyte case if
1986 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
1987
177ab8ce
GM
19882001-07-20 Gerd Moellmann <gerd@gnu.org>
1989
6e07c0a5
GM
1990 * dispextern.h (struct face): Change type of `stipple' to
1991 int; it's an ID.
1992
177ab8ce
GM
1993 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
1994
b5b80599
GM
19952001-07-19 Gerd Moellmann <gerd@gnu.org>
1996
4e2a256b
GM
1997 * dispnew.c (update_window): Don't set the cursor at the end
1998 of the update if display update has been paused.
1999
3452efc2 2000 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 2001
c1fd9232
KR
20022001-07-18 Ken Raeburn <raeburn@gnu.org>
2003
2004 * fns.c (Fset_char_table_default): Check that a charset is defined
2005 before checking its dimension.
2006
928a85c1
KR
20072001-07-17 Ken Raeburn <raeburn@gnu.org>
2008
2009 * coding.c (setup_coding_system): Don't do any designation based
2010 on reg_bits if charset is not yet defined.
2011
fb4c6c96 2012 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
2013 pointer, using eassert.
2014
de11c1ea
GM
20152001-07-17 Gerd Moellmann <gerd@gnu.org>
2016
3452efc2
SM
2017 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
2018 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 2019
467f1209
GM
20202001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
2021
2022 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
2023
c3d6be34
GM
20242001-07-16 Gerd Moellmann <gerd@gnu.org>
2025
c1d61a7d
GM
2026 * fileio.c (unwind_read): Function removed.
2027 (read_non_regular, read_non_regular_quit): New functions.
2028 (Finsert_file_contents): When reading from non-regular files,
2029 arrange to catch a `quit' and terminate the loop. Rearrange
2030 code so that a `quit' when reading from a regular file doesn't
2031 insert text in the buffer.
2032
c3d6be34
GM
2033 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
2034 Clear faces afterwards.
2035 (clear_font_table): Take a x_display_info parameter. Don't free
2036 fonts being the default font of any frame on the given display.
2037
e06aa1f9
GM
20382001-07-13 Gerd Moellmann <gerd@gnu.org>
2039
2040 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
2041 instead of CHAR_STRING which can signal an error.
2042
2043 * charset.c (char_to_string_1): Extracted from char_to_string.
2044 Return -1 instead of signaling an error.
2045 (char_to_string): Use it.
2046
2047 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
2048
176c92e6
SM
20492001-07-12 Stefan Monnier <monnier@cs.yale.edu>
2050
2051 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
2052 is t, don't try to append anything to it.
2053
1c56232f
EZ
20542001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
2055
2056 * dired.c (file_name_completion): Pass dp->d_name to
2057 Fstring_match, not elt, which is always nil here.
2058
1d2b2268
GM
20592001-07-12 Gerd Moellmann <gerd@gnu.org>
2060
2061 * xselect.c (x_decline_selection_request): Handle errors
2062 caused by receivers that have vanished.
2063
2064 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
2065 ignoring events on foreign windows in #if 0. Always dispatch
2066 the event after checking it with x_handle_property_notify.
2067
2068 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
2069 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
2070 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
2071 (toplevel): Add prototypes for file-local functions.
2072 (x_atom_to_symbol): Remove DPYINFO parameter.
2073
fe5a0162
SM
20742001-07-11 Stefan Monnier <monnier@cs.yale.edu>
2075
2076 * w32menu.c (menubar_selection_callback, w32_menu_show):
2077 Initialize `entry' to nil.
2078 (w32_dialog_show): Remove unused `save_wv' variable.
2079 (name_is_separator): Recognize "--:foo" and "--foo-bar".
2080
a777242c
GM
20812001-07-11 Gerd Moellmann <gerd@gnu.org>
2082
8ee5b6a3
GM
2083 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
2084
d0e2444e
GM
2085 * fileio.c (unwind_read): Print a message when discarding inserted
2086 text or switching the buffer to unibyte. Change parameter.
2087 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 2088
a777242c
GM
2089 * fileio.c (unwind_read): New function.
2090 (Finsert_file_contents): Record it as unwind-function for
2091 the case that reading is interrupted by C-g.
2092
ae794295
GM
20932001-07-10 Gerd Moellmann <gerd@gnu.org>
2094
fe5a0162 2095 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
2096 update when scrolling_window returns 0.
2097
6b05fae3
GM
2098 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
2099
2100 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 2101 for the case that x_decode_color signals an error.
6b05fae3 2102
ae794295
GM
2103 * xdisp.c (add_to_log): Do nothing if called asynchronously.
2104
bb6e8cee
GM
21052001-07-09 Gerd Moellmann <gerd@gnu.org>
2106
2107 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
2108 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
2109 around ioctls.
2110
36b40a8a
EZ
21112001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
2112
24b97d4b
EZ
2113 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
2114 doc string line for dos-timezone-offset.
2115
36b40a8a
EZ
2116 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
2117 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
2118 (syms_of_msdos): Add \n\ at the end of a line in the doc string
2119 line for dos-unsupported-char-glyph.
36b40a8a
EZ
2120
2121 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
2122
0967b4b0
GM
21232001-07-05 Gerd Moellmann <gerd@gnu.org>
2124
f25cfe53
GM
2125 * sound.c: Include Emacs' header files with #include "...".
2126
0967b4b0
GM
2127 * eval.c (specbind): Additionally record the buffer that was
2128 current when a buffer-local or frame-local variable was bound.
2129
c347a1c3
GM
21302001-07-04 Gerd Moellmann <gerd@gnu.org>
2131
2132 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
2133 to unibyte characters in unibyte buffers.
2134
6332ca8a
GM
21352001-07-03 Gerd Moellmann <gerd@gnu.org>
2136
38472d44
GM
2137 * eval.c (specbind): If SYMBOL has a frame-local binding, record
2138 the frame on the binding stack. Change format of entries for
2139 local bindings on the binding stack to '(SYMBOL . WHERE)'.
2140 (unbind_to): Handle unbinding a frame-local variable.
2141
6332ca8a 2142 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 2143 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
2144 (dump_glyph_row): Print row's continuation_lines_width.
2145 (try_window_id): Take the shortcut if ZV is visible in the
2146 window, but there are actually no changes at ZV.
2147
63d1b174
GM
21482001-07-02 Gerd Moellmann <gerd@gnu.org>
2149
4c175203
GM
2150 * xterm.h (x_free_dpy_colors): Add prototype.
2151
2152 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
2153 right number of arguments.
2154
0b54ce28
GM
2155 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
2156 ($(lwlibdir)TAGS): New target.
4c175203 2157 (TAGS): Fix dependency list.
0b54ce28 2158
63d1b174
GM
2159 * xterm.c (x_list_fonts): Make sure XFreeFont is called
2160 with input blocked.
2161
d827466c
GM
21622001-06-30 Gerd Moellmann <gerd@gnu.org>
2163
2164 * emacs.c (main): Remove extern declaration for sys_nerr, which
2165 isn't used and causes a compilation error with GCC 3.0 on
2166 FreeBSD 4.3.
2167
b5cb1ada
GM
21682001-06-27 Gerd Moellmann <gerd@gnu.org>
2169
a5d3ec3f 2170 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 2171 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
2172 (toplevel): Include <signal.h> and syssignal.h.
2173
b5cb1ada
GM
2174 * sound.c (vox_configure, vox_close): Turn off atimers
2175 around ioctls.
2176
d9bad487
GM
21772001-06-26 Gerd Moellmann <gerd@gnu.org>
2178
fdbb67fe
GM
2179 * keyboard.c (read_char) <non_reread>: Record the previous idle
2180 start time before calling timer_stop_idle.
2181 (read_char) <reread_first>: After processing a help-echo event,
2182 restore the previous idle start time.
2183
d9bad487
GM
2184 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
2185 the start of invisible text.
2186 (setup_for_ellipsis): New function.
2187 (next_overlay_string): After all overlay strings have been
2188 processed, display an ellipsis if necessary.
2189 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
2190 (push_it): Initialize display_ellipsis_p on the iterator's stack.
2191
2192 * dispextern.h (struct iterator_stack_entry): Add member
2193 display_ellipsis_p.
2194
2b9c25e0
GM
21952001-06-25 Gerd Moellmann <gerd@gnu.org>
2196
80de57df
GM
2197 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
2198 on the value of the wait-for-wm frame parameter.
2199
2200 * xterm.h (struct x_output): Add member wait_for_wm.
2201
2202 * xfns.c (Qwait_for_wm): New variable.
2203 (x_frame_parms): Add entry for `wait-for-wm".
2204 (x_set_wait_for_wm): New function.
2205 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
2206 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
2207
2b9c25e0
GM
2208 * xdisp.c (try_window_id) <all changes below window end>: Don't
2209 take this shortcut if ZV is visible in the window.
2210 (try_window_id): When checking for window start being in changed
2211 text, don't check that the buffer's size has changed.
2212
f772775c
RS
22132001-06-23 Richard M. Stallman <rms@gnu.org>
2214
2215 * minibuf.c (Fcompleting_read): Doc fix.
2216
fa9090b8
GM
22172001-06-19 Gerd Moellmann <gerd@gnu.org>
2218
2219 * composite.c (Ffind_composition_internal): Accept ZV
2220 and a string's end position as POS.
2221
f6f1beba
GM
22222001-06-18 Gerd Moellmann <gerd@gnu.org>
2223
2224 * composite.c (Ffind_composition_internal): Check POS
2225 for validity.
2226
0ae83348
EZ
22272001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
2228
2229 * editfns.c (Fmessage_box): If the frame is not under a window
2230 system, output the message in the echo area.
2231
e4cdc335
RS
22322001-06-14 Richard M. Stallman <rms@gnu.org>
2233
2234 * xdisp.c (try_window_id): When EOB is visible, don't treat
2235 insertion at EOB as if it were "off the bottom of the screen."
2236
a55a5f3c
AI
22372001-06-11 Andrew Innes <andrewi@gnu.org>
2238
2239 * w32proc.c (create_child): Add new parameter is_gui_app.
2240 (w32_executable_type): Add new parameter is_gui_app.
2241 (sys_spawnve): Use it.
2242 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
2243 SIGQUIT. This matches better how the signals are interpreted by
2244 MSVC compiled programs.
2245 (syms_of_ntproc): Update docstring.
2246
1b85dc1c
SM
22472001-06-02 Stefan Monnier <monnier@cs.yale.edu>
2248
2249 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
2250 well otherwise note_mouse_highlight might optimize away highlighting
2251 if we pass over that same overlay again.
2252
b75f8eab
EZ
22532001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
2254
2255 * lread.c (Fload): Document that the argument is run via
2256 substitute-in-file-name.
2257
94843cc1
GM
22582001-05-31 Gerd Moellmann <gerd@gnu.org>
2259
b14659e6
GM
2260 * Makefile.in (bootstrap-doc): New target.
2261 (bootstrap-emacs): Depend on it.
2262
0894672f
GM
2263 * fileio.c (Fdo_auto_save): Don't try to create the directory of
2264 auto-save-list-file-name when shutting down Emacs, because
2265 creating the directory might signal an error, and leaves
2266 Emacs in a strange state.
2267
94843cc1
GM
2268 * term.c: (tty_cursor_hidden): New variable.
2269 (update_begin): Don't call tty_hide_cursor. Clean up.
2270 (update_end, set_terminal_window, set_scroll_region): Clean up.
2271 (ring_bell, reset_terminal_modes): Clean up.
2272 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
2273 on tty_cursor_hidden.
2274 (write_glyphs): Call tty_hide_cursor.
2275
db3a49a6
SM
22762001-05-30 Stefan Monnier <monnier@cs.yale.edu>
2277
2278 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
2279
8bd189fb
GM
22802001-05-30 Gerd Moellmann <gerd@gnu.org>
2281
6f1be3b9
GM
2282 * xfns.c (enum image_value_type): New enumerator
2283 IMAGE_STRING_OR_NIL_VALUE.
2284 (parse_image_spec): Handle it.
2285 (xbm_format, pbm_format): Use it for :foreground and :background.
2286 (xbm_load, pbm_load): Check for nil color names.
2287
8bd189fb
GM
2288 * xterm.c (note_mouse_highlight): If an overlapping overlay
2289 exists, but we find that we highlight the same overlay as before,
2290 don't do the highlighting again.
2291
7bdba03c
GM
22922001-05-29 Gerd Moellmann <gerd@gnu.org>
2293
4c329aa8
GM
2294 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
2295 Protect unibyte strings created by replacing their multibyte
2296 equivalents in menu_items.
2297
e15e2828
GM
2298 * keymap.c (Fsingle_key_description): NUL-terminate the string
2299 buffer before calling build_string.
2300
7bdba03c
GM
2301 * callproc.c (Fcall_process): Deal with decode_coding returning
2302 CODING_FINISH_INCONSISTENT_EOL.
2303
89c8dc6c
GM
23042001-05-28 Gerd Moellmann <gerd@gnu.org>
2305
db3a49a6 2306 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
2307 an item's name with its key description in case the description
2308 is a multibyte string.
2309
2310 * keymap.c (Fsingle_key_description): Create a multibyte string
2311 only if necessary.
2312
eb04d6cd
GM
2313 * macros.c (Fstart_kbd_macro): Doc fix.
2314
8bd6307f
GM
2315 * xterm.c (cursor_in_mouse_face_p): New function.
2316 (x_draw_stretch_glyph_string): Use it to choose a different GC
2317 when drawing a cursor within highlighted text.
2318
e26c4089
GM
2319 * editfns.c (char_property_eq): Put in #if 0.
2320
2321 * indent.c (string_display_width): Put in #if 0.
2322
2323 * lread.c (Fload): Remove unused label.
2324
89c8dc6c
GM
2325 * termcap.c (speeds): Put in #if 0.
2326
9a1211f2
GM
23272001-05-18 Gerd Moellmann <gerd@gnu.org>
2328
29148a3f
GM
2329 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
2330
9a1211f2
GM
2331 * xfaces.c (xlfd_point_size): Don't divide pixel size from
2332 transformation matrix by 10.
2333
09393d07
GM
23342001-05-16 Gerd Moellmann <gerd@gnu.org>
2335
2336 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
2337 only if it's equal to the former foreground pixel color.
db3a49a6 2338 (x_set_foreground_color, x_set_background_color)
09393d07
GM
2339 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
2340
460e6bae
GM
23412001-05-16 Dave Love <fx@gnu.org>
2342
2343 * insdel.c (signal_before_change, signal_after_change): Consider a
2344 local change hook which changes the buffer.
99c78ce8
GM
2345
2346 * process.c (read_process_output): Don't call signal_after_change
2347 and update_compositions after insert_from_string_before_markers.
2348
dbcf3c03
GM
23492001-05-16 Gerd Moellmann <gerd@gnu.org>
2350
a90b3d3c
GM
2351 * xfaces.c (split_font_name): Use the right field when
2352 checking for `[...]' syntax.
2353
1b7818b4
GM
2354 * buffer.c (copy_overlays): New function.
2355 (clone_per_buffer_values): Use it.
2356
2357 * buffer.h (OVERLAY_PLIST): New macro.
2358
9bae8781
GM
2359 * keymap.c (Fsingle_key_description): Replace a build_string with
2360 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
2361
dbcf3c03
GM
2362 * fontset.c (Ffontset_info): Check that face is non-null
2363 before accessing its fields.
2364
8a1ae4dd
GM
23652001-05-15 Gerd Moellmann <gerd@gnu.org>
2366
18a0a39e
GM
2367 * keyboard.c (read_key_sequence): Prevent generating a fake
2368 prefix key twice.
2369
e335b66a
GM
2370 * xfaces.c (split_font_name): Handle `[...]' for the right
2371 font name fields.
2372
8a1ae4dd
GM
2373 * ccl.c (ccl_driver): Don't copy remaining bytes in case
2374 of CCL_STAT_INVALID_CMD.
2375
3cf80731
SM
23762001-05-14 Stefan Monnier <monnier@cs.yale.edu>
2377
33568849
SM
2378 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
2379 in <var> has no default value yet.
2380
3cf80731
SM
2381 * xfaces.c (try_alternative_families): First try the FAMILY.
2382 And if nothing is found in the end, try again with scalable fonts.
2383 (try_font_list): Let try_alternative_families do a bit more of
2384 the work. Only use FAMILY if it is not nil.
2385 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
2386
933b0249
GM
23872001-05-14 Gerd Moellmann <gerd@gnu.org>
2388
58e5af83
GM
2389 * xterm.c (note_mouse_highlight): Avoid changing the mouse
2390 pointer shape when show_mouse_face has already done it.
33568849 2391
58e5af83 2392 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
2393 full-width rows.
2394
7b16a6bf
GM
2395 * xfaces.c (split_font_name): Make sure to leave the loop
2396 with the right value of `i'.
3cf80731 2397
933b0249
GM
2398 * xfaces.c (split_font_name): Handle matrix transformations
2399 in the pixel and point size fields of XLFD font names.
2400 (xlfd_point_size): Likewise.
2401
dddcbf00
EZ
24022001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
2403
3cf80731 2404 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
2405 (x_to_w32_font): Add prototype.
2406
7689ef0b
EZ
2407 * regex.c (malloc, realloc, free) [emacs]: Undefine before
2408 redefining, to avoid compiler warnings.
2409
e7c15bba
EZ
2410 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
2411
dddcbf00
EZ
2412 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
2413 (w32_get_bdf_glyph): Cast between unsigned char and char when
2414 passing arguments to subroutines, to shut up compiler warnings.
2415 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
2416 GET_HEX_VAL.
2417
2418 * xfaces.c: Include keyboard.h before frame.h, not after it.
2419
2420 * widget.c: Include keyboard.h before frame.h.
2421
2422 * w32term.h (struct image, struct face): Forward declaration, to
2423 avoid compiler warnings.
2424
7bd2d083
GM
24252001-05-11 Gerd Moellmann <gerd@gnu.org>
2426
47e72862
GM
2427 * keyboard.c (read_key_sequence): Don't modify events when
2428 generating fake prefix keys (mode-line, scroll-bar, ...) since
2429 this prevents proper processing of such events when pushed back
2430 into unread-command-events.
2431
dd5f324b
GM
2432 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
2433 actually redrawn. Make the function static.
2434 (note_mouse_highlight): Fix a case where the mouse cursor
2435 was changed back to the text cursor.
2436
2437 * xterm.h (clear_mouse_face): Remove prototype.
2438
d88a79d4
GM
2439 * xdisp.c (try_window_id): Fix the fix and set the right
2440 window_end_vpos.
2441
2442 * xdisp.c (try_window_id): Fix computation of window end in the
2443 case that lines were deleted at the end of the window. Add some
2444 more debug_method_adds.
0416532f 2445
7bd2d083
GM
2446 * xfaces.c (try_alternative_families): New function.
2447 (try_font_list): Use it. If ATTRS specifies a family, check
2448 fonts from that family first.
2449 (choose_face_font): Remove code setting the family part of
2450 the pattern to nil.
2451
23fca891
GM
24522001-05-10 Gerd Moellmann <gerd@gnu.org>
2453
ff9aa2ca
GM
2454 * xdisp.c (try_window_id): Fix case of all changes before
2455 the window start.
7b2654b5 2456
23fca891
GM
2457 * xdisp.c (try_window_id): Add some xasserts.
2458
e9726794
GM
24592001-05-09 Gerd Moellmann <gerd@gnu.org>
2460
2461 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
2462
9e53a675
GM
24632001-05-09 Dave Love <fx@gnu.org>
2464
2465 * xdisp.c (GIVE_UP): Fix for K&R C.
2466
0d487c52
GM
24672001-05-09 Gerd Moellmann <gerd@gnu.org>
2468
fe88d421
GM
2469 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
2470
0d487c52
GM
2471 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
2472 back to the text cursor shape without need.
2473
1e9fc92e
GM
24742001-05-07 Gerd Moellmann <gerd@gnu.org>
2475
a2a6232e
GM
2476 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
2477
2478 * dispextern.h (inverse_video): Declare extern.
2479
1e9fc92e
GM
2480 * keyboard.c (delete_kboard): Handle the case that selected_frame
2481 has been deleted in the course of x_connection_closed.
2482
12949a7f
EZ
24832001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
2484
7b2654b5
SM
2485 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
2486 Fix the change from 2001-04-30.
12949a7f 2487
2fa2f461
GM
24882001-05-03 Gerd Moellmann <gerd@gnu.org>
2489
a779d213
GM
2490 * xfns.c (file_dialog_unmap_cb): New function.
2491 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
2492 where a dialog is closed via the window manager.
2493
7b2654b5 2494 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
2495 the window start or all below the window end mostly rewritten.
2496 (redisplay_window): Move the tests if try_window_id is
2497 applicable to try_window_id.
2498 (GIVE_UP): New macro.
2499
3356df63
GM
25002001-05-02 Gerd Moellmann <gerd@gnu.org>
2501
a39202f6 2502 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
2503 currently being updated, mark the frame garbaged.
2504 Fix computation of rows intersecting the exposed rectangle.
a39202f6 2505 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 2506
3356df63
GM
2507 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
2508 again if it has already been drawn.
2509
a9d2fd1d
SM
25102001-05-01 Stefan Monnier <monnier@cs.yale.edu>
2511
2512 * syntax.c (update_syntax_table): Check that oldi has the same
2513 properties as old_prop before deciding not to invalidate.
2514
c95fc5f1
GM
25152001-04-30 Gerd Moellmann <gerd@gnu.org>
2516
a9793e45
GM
2517 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
2518 read-only text that is so because of text properties.
2519
c95fc5f1 2520 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 2521 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
2522 windows that are components of a Lucid menu bar.
2523
5a5d9185
GM
25242001-04-27 Gerd Moellmann <gerd@gnu.org>
2525
2526 * term.c (turn_on_face): Fix reverse video handling on terminals
2527 that don't support colors.
2528
ba973f7a
GM
25292001-04-26 Gerd Moellmann <gerd@gnu.org>
2530
2531 * editfns.c (save_excursion_restore): Don't use XBUFFER on
2532 a non-buffer.
2533
8c56a983
GM
25342001-04-25 Gerd Moellmann <gerd@gnu.org>
2535
a728644c
GM
2536 * term.c (toggle_highlight): New function.
2537 (turn_on_face): Change handling of reverse video.
2538
7b2654b5
SM
2539 * process.c (wait_reading_process_input):
2540 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 2541
bfd8410f
GM
2542 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
2543 of the number of overlays to check.
2544
be2488ca
GM
2545 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
2546
8c56a983
GM
2547 * xdisp.c (try_window_id): Fix a case where window_end_pos
2548 and window_end_bytepos were not adjusted.
2549
522d42f7
GM
25502001-04-23 Gerd Moellmann <gerd@gnu.org>
2551
2552 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
2553 zero instead of -1.
2554
78c1afb6
EZ
25552001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
2556
a9d2fd1d
SM
2557 * process.c (wait_reading_process_input) [!subprocesses]:
2558 Don't reference waiting_for_user_input_p, it's not defined in the
2559 branch without async subprocesses support.
78c1afb6 2560
a2fab450
GM
25612001-04-19 Gerd Moellmann <gerd@gnu.org>
2562
a122a38e
GM
2563 * keyboard.c (delete_kboard): Prevent a dangling reference
2564 from current_kboard to KB, which is freed.
2565
a9d2fd1d
SM
2566 * process.c (wait_reading_process_input):
2567 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
2568 read_key_sequence aware of buffer changes from under it.
2569
0f8d6dc7
GM
25702001-04-18 Gerd Moellmann <gerd@gnu.org>
2571
eeffb293
GM
2572 * xfaces.c (Qscalable_fonts_allowed): New variable.
2573 (realizing_basic_faces_p): Removed.
2fa2f461
GM
2574 (x_face_list_fonts): Special handling for realizing_basic_faces_p
2575 removed.
eeffb293 2576 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
2577 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
2578 for scalable-fonts-allowed to t.
eeffb293 2579
0f8d6dc7
GM
2580 * fileio.c (Finsert_file_contents): If the file size returned from
2581 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 2582 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 2583
eec2d1de
EZ
25842001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
2585
2586 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
2587 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
2588 (__memalign_hook): Make the two prototypes consistent.
2589
f4f480bd
GM
25902001-04-17 Gerd Moellmann <gerd@gnu.org>
2591
2592 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
2593 matrix of mini-windows.
2594
52283633
SM
25952001-04-12 Stefan Monnier <monnier@cs.yale.edu>
2596
2597 * intervals.c (find_interval): Don't rebalance during signal handling.
2598
ec2423c9
GM
25992001-04-11 Gerd Moellmann <gerd@gnu.org>
2600
30cb0001 2601 * fns.c: Include blockinput.h.
52283633 2602
ec2423c9
GM
2603 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
2604
719d83ad
GM
26052001-04-10 Gerd Moellmann <gerd@gnu.org>
2606
60f8d735
GM
2607 * fns.c (Fcompare_strings): Fix return values.
2608
afffeb57
GM
2609 * window.c (window_scroll): Change the meaning of N to mean
2610 N screen-fulls or N lines.
2611 (window_scroll_pixel_based, window_scroll_line_based)
2612 (scroll_command, Fscroll_other_window): Change accordingly.
2613
52283633
SM
2614 * window.c (window_scroll_pixel_based, Frecenter):
2615 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
2616 height of the window.
2617
2618 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
2619 instead of using it.last_visible_y for the height of the window.
52283633 2620
719d83ad 2621 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 2622 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
2623
2624 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
2625 able to write to hidden and system files. From Dan Holmsand
2626 <dan@eyebee.com>.
719d83ad 2627
8ddf3ee1
GM
2628 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
2629 Holmsand <dan@eyebee.com>.
719d83ad 2630
522ed7fb
GM
26312001-04-09 Gerd Moellmann <gerd@gnu.org>
2632
9170e5d4
GM
2633 * fns.c (Fplist_get, Fplist_put): Add QUITs.
2634
522ed7fb
GM
2635 * window.c (window_internal_height): Return 1 less if the
2636 window has a header line.
2637
2638 * xdisp.c (try_window_id): When scrolling on a terminal, take
2639 the change of window_internal_height into account.
2640
ceeb3d7d
EZ
26412001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
2642
2643 * gmalloc.c (align): If the argument SIZE would overflow
2644 __malloc_ptrdiff_t, fail right away.
2645
63685b9d
GM
26462001-04-06 Gerd Moellmann <gerd@gnu.org>
2647
2648 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
2649 Make sure the tooltip is completely visible.
2650 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
2651
2652 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
2653
2654 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
2655
3ffb33bb
DL
26562001-04-06 Dave Love <fx@gnu.org>
2657
52283633
SM
2658 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
2659 Fix test of `from'.
3ffb33bb 2660
869fb12c
GM
26612001-04-06 Gerd Moellmann <gerd@gnu.org>
2662
52283633 2663 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 2664
869fb12c
GM
2665 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
2666
441bf856
GM
26672001-04-05 Gerd Moellmann <gerd@gnu.org>
2668
4d664b04
GM
2669 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
2670
52283633 2671 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 2672
30ca89f5
GM
2673 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
2674 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
2675
2676 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
2677 shell widget's position only if it is non-null.
2678
52283633
SM
2679 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
2680 Set f->output_data.x->widget to null after destroying it.
30ca89f5 2681
81a81c0f
GM
2682 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
2683 FILENAME to bring it in synch with the documentation.
2684
441bf856
GM
2685 * xfaces.c (realizing_basic_faces_p): Renamed from
2686 realize_default_face_p.
2687 (realize_basic_faces): Set/clear realizing_basic_faces_p.
2688 (realize_default_face): Don't set the flag.
2689
702a1e8e
GM
26902001-04-04 Gerd Moellmann <gerd@gnu.org>
2691
1013f4e3
GM
2692 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
2693
52283633
SM
2694 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
2695
1013f4e3
GM
2696 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
2697 the buffer that was used for echoing.
2698
702a1e8e
GM
2699 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
2700 (first_font_matching): Removed unused function.
2701 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
2702 (may_use_scalable_font_p): Remove parameter FONT; rename
2703 parameter NAME to FONT.
2704 (x_face_list_fonts): Fix missing bounds check.
2705 (realizing_default_face_p): New variable.
2706 (realize_default_face): Set and clear that flag.
2707 (x_face_list_fonts): When called during the realization of the
2708 default face, and no matching fonts are found when ignoring
2709 scalable fonts and fonts matching a regexp from
2710 face-ignored-fonts, try without ignoring fonts.
2711
f9dbcda4
GM
27122001-04-03 Gerd Moellmann <gerd@gnu.org>
2713
ad18ffb1
GM
2714 * xfns.c (postprocess_image): New function.
2715 (lookup_image): Call it for all image types except PostScript.
2716 (x_kill_gs_process): Call postprocess_image.
2717
f9dbcda4
GM
2718 * xterm.c (x_use_underline_position_properties): New variable.
2719 (x_draw_glyph_string): Use it.
2720 (syms_of_xterm): DEFVAR_BOOL it.
2721
651f03b6
GM
27222001-04-02 Gerd Moellmann <gerd@gnu.org>
2723
2724 * xterm.c (x_alloc_nearest_color_1): New function.
2725 (x_alloc_nearest_color): Use it.
2726 (x_color_cells): Take a Display as argument, instead of a frame.
2727 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
2728 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
2729 (x_initialize): Register cvt_string_to_pixel as resource converter
2730 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
2731
73d75a62
GM
27322001-03-30 Gerd Moellmann <gerd@gnu.org>
2733
b2046df8
GM
2734 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
2735 (set_iterator_to_next): If a string from a display property ends,
2736 consider the case that this might also be the end of an
2737 overlay string having the display property.
2738
52283633 2739 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 2740
87d8eba4
GM
2741 * xdisp.c (reseat_to_string): Undo last change.
2742
73d75a62
GM
2743 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
2744 matrix of a window when the header line changes, when
2745 new rows are allocated, or when the width changes.
2746
911a2406
EZ
27472001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
2748
52283633 2749 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 2750
aea51abe
EZ
27512001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
2752
2753 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
2754 deprecated.
2755
176bc847
GM
27562001-03-29 Gerd Moellmann <gerd@gnu.org>
2757
ed31fabf
GM
2758 * data.c (Fsubr_interactive_form): New function.
2759 (syms_of_data): Defsubr it.
2760
176bc847
GM
2761 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
2762 (live_float_p, live_misc_p): Return 1 only if the offset of the
2763 pointer in its block is >= 0.
2764
e59d0e9d
GM
27652001-03-28 Paul Eggert <eggert@twinsun.com>
2766
2767 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
2768 microseconds calcuation. Avoid double-rounding problem.
2769 In doc string, warn that the result is approximate.
2770
f827b862
GM
27712001-03-28 Gerd Moellmann <gerd@gnu.org>
2772
30a3f61c
GM
2773 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
2774 bind `inhibit-eval-during-redisplay' to t.
2775
2776 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
2777
2778 * xdisp.c (inhibit_eval_during_redisplay)
2779 (Qinhibit_eval_during_redisplay): New variables.
2780 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
2781 don't eval, return nil instead.
2782 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
2783 Initialize Qinhibit_eval_during_redisplay.
2784
e719f5ae
GM
2785 * xdisp.c (reseat_to_string): If STRING is multibyte, set
2786 the iterator's multibyte_p flag.
2787
deb2613a
GM
2788 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
2789 instead of setting it to zero; it's incremented for each frame
2790 where the menu face is changed.
2791
52283633
SM
2792 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
2793 change bottom shadow accordingly.
2794
2795 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
2796 intersections here.
2797 (expose_window): Do it here instead.
52283633 2798 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 2799
f827b862
GM
2800 * bytecode.c (BYTE_CODE_QUIT): New macro.
2801 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
2802
4bde0ebb
GM
28032001-03-27 Gerd Moellmann <gerd@gnu.org>
2804
607ec83c
GM
2805 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
2806 Give up if matrix starts in an ellipsis.
2807 (init_from_display_pos): Do nothing if POS doesn't specify
2808 a dpvec_index but the iterator has such a position.
2809
0245398f
GM
2810 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
2811
aba25348
GM
2812 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
2813 x/y position is (0, 0) after destroying the menu bar, restore
2814 its original position.
2815
4bde0ebb
GM
2816 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
2817 (init_from_display_pos): Use it.
2818 (try_window_reusing_current_matrix): Don't use cursor_row_p.
2819
8cdb267e
GM
28202001-03-26 Gerd Moellmann <gerd@gnu.org>
2821
2822 * xdisp.c (try_window_id): Undo last change.
2823
9948db79
EZ
28242001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
2825
2826 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
2827
2828 * buffer.c (syms_of_buffer): Doc fix.
2829
2eddf899
GM
28302001-03-26 Gerd Moellmann <gerd@gnu.org>
2831
2832 * xfaces.c (x_update_menu_appearance): Use local variable
2833 popup_path for setting font resources.
2834
6c145d35
EZ
28352001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
2836
6a65b1b5
EZ
2837 * frame.c (Fframe_list): Don't reference tip_frame if
2838 HAVE_WINDOW_SYSTEM is not defined.
2839
6c145d35
EZ
2840 * emacs.c (main): Update the copyright year. From Werner LEMBERG
2841 <wl@gnu.org>.
2842
d74c1900
GM
28432001-03-25 Gerd Moellmann <gerd@gnu.org>
2844
20fbd925
GM
2845 * xdisp.c (init_from_display_pos): Test invisible property
2846 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 2847
927c5b3b
GM
2848 * xdisp.c (redisplay_internal) <update one window>: Make sure
2849 last_arrow_position and last_arrow_string are set.
2850
d74c1900
GM
2851 * frame.c (Fframe_list): Don't return a tooltip frame.
2852
091f8878
GM
28532001-03-23 Gerd Moellmann <gerd@gnu.org>
2854
52283633
SM
2855 * xdisp.c (mark_window_display_accurate_1): New function,
2856 extracted from mark_window_display_accurate.
2857 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
2858 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
2859 (mark_window_display_accurate): Use it.
2860 (redisplay_internal): Use it for the selected window.
2861 (redisplay_internal): Avoid duplicate mark_window_display_accurate
2862 for the selected frame.
2863
ac90c44f
GM
2864 * xdisp.c Use make_number, for readability.
2865 (try_window_id): Disable rows below the window end.
2866 (try_window_reusing_current_matrix): Use cursor_row_p.
2867 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
2868 of rows.
2869 (init_from_display_pos): If POS specifies a position in a display
2870 vector, maybe get the iterator set up for that ellipsis.
43c09969 2871
091f8878
GM
2872 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
2873
991786dd
EZ
28742001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
2875
2876 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
2877
6c29b43c
GM
28782001-03-23 Gerd Moellmann <gerd@gnu.org>
2879
2880 * xfaces.c (x_update_menu_appearance): Use a different path
2881 for Lucid popup menus.
2882
d8731202
SM
28832001-03-22 Stefan Monnier <monnier@cs.yale.edu>
2884
2885 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
2886
2887 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
2888 (string_buffer_position): Use `make_number'.
2889
f61a541b
GM
28902001-03-22 Gerd Moellmann <gerd@gnu.org>
2891
3c9e997b
GM
2892 * xfaces.c (x_update_menu_appearance): Renamed from
2893 x_set_menu_face_resources. Use different resources for popups.
2894
2895 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
2896 (GC_CHECK_STRING_BYTES): Don't define.
2897
364cd450
GM
2898 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
2899 Removed, together with subroutines.
2900 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 2901 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 2902
d8731202
SM
2903 * dispextern.h (x_set_menu_resources_from_menu_face):
2904 Remove prototype.
364cd450 2905
d8731202 2906 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
2907 Remove calls to x_set_menu_resources_from_menu_face.
2908
d8731202
SM
2909 * xfaces.c (xm_set_menu_resources_from_menu_face):
2910 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
2911
2912 * xmenu.c: Include widget.h.
2913 (single_submenu): Return int. Some cleanup.
2914 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
2915
140330de
GM
29162001-03-21 Gerd Moellmann <gerd@gnu.org>
2917
2918 * xterm.c (x_update_window_end): Handle overwritten mouse face
2919 also for tool bar windows.
2920 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
2921 DRAW is DRAW_IMAGE_RAISED.
2922
1741905c
GM
29232001-03-20 Gerd Moellmann <gerd@gnu.org>
2924
fa88947e
GM
2925 * print.c (syms_of_print): Doc fixes.
2926
1741905c
GM
2927 * fns.c (Fmd5): Doc fix.
2928
ade0bee1
GM
29292001-03-19 Gerd Moellmann <gerd@gnu.org>
2930
357e7376
GM
2931 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
2932 Clear area of the frame not occupied by the scroll bar.
2933
c2c097cc
GM
2934 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
2935 tip frame's root window buffer to *tip* right after creating
2936 the frame.
2937
ade0bee1
GM
2938 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
2939 is an integer don't have to be for space characters.
2940
88c6e37e
GM
29412001-03-16 Gerd Moellmann <gerd@gnu.org>
2942
52283633
SM
2943 * indent.c (current_column, current_column_1, Fmove_to_column)
2944 (compute_motion): Handle characters from display vectors differently.
88c6e37e 2945
c62eed76
KH
29462001-03-15 Kenichi Handa <handa@etl.go.jp>
2947
2948 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
2949 drawing glyph string.
2950
c899e7e6
GM
29512001-03-15 Gerd Moellmann <gerd@gnu.org>
2952
d0bbfc99
GM
2953 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
2954 (command_loop_1): Undo last change.
2955
03d1a189
GM
2956 * xterm.c (fast_find_position): Return the correct vpos.
2957
c899e7e6 2958 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 2959 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
2960 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
2961 Call store_symval_forwarding with BUF null.
2962 (set_internal): Call store_symval_forwarding with the BUF
2963 parameter passed to set_internal. Formerly, the value was always
2964 set in the current buffer; the buffer recorded in specbind for
2965 this case wasn't used.
2966 (arith_driver): Reindent.
2967
52283633
SM
2968 * buffer.c (swap_out_buffer_local_variables):
2969 Call store_symval_forwarding with BUF null.
c899e7e6
GM
2970
2971 * lisp.h (store_symval_forwarding): Change prototype.
2972
2973 * eval.c (specbind): Call store_symval_forwarding with BUF null.
2974
57ac7c81
GM
29752001-03-14 Gerd Moellmann <gerd@gnu.org>
2976
697617d9
GM
2977 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
2978 FOR_DELETION. Avoid resizing the mini-window of the selected
2979 frame if FOR_DELETION is set.
2980 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
2981 (Fmake_frame_invisible): Change calls to do_switch_frame for new
2982 signature.
2983
2984 * window.c (Fset_window_configuration): Change call to
2985 do_switch_frame to new format.
2986
2987 * keyboard.c (quit_throw_to_read_char): Change call to
2988 do_switch_frame to new format.
2989
2990 * lisp.h (do_switch_frame): Change prototype.
2991
819dce0f
GM
2992 * frame.c (Fframe_parameters): In the `buffer-list' frame
2993 parameter, store the buffer list of FRAME, not the list of the
2994 selected frame.
2995
57ac7c81
GM
2996 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
2997 box just because the glyph row's full_width_p flag is set.
2998
65008712
GM
29992001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
3000
3001 * xdisp.c (highlight_trailing_whitespace): On character terminals,
3002 skip the padding blanks inserted in extend_face_to_end_of_line,
3003 before checking for trailing whitespace.
3004
159cf431
GM
30052001-03-13 Gerd Moellmann <gerd@gnu.org>
3006
52283633 3007 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
3008 Remove special handling for LessTif/Motif.
3009 (toplevel): Don't include Xm/Xm.h.
3010
52283633
SM
3011 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
3012 Remove workaround code for LessTif; it doesn't work anymore.
3013
2564ea1b 3014 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 3015 Xm/ScrollBarP.h.
afcdc0a1 3016
52283633
SM
3017 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
3018 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
3019 contemporary LessTif.
3020
52283633
SM
3021 * xfaces.c (xm_set_menu_resources_from_menu_face):
3022 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 3023
159cf431
GM
3024 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
3025 removing button grabs.
3026
c6f7429a
KH
30272001-03-13 Kenichi Handa <handa@etl.go.jp>
3028
cb82d767
KH
3029 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
3030 and clip-large-size-font as obsolete.
3031
c6f7429a
KH
3032 * lread.c (read_multibyte): Check the validity of multibyte
3033 sequence. If invalid, return the first byte.
3034
760cefb5
GM
30352001-03-12 Gerd Moellmann <gerd@gnu.org>
3036
3037 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
3038 before running the command; timer functions or process
3039 filters may have set it.
3040
5141f9d0
EZ
30412001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
3042
3043 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
3044 Doc fix.
3045
b6a15240
GM
30462001-03-12 Gerd Moellmann <gerd@gnu.org>
3047
3048 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
3049 to sprintf.
3050
95522746
GM
30512001-03-09 Gerd Moellmann <gerd@gnu.org>
3052
db14cfc5
GM
3053 * dispextern.h (string_buffer_position): Add prototype.
3054
52283633 3055 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
3056 (single_display_prop_string_p): New functions.
3057
3058 * xterm.c (note_mouse_highlight): If there's no help-echo on
3059 a string, look at the buffer text ``under'' it.
3060
3061 * keyboard.c (make_lispy_event): Add string info to the event,
3062 analogous to what's done on mode lines.
3063 (read_key_sequence): For a click on a string, consider `local-map'
3064 and `keymap' of that string.
3065
52283633
SM
3066 * keyboard.c (make_lispy_event, make_lispy_movement):
3067 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
3068
3069 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
3070
3071 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
3072 POS; return void.
3073
95522746
GM
3074 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
3075 flags argument to emacs_open; it seems to conflict with O_EXCL.
3076
898a399d
KH
30772001-03-09 Kenichi Handa <handa@etl.go.jp>
3078
28cd4910
KH
3079 * composite.h (struct composition): Change types of members;
3080 glyph_len to unsigned, width to unsigned short.
898a399d 3081
4cdf6a6c
AI
30822001-03-08 Andrew Innes <andrewi@gnu.org>
3083
3084 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
3085 menu titles.
3086
129004d3
GM
30872001-03-08 Gerd Moellmann <gerd@gnu.org>
3088
221dd3e7
GM
3089 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
3090 instead of nil.
3091
52283633 3092 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
3093 help-echo in strings.
3094 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
3095 (fast_find_string_pos): New function.
3096
52283633
SM
3097 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
3098 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
3099
3100 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
3101 Handle `mouse-face'.
3102
3103 * dispextern.h (face_at_string_position): Change prototype.
3104
52283633 3105 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 3106
129004d3
GM
3107 * keyboard.c (make_lispy_event): Avoid generating drag events
3108 if the mouse hasn't actually moved to another buffer position.
52283633 3109
80c8ab8c
DL
31102001-03-08 Dave Love <fx@gnu.org>
3111
129004d3 3112 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 3113
989521fd
GM
31142001-03-08 Gerd Moellmann <gerd@gnu.org>
3115
3116 * process.c (Fset_process_window_size): Fix a typo.
3117
bb5c338d
KH
31182001-03-08 Kenichi Handa <handa@etl.go.jp>
3119
3120 * coding.c (detect_coding_sjis): Do more rigid check.
3121 (detect_coding_big5): Likewise.
3122 (decode_coding_sjis_big5): Likewise.
3123 (Fdetect_coding_region): Call detect_coding_system with tailing
3124 anchor byte `\0' for more rigid detection.
52283633 3125 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
3126 (Fdetect_coding_string): Likewise.
3127
8b8f9197
SM
31282001-03-07 Stefan Monnier <monnier@cs.yale.edu>
3129
3130 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
3131 a string before extracting its data.
3132
3bdf2660
GM
31332001-03-07 Gerd Moellmann <gerd@gnu.org>
3134
3135 * window.c (Frecenter): Rewrite code handling negative values
3136 of ARG on graphical frames.
3137
31382001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
3139
3140 * window.c (displayed_window_lines): If W->start is outside the
3141 accessible portion of the buffer, call start_display with BEGV or
3142 ZV instead of W->start.
3143
471f86b9
GM
31442001-03-07 Gerd Moellmann <gerd@gnu.org>
3145
2ab62c6c
GM
3146 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
3147
471f86b9
GM
3148 * process.c (Fset_process_filter): Don't crash if the input
3149 file descriptor of PROCESS is closed.
3150 (Fset_process_window_size): Likewise.
3151
101922c3
GM
31522001-03-06 Kenichi Handa <handa@etl.go.jp>
3153
3154 * xterm.c (XTflash): Make the timeout of select shorter, and call
3155 select repeatedly until the desired time expires.
3156
45d051a7
GM
31572001-03-06 Gerd Moellmann <gerd@gnu.org>
3158
3159 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
3160
3161 * xfns.c (Fx_create_frame): Clear Vwindow_list.
3162
3163 * lisp.h (Vwindow_list): Declare extern.
3164
8f372c46
EZ
31652001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
3166
3167 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
3168
f16a7aa5
GM
31692001-03-06 Gerd Moellmann <gerd@gnu.org>
3170
157ae273
GM
3171 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
3172 to detect a case where we have to highlight a different region
3173 despite not having left the currently highlighted region.
3174 Set mouse_face_overlay in the x_display_info.
45d051a7 3175 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
3176
3177 * xterm.h (struct x_display_info): Add mouse_face_overlay.
3178
3179 * buffer.c (mouse_face_overlay_overlaps): New function.
3180
3181 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
3182 (Qmouse_face): Declare extern.
3183
f16a7aa5
GM
3184 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
3185 if face_change_count is non-zero.
3186
827afcac
KH
31872001-03-06 Kenichi Handa <handa@etl.go.jp>
3188
3189 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
3190 that the source is unibyte.
3191
14c7242e
DL
31922001-03-05 Dave Love <fx@gnu.org>
3193
827afcac 3194 * xterm.c (XTmouse_position): Fix typo.
14c7242e 3195
c28b847b
GM
31962001-03-05 Gerd Moellmann <gerd@gnu.org>
3197
3198 * minibuf.c (read_minibuf): Clean up the binding stack if
3199 called noninteractively.
3200
b86644f2
KH
32012001-03-05 Kenichi Handa <handa@etl.go.jp>
3202
3203 * coding.c (syms_of_coding): Docstring modified.
3204
203682cc 32052001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
3206
3207 * charset.c (char_to_string): If a single byte char has modifier
3208 bits that can't be reflected to the character code, ignore them
45d051a7 3209 instead of signaling an error.
b86644f2 3210
e30bd7b7
EZ
32112001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
3212
3213 * s/msdos.h: Update copyright notice.
3214
3215 * dosfns.h: Update copyright notice.
3216
3217 * dosfns.c: Update copyright notice.
3218
3219 * msdos.c: Update copyright notice.
3220
b52b65bd
GM
32212001-03-02 Gerd Moellmann <gerd@gnu.org>
3222
3223 * xterm.c (glyph_rect): New function.
3224 (XTmouse_position): Use it to raise the threshold for mouse
3225 movement event generation.
3226
53c4b1e6
EZ
32272001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
3228
3229 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
3230 specifies (reverse . t), reverse the initial screen colors.
3231 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
3232 but we are reversing the colors, set bg_set, not fg_set.
3233 Likewise for setting background-color and reversing: set fg_set.
3234 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
3235 in effect.
3236
3237 * xfaces.c (Finternal_set_lisp_face_attribute)
3238 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
3239 parameters alist.
3240
f964b4d7
GM
32412001-03-02 Gerd Moellmann <gerd@gnu.org>
3242
ef53d75e
GM
3243 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
3244 to a single slash in the middle of file names.
3245
52283633 3246 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
3247 Accept only alphanumeric time zone names.
3248
f964b4d7
GM
3249 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
3250 or width area.
3251 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
3252 a widget to zero height.
52283633 3253
c3c45f65
GM
32542001-03-01 Gerd Moellmann <gerd@gnu.org>
3255
3256 * window.c (Fwindow_end): Call move_it_past_eol only if
3257 ending up on a partially visible line.
3258
028d739a
DL
32592001-03-01 Dave Love <fx@gnu.org>
3260
3261 * ccl.c (Fccl_execute): Doc fix.
3262
57c5889c
GM
32632001-03-01 Gerd Moellmann <gerd@gnu.org>
3264
35f59f6b
GM
3265 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
3266 of the tool bar before calling x_figure_window_size.
3267
f84ff02c
GM
3268 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
3269 NULL after destroying it, otherwise XTread_socket can access a
3270 destroyed widget when input is unblocked.
3271
8b8f9197 3272 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 3273
57c5889c
GM
3274 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
3275 same name as before, although there was a change in fontsets.
3276
224227d1
KR
32772001-02-28 Ken Raeburn <raeburn@gnu.org>
3278
4560730a
KR
3279 * lisp.h (Fframe_parameter): Declare.
3280
224227d1 3281 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 3282 Lisp_Object.
224227d1 3283
ece93c02
GM
32842001-02-28 Gerd Moellmann <gerd@gnu.org>
3285
11ef99b9
GM
3286 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
3287 NULL instead.
3288
3289 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
3290 NULL instead.
3291
ece93c02
GM
3292 * alloc.c (toplevel): Include process.h.
3293 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
3294 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
3295 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
3296 (allocate_vector, allocate_hash_table, allocate_window)
3297 (allocate_frame, allocate_process, allocate_other_vector):
3298 New functions.
ece93c02
GM
3299 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
3300 (mark_maybe_pointer): New function.
52283633 3301 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
3302 remain and not Lisp_Objects.
3303 (min_heap_address, max_heap_address): New variables.
3304 (mem_find): Return MEM_NIL if START is below min_heap_address or
3305 above max_heap_address.
3306 (mem_insert): Compute min_heap_address and max_heap_address.
3307
3308 * process.c (make_process): Use allocate_process.
3309
3310 * frame.c (make_frame): Use allocate_frame.
3311
3312 * window.c (make_window, make_dummy_parent): Use allocate_window.
3313 (Fcurrent_window_configuration): Use allocate_other_vector.
3314
3315 * lisp.h (allocate_vectorlike): Remove prototype.
3316 (allocate_vector, allocate_other_vector, allocate_frame)
3317 (allocate_window, allocate_process, allocate_hash_table):
3318 Add prototypes.
3319
3320 * fns.c (Fdelete, larger_vector): Use allocate_vector.
3321 (make_hash_table, copy_hash_table): Use allocate_hash_table.
3322
063af457
KH
33232001-02-27 Kenichi Handa <handa@etl.go.jp>
3324
3325 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
3326 treat the produced bytes as a valid multibyte sequence.
3327
3328 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
3329 (ccl_driver) <CCL_WriteMultibyteChar2>:
3330 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
3331 <ccl_finish>: Set ccl->eight_bit_control properly.
3332
3333 * ccl.h (struct ccl_program): New member eight_bit_control.
3334
f58c6494
SM
33352001-02-26 Stefan Monnier <monnier@cs.yale.edu>
3336
3337 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
3338 accessible_keymaps_char_table.
3339 (accessible_keymaps_char_table): Obey `is_metized'.
3340 (where_is_internal, Fwhere_is_internal): Don't confuse int and
3341 Lisp_Object.
3342
c596c392
GM
33432001-02-26 Gerd Moellmann <gerd@gnu.org>
3344
3345 * dispnew.c: Check HAVE_TERM_H before including term.h.
3346
425de386
AI
33472001-02-24 Andrew Innes <andrewi@gnu.org>
3348
3349 * makefile.w32-in: Update copyright notice.
3350
2ba11bbd
SM
33512001-02-24 Stefan Monnier <monnier@cs.yale.edu>
3352
3353 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
3354
66c56ed1
KH
33552001-02-24 Kenichi Handa <handa@etl.go.jp>
3356
4c1593ce
KH
3357 * Makefile.in (lisp): Add international/utf-8.elc.
3358
66c56ed1
KH
3359 * fontset.c (Fnew_fontset): Fix handling of the case that an
3360 element of FONTLIST is a cons of family and registry.
3361
796ead7e
JR
33622001-02-23 Jason Rumney <jasonr@gnu.org>
3363
3364 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
3365 to height unconditionally.
3366
3367 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 3368 background face to the end of the drawing area in the text area, only.
796ead7e
JR
3369 (x_insert_glyphs): Call window_box_left to obtain the left
3370 x-coordinate of the area to shift.
3371
3372 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
3373 safe_run_hooks.
3374
f6839838
AI
33752001-02-22 Andrew Innes <andrewi@gnu.org>
3376
52283633 3377 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
3378 ($(BLD)\dispnew.obj):
3379 ($(BLD)\editfns.obj):
3380 ($(BLD)\fileio.obj):
3381 ($(BLD)\filelock.obj):
3382 ($(BLD)\keyboard.obj):
3383 ($(BLD)\w32proc.obj):
3384 ($(BLD)\process.obj):
3385 ($(BLD)\sysdep.obj): Ditto.
3386
3387 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
3388 header files.
52283633
SM
3389 ($(BLD)/dispnew.$(O)):
3390 ($(BLD)/editfns.$(O)):
3391 ($(BLD)/fileio.$(O)):
3392 ($(BLD)/filelock.$(O)):
3393 ($(BLD)/keyboard.$(O)):
3394 ($(BLD)/w32proc.$(O)):
3395 ($(BLD)/process.$(O)):
f6839838
AI
3396 ($(BLD)/sysdep.$(O)): Ditto.
3397
c224f70b
GM
33982001-02-22 Gerd Moellmann <gerd@gnu.org>
3399
51695746
GM
3400 * xdisp.c (forward_to_next_line_start): When taking the shortcut
3401 at the start of the function, check that the \n in it->c is
3402 from the iterator's current position.
52283633 3403
a61b7058
GM
3404 * xdisp.c (handle_single_display_prop): Add parameter
3405 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
3406 properties which replace the display of text with something else.
3407 (handle_display_prop): Call handle_single_display_prop with
3408 additional argument saying if we already replaced text display
3409 with something else. Use AREF.
52283633 3410 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
3411 (decode_mode_spec_coding): Use AREF and ASIZE.
3412
3473f362
GM
3413 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
3414 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
3415 * vmstime.h: Files removed.
52283633 3416
2bb58df3
GM
3417 * unexencap.c, unexfx2800.c: Files removed.
3418
c224f70b
GM
3419 * dispnew.c (direct_output_for_insert): Give up if we are showing
3420 a message or just cleared the message because we might need to
3421 resize the echo area window or display an empty echo area.
3422
ffc9ff0c
GM
34232001-02-21 Gerd Moellmann <gerd@gnu.org>
3424
0528abe1
GM
3425 * xdisp.c (redisplay_internal): Do the
3426 mark_window_display_accurate after all windows have been
3427 redisplayed because this call resets flags in buffers which are
3428 needed for proper redisplay.
3429
52283633
SM
3430 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
3431 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
3432 the old names.
3433
52283633
SM
3434 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3435 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3436
3437 * msdos.h (struct x_output): Rename busy_window to
3438 hourglass_window, busy_p to hourglass_p.
3439
52283633
SM
3440 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3441 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3442
3443 * xfns.c: Rename everything containing *busy_cursor* and similar
3444 to *hourglass*.
3445 (syms_of_w32fns): Rename x-busy-pointer-shape to
3446 x-hourglass-pointer-shape, display-busy-cursor to
3447 display-hourglass, busy-cursor-delay to hourglass-delay.
3448
3449 * w32fns.c: Rename everything containing *busy_cursor* and similar
3450 to *hourglass*.
3451 (syms_of_w32fns): Rename x-busy-pointer-shape to
3452 x-hourglass-pointer-shape, display-busy-cursor to
3453 display-hourglass, busy-cursor-delay to hourglass-delay.
3454
3455 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
3456 of its busy_p flag.
3457
3458 * dispextern.h (start_hourglass, cancel_hourglass)
3459 (display_hourglass_p): Renamed from *busy_cursor*.
3460
ab2c5f0a
GM
34612001-02-20 Gerd Moellmann <gerd@gnu.org>
3462
d17e49a8
GM
3463 * keyboard.c (read_char): When an event from unread-command-events
3464 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
3465
fa97adf6
GM
3466 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
3467 equal to the current buffer.
3468
ab2c5f0a
GM
3469 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
3470 nil, otherwise we're left with truncate_lines t when a message
3471 is printed with message-truncate-lines bound to t.
3472
aeac019e
GM
34732001-02-19 Gerd Moellmann <gerd@gnu.org>
3474
c8bc6f65
GM
3475 * window.c (Fmove_to_window_line): Undo last change.
3476 (displayed_window_lines): Call line_bottom_y to determine
3477 the line's bottom position.
3478
3479 * dispextern.h (line_bottom_y): Add prototype.
3480
52283633 3481 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
3482 (pos_visible_p): Use it.
3483
980a2d69
GM
3484 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
3485 set redisplaying_p to 0 here instead of in Frecursive_edit.
3486 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
3487 set redisplaying_p.
3488
52283633 3489 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
3490 New variables.
3491 (syms_of_xdisp): Initialize new variables.
3492 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
3493 Specbind `inhibit-menubar-update' when updating the menu bar.
3494
65048e97
GM
3495 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
3496 safe_run_hooks.
3497
3498 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
3499 safe_run_hooks.
3500
a57c4026
GM
3501 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
3502 is null.
3503
aeac019e
GM
3504 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
3505 to the start of the file.
3506
76846b31
GM
35072001-02-16 Gerd Moellmann <gerd@gnu.org>
3508
f3f053f3 3509 * window.c (set_window_buffer): Fix last change.
52283633 3510
f3f053f3
GM
3511 * window.c (set_window_buffer): Set window's vscroll to 0.
3512
dad75588
GM
3513 * window.c (coordinates_in_window): Increase width of area
3514 where the vertical line can be dragged.
3515
c220b753
GM
3516 * xterm.c (x_set_glyph_string_background_width): Extend the
3517 background face to the end of the drawing area in the text
3518 area, only.
3519
c56b1c1b
GM
3520 * xdisp.c (handle_single_display_prop): Set iterator's position
3521 to where the `display' property starts, like for images.
3522 (dump_glyph): New function.
3523 (dump_glyph_row): Use it. Dump info about marginal areas.
3524
3525 * dispnew.c (direct_output_for_insert): Recognize more cases where
3526 glyphs can be written instead of being inserted.
3527
3528 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
3529 the left x-coordinate of the area to shift.
3530
76846b31
GM
3531 * dired.c (directory_files_internal): Set result list to nil
3532 before retrying.
3533
0fc71a77
KH
35342001-02-15 Kenichi Handa <handa@etl.go.jp>
3535
3536 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
3537 invalid multibyte sequence, treat *SRC as a character of
3538 eight-bit-graphic.
3539
25078b54
EZ
35402001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
3541
3542 * textprop.c (Fset_text_properties): Doc fix.
3543
8399f8a0
GM
35442001-02-15 Gerd Moellmann <gerd@gnu.org>
3545
3546 * dispnew.c (update_text_area): Undo change of 2001-01-12.
3547
9a2a6f73
DL
35482001-02-14 Dave Love <fx@gnu.org>
3549
3550 * coding.c: Doc and message fixes.
3551
bf853fee
AI
35522001-02-14 Andrew Innes <andrewi@gnu.org>
3553
3554 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
3555 Emacs frame above the screen size.
3556
78c663d8
GM
35572001-02-14 Gerd Moellmann <gerd@gnu.org>
3558
3559 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
3560
7cc9f69f
GM
35612001-02-13 Gerd Moellmann <gerd@gnu.org>
3562
0a411995
GM
3563 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
3564 case that TO ends up beyond ZV after running before-change-functions.
3565
5ddc1b75
GM
3566 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
3567 the selected window if it is showing the buffer in question.
3568
7cc9f69f
GM
3569 * dired.c (directory_files_internal): Initialize errno.
3570 (toplevel): Include errno.h.
3571
2e6621ca
GM
35722001-02-13 Kenichi Handa <handa@etl.go.jp>
3573
3574 * xfaces.c (best_matching_font): New parameter width_ratio.
3575 Multiply avgwidth by width_ratio.
3576 (choose_face_font): Call best_matching_font with width_ratio
3577 calculated from the column width of C.
3578
60222d69
AI
35792001-02-12 Andrew Innes <andrewi@gnu.org>
3580
3581 The following changes are to draw box lines inside characters area
3582 if line-width is negative.
52283633 3583
60222d69
AI
3584 * w32term.c (x_produce_image_glyph): Pay attention to the case that
3585 face->box_line_width is negative.
3586 (x_produce_stretch_glyph): Likewise.
3587 (x_produce_glyphs): Likewise.
3588 (x_estimate_mode_line_height): Likewise.
3589 (x_draw_glyph_string_background): Likewise.
3590 (x_draw_glyph_string_foreground): Likewise.
3591 (x_draw_composite_glyph_string_foreground): Likewise.
3592 (x_draw_glyph_string_box): Likewise.
3593 (x_draw_image_foreground): Likewise.
3594 (x_draw_image_relief): Likewise.
3595 (x_draw_image_foreground_1): Likewise.
3596 (x_draw_image_glyph_string): Likewise.
3597
9804b846
KH
35982001-02-09 Kenichi Handa <handa@etl.go.jp>
3599
3600 The following changes are to draw box lines inside characters area
3601 if line-width is negative.
52283633 3602
9804b846
KH
3603 * xterm.c (x_produce_image_glyph): Pay attention to the case that
3604 face->box_line_width is negative.
3605 (x_produce_stretch_glyph): Likewise.
3606 (x_produce_glyphs): Likewise.
3607 (x_estimate_mode_line_height): Likewise.
3608 (x_draw_glyph_string_background): Likewise.
3609 (x_draw_glyph_string_foreground): Likewise.
3610 (x_draw_composite_glyph_string_foreground): Likewise.
3611 (x_draw_glyph_string_box): Likewise.
3612 (x_draw_image_foreground): Likewise.
3613 (x_draw_image_relief): Likewise.
3614 (x_draw_image_foreground_1): Likewise.
3615 (x_draw_image_glyph_string): Likewise.
3616
3617 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
3618 and :line-width can be negative.
52283633 3619 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 3620
49be9f70
JR
36212001-02-09 Jason Rumney <jasonr@gnu.org>
3622
3623 * w32term.c (w32_encode_char): Treat eight bit graphic and control
3624 characters the same as ASCII and latin-1.
3625 (x_display_and_set_cursor): Check for the focus frame's selected
3626 window instead of selected_window.
3627 (x_after_update_window_line): Don't clear if frame's internal
3628 border width is zero.
3629 (x_new_font): Don't change a tooltip's size.
3630 (w32_initialize): Set char_ins_del_ok to 1.
3631
3632 * w32fns.c (Fx_show_tip): Fix calls to make_number.
3633 (x_set_font): If font hasn't changed, avoid recomputing
3634 faces and other things.
52283633
SM
3635 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
3636 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
3637 (x_create_tip_frame): Prevent changing the tooltip's
3638 background color by specifying a color for the default font
3639 in .Xdefaults.
3640 (Qcancel_timer): New variable.
3641 (syms_of_w32fns): Initialize and staticpro it.
3642 (Fx_hide_tip, Fx_show_tip): Use it.
3643 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
3644 the timer.
3645 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
3646
3647 * w32.c (init_environment): Duplicate local string before putenv.
3648
555e35d2
SZ
36492001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
3650
3651 * charset.c (Fstring): A typo.
3652
19c92c94
KH
36532001-02-09 Kenichi Handa <handa@etl.go.jp>
3654
e47a1c33
KH
3655 * charset.c (Fstring): If all arguments are less than 256, return
3656 a unibyte string.
3657
3658 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
3659 return a unibyte string.
3660
19c92c94
KH
3661 * coding.c (code_convert_region): After detecting a coding, if
3662 nothing found, set coding->composing to COMPOSITION_NO.
3663 (decode_coding_string): Likewise.
3664
d8e675f5
SM
36652001-02-08 Stefan Monnier <monnier@cs.yale.edu>
3666
3667 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
3668 to avoid overflow.
3669
bd503487
KH
36702001-02-07 Kenichi Handa <handa@etl.go.jp>
3671
3672 * charset.c (parse_str_to_multibyte): New function.
3673
3674 * charset.h (parse_str_to_multibyte): Extern it.
3675
3676 * print.c (print_string): If we are going to print a unibyte
3677 string into a multibyte buffer, convert the string to multibyte by
3678 str_to_multibyte.
3679
a8370d72
AI
36802001-02-06 Andrew Innes <andrewi@gnu.org>
3681
3682 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
3683 been created. It seems we can get sent window messages such as
3684 WM_ERASEBKGND before we properly update a frame.
3685
c363a1d6
GM
36862001-02-06 Gerd Moellmann <gerd@gnu.org>
3687
3688 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
3689 Avoid some unnecessary cursor positioning.
3690
a08332c0
GM
36912001-02-05 Gerd Moellmann <gerd@gnu.org>
3692
52283633 3693 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
3694 (LFACE_AVGWIDTH): New macro.
3695 (LFACEP): Use AREF.
3696 (check_lface_attrs): Check LFACE_AVGWIDTH.
3697 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
3698 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
3699 (merge_face_vectors): Check LFACE_AVGWIDTH.
3700 (Finternal_make_lisp_face): Use AREF.
3701 (xm_set_menu_resources_from_menu_face)
3702 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
3703 (Finternal_lisp_face_empty_p): Use AREF.
3704 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
3705 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
3706 Compare average widths..
3707 (best_matching_font): Arrange for comparing average widths.
3708
52283633
SM
3709 * dispextern.h (enum lface_attribute_index):
3710 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
3711
5cb3c8d4
DL
37122001-02-05 Dave Love <fx@gnu.org>
3713
3714 * puresize.h: Revert last change following loadup.el change.
3715
193fba87
AI
37162001-02-05 Andrew Innes <andrewi@gnu.org>
3717
3718 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
3719 invocation of temacs, to work with Windows 2000.
3720 (bootstrap-emacs): Ditto.
3721
e16f52ce
GM
37222001-02-05 Gerd Moellmann <gerd@gnu.org>
3723
7a58ab59
GM
3724 * xterm.c (x_display_and_set_cursor): Check for the focus
3725 frame's selected window instead of selected_window.
3726
e89aaabd
GM
3727 * xdisp.c (try_scrolling): If point is in the line below the
3728 window, make sure to move the iterator at least a canonical
3729 char height down.
3730
52283633 3731 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 3732
789ce875
KH
37332001-02-05 Kenichi Handa <handa@etl.go.jp>
3734
52283633
SM
3735 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
3736 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
3737 (ccl_driver): If the CCL program is terminated because of
3738 CCL_STAT_INVALID_CMD, copy the remaining source data to the
3739 destination instead of throwing them away.
3740
20b28f82
GM
37412001-02-02 Gerd Moellmann <gerd@gnu.org>
3742
79fb38c0
GM
3743 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
3744 faces and other things.
3745
20b28f82
GM
3746 * xdisp.c (get_next_display_element): Fix case of empty
3747 display table entry.
3748
5a72551e
EZ
37492001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
3750
eb24d0bf
EZ
3751 * editfns.c (Fconstrain_to_field): Doc fix.
3752
6a3f48c7
EZ
3753 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
3754 into `thoroughly', to make it consistent with the doc string.
3755
5a72551e
EZ
3756 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
3757
01acdb05
GM
37582001-02-01 Gerd Moellmann <gerd@gnu.org>
3759
0353b28f
GM
3760 * search.c (search_buffer): Call set_search_regs with a byte
3761 position, not a character position.
3762
01acdb05
GM
3763 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
3764 minibuffer-only,
3765
e86b5133
EZ
37662001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
3767
3768 * frame.c (Fmodify_frame_parameters): Doc fix.
3769
7442878f
GM
37702001-01-31 Gerd Moellmann <gerd@gnu.org>
3771
01acdb05
GM
3772 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
3773 identifier which is not reserved by Standard C.
52283633 3774
7442878f
GM
3775 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
3776
3777 * window.c (enum window_part): New enumeration.
3778 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
3779 Qright_bitmap_area.
3780 (coordinates_in_window): Return an enumerator from enum
3781 window_part. Fix handling of right scroll bar.
3782 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
3783 `right-fringe' instead of `left-bitmap-area' and
3784 `right-bitmap-area'. Use enumerators from enum window_part
3785 instead of hard-coded integers.
52283633
SM
3786 (check_window_containing, window_from_coordinates):
3787 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
3788 (syms_of_window): Replace Qleft_bitmap_area and
3789 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
3790
7c132cba
EZ
37912001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
3792
3793 * editfns.c (Fformat_time_string): Doc fix.
3794
c359dd9e
SM
37952001-01-31 Stefan Monnier <monnier@cs.yale.edu>
3796
3797 * keymap.c (Fwhere_is_internal): Use the first valid binding
3798 if no ascii binding is found (when firstonly is t).
3799
ce070307
GM
38002001-01-31 Gerd Moellmann <gerd@gnu.org>
3801
b4f30ec5
GM
3802 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
3803 instead of Finteractive_p.
3804
3805 * lisp.h (interactive_p): Add prototype.
3806
3807 * eval.c (interactive_p): New function.
3808 (Finteractive_p): Use it.
3809
ce070307
GM
3810 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
3811
f57b6e64
DL
38122001-01-31 Dave Love <fx@gnu.org>
3813
d61c7afe
DL
3814 * .gdbinit (hook-run): Define to run xreload.
3815
f57b6e64
DL
3816 * textprop.c (Fset_text_properties): Fix newline in doc string.
3817
eef93f99
GM
38182001-01-30 Gerd Moellmann <gerd@gnu.org>
3819
52283633
SM
3820 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
3821 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
3822
3823 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 3824 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
3825 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
3826
3827 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
3828 height.
3829
d9c1f6f9
DL
38302001-01-30 Dave Love <fx@gnu.org>
3831
3832 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
3833 AFTER_POTENTIAL_GC.
3834
e8f044a0
GM
38352001-01-29 Gerd Moellmann <gerd@gnu.org>
3836
52283633
SM
3837 * bytecode.c (Fbyte_code) <Bcurrent_column>:
3838 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 3839
8e1db7b3
EZ
38402001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
3841
3842 * textprop.c (Fset_text_properties): Doc fix.
3843
4eefd9d2
GM
38442001-01-29 Gerd Moellmann <gerd@gnu.org>
3845
3846 * xdisp.c (forward_to_next_line_start): Remove xassert.
3847
fccb8288
EZ
38482001-01-29 Jason Rumney <jasonr@gnu.org>
3849
4eefd9d2 3850 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
3851 returning without releasing it.
3852
76581eab
KH
38532001-01-29 Kenichi Handa <handa@etl.go.jp>
3854
3855 * w32fns.c (w32_font_match): Allocate three more bytes to regex
3856 for '^', '$', and '\0'.
3857
83a96b4d
AC
38582001-01-28 Andrew Choi <akochoi@i-cable.com>
3859
5604ec34
AC
3860 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
3861 regex for '^', '$', and '\0'.
3862
83a96b4d
AC
3863 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
3864 only if current_sblock has been initialized.
3865
3866 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
3867 terminal frame even if it is the only visible frame.
3868
c09a6440
KH
38692001-01-28 Kenichi Handa <handa@etl.go.jp>
3870
3871 * fontset.c (font_family_registry): Even if FONTNAME conform to
3872 XLFD, if it specifies other fields than family and registry,
52283633 3873 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 3874 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
3875 a signle byte character. Don't set FAMILY part to nil here.
3876 It is handled by the caller choose_face_font.
c09a6440
KH
3877 (Fnew_fontset): Call font_family_registry with FORCE 0.
3878 (Fset_fontset_font): Likewise.
3879
4dcd74e6
GM
38802001-01-27 Gerd Moellmann <gerd@gnu.org>
3881
3882 * xdisp.c (display_line): Don't treat a newline as fitting
3883 on the line.
3884
d2906bf8
GM
38852001-01-26 Gerd Moellmann <gerd@gnu.org>
3886
0130fe1a
GM
3887 * window.c (size_window): Set the window's orig_top to nil when
3888 changing heights, so that a future shrink_mini_window won't
3889 restore a bogus height.
3890
550f0e6a
GM
3891 * frame.c (do_switch_frame): If selected frame has a mini-window,
3892 resize that to exact size.
3893
b7b20fbd
GM
3894 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
3895
a47b7816
GM
3896 * xdisp.c (display_line): Simplify check for glyphs fitting
3897 entirely in the line.
3898
d2906bf8
GM
3899 * xfns.c (xic_style): New variable.
3900 (create_frame_xic): Move static variable to global scope for
550f0e6a 3901 the case that `static' gets defined away.
d2906bf8 3902
73df2b1e
KH
39032001-01-26 Kenichi Handa <handa@etl.go.jp>
3904
3905 * coding.c (decode_coding): Set a flag for inhibiting
3906 inconsistent eol.
3907 (code_convert_region): Always set saved_coding_symbol.
3908 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 3909 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 3910
6613cfc4
GM
39112001-01-25 Gerd Moellmann <gerd@gnu.org>
3912
c5e6e06b
GM
3913 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
3914 XClearArea.
3915
3916 * xterm.c (x_after_update_window_line): Don't clear if frame's
3917 internal border width is zero.
3918 (x_clear_area): New function.
3919 (x_after_update_window_line, x_clear_end_of_line)
3920 (x_scroll_bar_create, x_scroll_bar_set_handle)
3921 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
3922 instead of XClearArea.
3923
3924 * xterm.h (x_clear_area): Add prototype.
3925
6613cfc4
GM
3926 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
3927 which doesn't seem necessary anymore with Lesstif 0.92.
3928
650cc6cc
DL
39292001-01-25 Dave Love <fx@gnu.org>
3930
34ac3367
DL
3931 * puresize.h (BASE_PURESIZE): Up to 720000.
3932
650cc6cc
DL
3933 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
3934
5e37dc22
GM
39352001-01-25 Gerd Moellmann <gerd@gnu.org>
3936
e1e441f9
GM
3937 * xdisp.c (echo_area_display): Don't call redisplay_internal
3938 when Emacs is shutting down. We can't run hooks etc. that
3939 would be necessary to do a redisplay.
3940
5e37dc22
GM
3941 * lread.c (read_integer): Use type EMACS_INT instead of int.
3942
0fb94c7f
EZ
39432001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
3944
3945 * ccl.c (ccl_driver): Fix last change.
3946
e3778624
KH
39472001-01-25 Kenichi Handa <handa@etl.go.jp>
3948
3949 * ccl.h (sturct ccl_program): New member suppress_error.
3950
bb264518 3951 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
3952 insert error message to the output.
3953 (setup_ccl_program): Initialize ccl->suppress_error to 0.
3954
3955 * coding.h (struct coding_system): New member suppress_error.
3956
3957 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
3958 (Fset_terminal_coding_system_internal): Set the member
3959 suppress_error to 1.
3960 (Fset_safe_terminal_coding_system_internal): Likewise.
3961
245ed2b1
SM
39622001-01-24 Stefan Monnier <monnier@cs.yale.edu>
3963
3964 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
3965 as if it was a `charset'.
3966
f9aaedb6
GM
39672001-01-24 Gerd Moellmann <gerd@gnu.org>
3968
3969 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
3970 value in where_is_cache; the next lookup in the cache returns
3971 something bogus if we do.
3972
c3902c3e
EZ
39732001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
3974
3975 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
3976 if HAVE_WINDOW_SYSTEM isn't defined.
3977
3497f73e
GM
39782001-01-24 Gerd Moellmann <gerd@gnu.org>
3979
e7e41584
GM
3980 * fns.c (sweep_weak_table): Fix code taking items out of
3981 the hash collision chain. Some cleanup.
3982
3497f73e
GM
3983 * xterm.c (x_new_font): Don't change a tooltip's size.
3984
3985 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
3986 background color by specifying a color for the default font
3987 in .Xdefaults.
3988
3d48e687
KH
39892001-01-24 Kenichi Handa <handa@etl.go.jp>
3990
96531b20
KH
3991 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
3992 a workaround for SunOS 4's cc.
3993 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
3994 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
3995 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
3996 statement.
3d48e687 3997
a30629d2
GM
39982001-01-23 Gerd Moellmann <gerd@gnu.org>
3999
4000 * xterm.c (x_set_window_size_1): New function extracted from
4001 x_set_window_size.
4002 (x_set_window_size): Use it.
4003 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
4004 doesn't have a widget, like tooltips.
4005
5a43decf
EZ
40062001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
4007
52283633 4008 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 4009
b0e98867
KH
40102001-01-23 Kenichi Handa <handa@etl.go.jp>
4011
4012 * fns.c (Fset_char_table_default): Fix to make sub char-table
4013 correctly.
4014
50606b4c
GM
40152001-01-22 Gerd Moellmann <gerd@gnu.org>
4016
cb2ddc53 4017 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
4018 a desired tool bar string, even if there are no tool bar items.
4019
57c28064
GM
4020 * xdisp.c (Ftool_bar_lines_needed): New function.
4021 (syms_of_xdisp): Defsubr it.
4022
50606b4c
GM
4023 * editfns.c (Fformat): Don't extend text properties from arguments
4024 to padding chars in the result.
4025
2f169c38
EZ
40262001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
4027
4028 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
4029
0f32f023
AI
40302001-01-20 Andrew Innes <andrewi@gnu.org>
4031
52283633 4032 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
4033 (w32_initialize): Don't set term hooks that aren't actually needed
4034 in windowed mode.
4035
4036 * xfaces.c (realize_default_face):
4037 (realize_face):
4038 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
4039
4040 * xdisp.c (handle_single_display_prop): Remove references to
4041 FRAME_W32_CONSOLE_P.
4042
52283633 4043 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
4044
4045 * frame.h (output_method): Remove output_w32_console method.
4046 (FRAME_W32_CONSOLE_P): Remove macro.
4047
4048 * frame.c (Qw32_console): Remove variable.
4049 (Fframep): Remove references to it.
4050 (syms_of_frame): Ditto.
4051 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
4052
4053 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
4054 redefinition.
4055
7173eada
KH
40562001-01-20 Kenichi Handa <handa@etl.go.jp>
4057
4058 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
4059
755b45ce
AI
40602001-01-19 Andrew Innes <andrewi@gnu.org>
4061
4062 * w32.c (init_environment): Add a version-independent site-lisp
4063 directory to EMACSLOADPATH, after the version dependent one.
4064
0a949811
GM
40652001-01-19 Gerd Moellmann <gerd@gnu.org>
4066
8501998a
GM
4067 * editfns.c (Fbuffer_substring): Doc fix.
4068
52283633
SM
4069 * xdisp.c (message_dolog, message2, message2_nolog):
4070 Rename parameter LEN to NBYTES.
0a949811 4071
e6ebcbbe
KH
40722001-01-19 Kenichi Handa <handa@etl.go.jp>
4073
200ecca2
KH
4074 * charset.c (strwidth): Use c_string_width.
4075 (c_string_width): New function.
4076 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
4077 Caller changed.
4078
4079 * charset.h (c_string_width, lisp_string_width): Extern them.
4080
52283633 4081 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 4082
e6ebcbbe
KH
4083 * indent.c (check_composition): Check validity of composition.
4084
200ecca2
KH
4085 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
4086 characters by calling c_string_width.
4087 (x_consider_frame_title): Get byte length of frame tile string
4088 correctly.
4089 (display_mode_element): Pay attention to width of non-ASCII
4090 characters by calling strwidth.
4091
8692ca92
GM
40922001-01-18 Gerd Moellmann <gerd@gnu.org>
4093
8962e303
GM
4094 * xfns.c (Qcancel_timer): New variable.
4095 (syms_of_xfns): Initialize and staticpro it.
4096 (Fx_hide_tip, Fx_show_tip): Use it.
4097 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4098 the timer.
4099 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
4100
91523be9
GM
4101 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
4102
4103 * window.h (WINDOW_LIVE_P): New macro.
4104
b0b7ed0e
GM
4105 * window.c (window_size_fixed): New variable.
4106 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
4107 the doc string.
4108
06bccf8e
GM
4109 * eval.c (specbind): If binding a per-buffer variable which
4110 doesn't have a buffer-local value in the current buffer, change
4111 the global value by changing the value of the symbol bound in all
4112 buffers not having their own value, to make it consistent with
4113 what happens with other buffer-local variables.
4114
8692ca92
GM
4115 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
4116
4117 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
4118 when searching for a newline.
4119
bb3a3b50
KH
41202001-01-18 Kenichi Handa <handa@etl.go.jp>
4121
4122 * xdisp.c (display_string): Fix previous change.
4123
c2cc16fa
JR
41242001-01-18 Jason Rumney <jasonr@gnu.org>
4125
4126 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
4127 GLYPH_DEBUG is defined.
4128 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
4129 true for images with `:ascent 100'.
4130 (x_set_mouse_face_gc): If the last used mouse face has gone in the
4131 meantime, use face MOUSE_FACE_ID.
4132 If first glyph isn't a character glyph, use the ASCII NUL
4133 character to determine the face.
4134 (expose_area): Do not treat left margin specially.
4135 (note_mode_line_highlight): If no local_map, check global keymap.
4136 (note_mouse_highlight): Initialize overlay.
52283633 4137 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
4138 (show_scroll_bars): Remove unused function.
4139 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
4140 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
4141 Clip to row.
52283633 4142 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
4143 (x_free_frame_resources): Unload relief colors.
4144
9c11f79e
GM
41452001-01-17 Gerd Moellmann <gerd@gnu.org>
4146
3aec8722 4147 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
4148 get_next_display_element when the newline is already found.
4149 This may change the iterator's position, when its current position is
3aec8722
GM
4150 equal to the iterator's stop_charpos.
4151
f3ffc2c3
GM
4152 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
4153 zero, use this method only at the end of a line.
4154
52283633 4155 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
4156 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
4157 if SCALABLE_FONTS_P is set.
52283633 4158
d26d6fd9
GM
4159 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
4160 so that scalable fonts are included.
4161
9c11f79e
GM
4162 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
4163 In the cache, use a key containing the information if scalable
4164 fonts are included.
4165 (x_load_font): Adapt to change of keys in the font cache.
4166
41672001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 4168
d26d6fd9
GM
4169 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
4170 XListFonts to take advantage of font caching.
4171
9c11f79e
GM
4172 * xterm.c (x_list_fonts): Ensure caching font information when
4173 called for a null frame, which is the case frequently when Emacs
4174 starts.
4175
51446987
GM
41762001-01-17 Gerd Moellmann <gerd@gnu.org>
4177
f864120f
GM
4178 * xfns.c (QCconversion): Replaces QCalgorithm.
4179
4180 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
4181
4182 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
4183 of :algorithm.
52283633 4184
e37d1417
GM
4185 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
4186 not everything could be displayed.
4187
51446987
GM
4188 * line.h, x-list-font.c: Files removed because unused.
4189
9ad4f3e5
AI
41902001-01-17 Andrew Innes <andrewi@gnu.org>
4191
4192 * dired.c (directory_files_internal): Convert result from readdir
4193 to a unibyte string initially, to avoid possible misinterpretation
4194 of some bytes as the internal form of Emacs characters.
4195
2eda09b5
KH
41962001-01-17 Kenichi Handa <handa@etl.go.jp>
4197
4198 * fns.c (concat): Be sure to avoid putting the same `composition'
4199 property on the adjacent regions.
4200
826f3788
GM
42012001-01-16 Gerd Moellmann <gerd@gnu.org>
4202
52283633 4203 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
4204 (Fscroll_right, Fscroll_left): Set it here instead, if called
4205 interactively.
4206
d57b83b3
GM
4207 * buffer.c (Fset_buffer_modified_p): Set buffer's
4208 prevent_redisplay_optimizations_p flag.
4209
826f3788 4210 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
4211 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
4212 with additional arg.
4213
4214 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
4215 Change prototype.
826f3788 4216
826f3788
GM
4217 * xdisp.c (redisplay_preserve_echo_area): Add parameter
4218 FROM_WHERE, for debugging.
4219
261d788b
KH
42202001-01-16 Kenichi Handa <handa@etl.go.jp>
4221
4222 * ccl.c (Fregister_ccl_program): Handle the return value of
4223 resolve_symbol_ccl_program correctly.
52283633 4224 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 4225
bccee4f2
GM
42262001-01-15 Gerd Moellmann <gerd@gnu.org>
4227
e4ded23c
GM
4228 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
4229 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
4230
4231 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
4232 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
4233 the display; we didn't open it.
4234
bccee4f2
GM
4235 * dispnew.c (save_or_restore_current_matrices): Function removed.
4236 (save_current_matrix, restore_current_matrix): New functions.
4237 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
4238 restore the frame's current matrix. Due to the glyph pointer
4239 setup done in adjust_glyph_matrix, there is no easy way to make
4240 saving the current matrix in the desired matrix generally correct,
4241 so don't try it.
4242
ebeccffa
KH
42432001-01-15 Kenichi Handa <handa@etl.go.jp>
4244
4245 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
4246 truncation glyphs.
4247 (display_line): Optimize for wide characters.
e4ded23c 4248 (display_string): Don't try to display a multi-column character
ebeccffa
KH
4249 partially. On ttys, produce more than one truncation glyph for
4250 multi-column characters that don't fit on the line.
4251
64388126
KH
42522001-01-13 Kenichi Handa <handa@etl.go.jp>
4253
52283633
SM
4254 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
4255 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 4256
8edb0a6f
JR
42572001-01-13 Jason Rumney <jasonr@gnu.org>
4258
4259 * w32fns.c (Fimage_size, image_ascent, lookup_image)
4260 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
4261 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4262 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 4263
52283633
SM
4264 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
4265 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
4266 (x_draw_image_glyph_string): Adapt to change of image margins.
4267
4268 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
4269 variables.
4270
4271 * w32bdf.c (search_file_line, get_cached_font_char)
4272 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
4273
4274 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
4275
4276 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
4277 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
4278 (Fw32_send_sys_command): Remove unused variables.
4279 (w32_msg_pump): Add parentheses.
4280
4281 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
4282 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
4283 Add parentheses.
4284
4956d1ef
GM
42852001-01-12 Gerd Moellmann <gerd@gnu.org>
4286
b30623be
GM
4287 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
4288 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
4289 being a pair of margins.
4290 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
4291 to DEFVAR_LISP. Extend doc.
4292
4293 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
4294 margins.
4295 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
4296 pair of integers `(X . Y)', use X for the horizontal and Y for the
4297 vertical margin.
4298 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
4299 (parse_image_spec): Check it.
52283633
SM
4300 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4301 (tiff_format, gif_format, gs_format):
4302 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 4303
52283633
SM
4304 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
4305 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
4306 (x_draw_image_glyph_string): Adapt to the change of image margins.
4307
4308 * dispextern.h (struct image): Replace member `margin' with
4309 `hmargin' and `vmargin'.
4310
4554cc79
GM
4311 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
4312 and GLYPHS.
4313
4314 * dispnew.c (update_text_area): Put code which decrements the
4315 stop position when the row's face extends to the end of the
3bffc665 4316 line in #if 0.
4554cc79 4317
3cccce8d
GM
4318 * xfns.c (x_set_mouse_color): Fix color allocation.
4319
4956d1ef
GM
4320 * keyboard.c: Call get_local_map with new argument list.
4321
4322 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
4323
4324 * intervals.h (enum map_property): Removed.
4325 (get_local_map): Change prototype.
4326
4327 * keymap.c: Call get_local_map with new argument list.
4328 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
4329
2c2ff7f2
GM
43302001-01-11 Gerd Moellmann <gerd@gnu.org>
4331
a23887b9
GM
4332 * xdisp.c (build_desired_tool_bar_string): Correct the computation
4333 of the size needed for the tool bar string. For the last image,
4334 use a `display' property that reaches to the end of the string.
4335
a7ee2d2e
GM
4336 * xselect.c (selection_request_dpyinfo): New variable.
4337 (x_handle_selection_request): Set it.
4338 (x_selection_request_lisp_error): Don't call
4339 x_decline_selection_request if selection request's display has
4340 been closed.
4341
52283633
SM
4342 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
4343 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 4344
457b792c
GM
43452001-01-10 Dave Love <fx@gnu.org>
4346
4347 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
4348 ${SOME_MACHINE_LISP}, not ${lisp}.
4349
c1efd260
GM
43502001-01-10 Gerd Moellmann <gerd@gnu.org>
4351
52283633
SM
4352 * xdisp.c (display_line): On ttys, produce more than one truncation
4353 glyph for multi-column characters that don't fit on the line.
a98b5ed9 4354
ac95a621
GM
4355 * xselect.c (x_reply_selection_request): Add a comment.
4356
c1efd260
GM
4357 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
4358 XkbGetNames instead of XkbGetKeyboard.
4359
1bfb1345
DL
43602001-01-10 Dave Love <fx@gnu.org>
4361
4362 * sysdep.c (random): Revert the declaration.
4363
38119822
GM
43642001-01-09 Gerd Moellmann <gerd@gnu.org>
4365
52283633
SM
4366 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
4367 Call function string_bytes.
35f464a7
GM
4368 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
4369
4370 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
4371 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
4372 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
4373 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
4374 the current sblock.
4375 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
4376 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
4377 after sweeping strings, and at the end.
4378 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
4379
38119822
GM
4380 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
4381 ensure that pop_message is called.
4382
4383 * keyboard.c (Fexecute_extended_command): Use a
4384 record_unwind_protect to ensure that pop_message is called.
4385
4386 * lisp.h (push_message_unwind): Add prototype.
4387
4388 * xdisp.c (push_message_unwind): New function.
4389
4390 * fileio.c (do_auto_save_unwind): Do the pop_message here
4391 instead of in Fdo_auto_save.
4392 (Fdo_auto_save): Don't call pop_message.
4393
f47a9ec4
KR
43942001-01-08 Ken Raeburn <raeburn@gnu.org>
4395
4396 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
4397 in inner block.
4398
a758f97d
GM
43992001-01-08 Gerd Moellmann <gerd@gnu.org>
4400
6d0afc03
GM
4401 * window.c (window_scroll_pixel_based): Adjust glyph matrices
4402 when increasing window's vscroll.
4403
a758f97d
GM
4404 * macros.c (Qkbd_macro_termination_hook): New variable.
4405 (syms_of_macros): Initialize and staticpro it.
4406 (pop_kbd_macro): Run kbd-macro-termination-hook.
4407
4408 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
4409
1bfb1345 44102001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
4411
4412 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
4413 arglist, for documentation's sake.
4414
0dac6924
AI
44152001-01-06 Andrew Innes <andrewi@gnu.org>
4416
4417 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
4418 of *.pdb.
4419
8182406a
AI
44202001-01-05 Andrew Innes <andrewi@gnu.org>
4421
4422 * term.c (update_end): Don't check updating_frame; for some reason
4423 this can be 0 sometimes, such as after dismissing a popup menu,
4424 and isn't necessary given the explicit frame argument.
4425
3828218c
GM
44262001-01-05 Gerd Moellmann <gerd@gnu.org>
4427
4428 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
4429 on some systems, and an unsigned long on others, like FreeBSD 4.1.
4430
2f5ded21
GM
44312001-01-04 Gerd Moellmann <gerd@gnu.org>
4432
52283633 4433 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
4434
4435 * xfns.c (x_create_tip_frame): Preserve the value of
4436 face_change_count around the creation of the tip frame.
52283633 4437
2f5ded21
GM
4438 * xfns.c (last_show_tip_args): New variable.
4439 (compute_tip_xy): New function.
4440 (Fx_show_tip): Reuse an existing tip frame, if possible.
4441 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
4442
dfad65fa
DL
44432001-01-04 Dave Love <fx@gnu.org>
4444
64d4ec0f
DL
4445 * editfns.c (Fformat): Doc fix.
4446
dfad65fa
DL
4447 * systime.h (set_file_times): Prototype.
4448
4449 * widget.h (EmacsFrameSetCharSize_): Prototype.
4450
4451 * sysdep.c (random, srandom): Declare explicitly.
4452
4453 * dispextern.h (move_it_vertically_backward): Declare.
4454
85fe3b5e
GM
44552001-01-04 Gerd Moellmann <gerd@gnu.org>
4456
0f2ac578
GM
4457 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
4458 like in Fx_create_frame.
4459
482cca61
GM
4460 * xfaces.c (set_font_frame_param): Don't do anything for
4461 non-graphical frames.
4462
85fe3b5e
GM
4463 * window.c (Fdelete_other_windows): Set window's window_end_valid
4464 to nil when changing the window's start. Don't change the
4465 window's start when its top position hasn't changed. If we do,
4466 this will set the window's optional_new_start, which act's like a
4467 force_start during redisplay with C-x 1 M-> under particular
4468 circumstances (see report from Per Starback to emacs-pretest-bug
4469 from 2000-12-13.).
4470
3e99d3b4
GM
44712001-01-03 Gerd Moellmann <gerd@gnu.org>
4472
a77dc1ec
GM
4473 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
4474 short cut at the start of the function. Add an assertion.
4475 (reseat_at_next_visible_line_start): Add an assertion.
4476
2f3cad6c
GM
4477 * window.c (Frecenter): When changing the window start, set the
4478 window's window_end_valid to nil.
4479 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
4480
4481 * dispextern.h (move_it_past_eol): Add prototype.
4482
4483 * xdisp.c (move_it_past_eol): New function.
4484
3e99d3b4
GM
4485 * window.c (Fwindow_end): Doc fix.
4486
44872001-01-03 Dave Love <fx@gnu.org>
4488
52283633 4489 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 4490
bafb434c
GM
44912001-01-03 Gerd Moellmann <gerd@gnu.org>
4492
4493 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
4494 the enabled_p flag of the glyph row at window_end_vpos to 0.
4495 (handle_single_display_prop): Fix last change.
4496
5297fb00
RS
44972001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
4498
4499 * window.c (Frecenter): Doc fix.
4500
13d6a61c
AI
45012001-01-02 Andrew Innes <andrewi@gnu.org>
4502
4503 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
4504
4505 * frame.h (output_method): Add output_w32_console method.
4506 (FRAME_W32_CONSOLE_P): New macro.
4507
4508 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
4509 use output_w32_console method.
4510 (Qw32_console): New Lisp_Object.
4511 (Fframep): Return it.
4512 (syms_of_frame): Init it.
52283633 4513 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
4514
4515 * xfaces.c (realize_default_face): Set face foreground and
4516 background to unspecified for w32_console frames.
4517 (realize_face): Realize face cache for w32_console frames.
4518 (realize_tty_face): Accept w32_console frames.
4519
52283633 4520 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
4521 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
4522 necessary, even if running interactively.
4523
4524 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
4525 w32_console frames.
4526
52283633
SM
4527 * w32term.c (x_update_begin):
4528 (x_update_end):
4529 (x_clear_frame):
4530 (x_ins_del_lines):
4531 (x_change_line_highlight):
4532 (x_delete_glyphs):
4533 (w32_ring_bell):
4534 (x_update_begin):
4535 (x_update_end):
4536 (w32_reassert_line_highlight):
4537 (w32_frame_rehighlight):
13d6a61c
AI
4538 (w32_frame_raise_lower): Do nothing if not w32 frame.
4539
4540 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
4541
4542 * w32fns.c (Fx_display_color_cells): Determine correct value, when
4543 system doesn't tell us directly.
4544 (Fx_display_visual_class): Implement properly.
4545
d6bb0c0d
GM
45462001-01-02 Gerd Moellmann <gerd@gnu.org>
4547
4548 * window.c (Frecenter): Handle centering in graphical frames
4549 specially. Centering on the basis of line counts doesn't work
4550 reliably with variable-height lines.
52283633 4551
315f5865
EZ
45522001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
4553
4554 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
4555 and al[].
4556
52283633 4557 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
4558 (update_compositions): Remove unused variable `hook'.
4559
4560 * intervals.c (get_local_map): Remove unused variable `tem'.
4561
4562 * doprnt.c (doprnt1): Remove unused variable `size'.
4563
4564 * fns.c (Flength): Remove unused variable `tail'.
4565 (Fdelete): Remove unused variable `size'.
4566
4567 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
4568 and `gcpro2'.
4569
52283633 4570 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
4571
4572 * data.c (find_symbol_value): Remove extra 3rd argument in the
4573 call to swap_in_symval_forwarding.
4574
52283633 4575 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
4576
4577 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
4578 (trivial_regexp_p): Remove unused variable `c'.
4579 (boyer_moore): Remove unused variable `k'.
4580
4581 * indent.c (current_column): Remove unused variable `stopchar'.
4582 (Fcompute_motion): Remove unused variable `contin'.
4583
4584 * casefiddle.c (casify_object): Remove unused variable `tolen'.
4585
4586 * dired.c (directory_files_internal): Fix a typo in a comment.
4587 Remove an unused variable `handler'.
52283633 4588 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
4589 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
4590 on BSD4_2.
4591
52283633 4592 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
4593
4594 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
4595 and `buf'.
4596 (Fmarker_insertion_type): Remove unused variable `buf'.
4597
4598 * insdel.c (make_gap): Remove unused variable `result'.
4599
52283633 4600 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
4601 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
4602 (menu_bar_items): Remove unused function-scope variable `tem'.
4603
4604 * fontset.c (fontset_ref): Remove unused variable `i'.
4605 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 4606 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
4607 (make_fontset_for_ascii_face): Remove unused variable `name'.
4608 (fs_load_font): Remove unused variable `font_idx'.
52283633 4609 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
4610 (list_fontsets): Remove unused variable `tail'.
4611 (Fnew_fontset): Remove unused variables `family' and `registry'.
4612 (accumulate_font_info): Remove unused variable `tmp'.
4613 (Ffontset_font): Remove unused variable `id'.
4614 (syms_of_fontset): Remove unused variable `i'.
4615
4616 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
4617 to x_term_init.
4618 (lookup_image): Remove unused variable `file'.
4619 (xbm_load): Remove unused variables `bitmap_data', `height', and
4620 `width'. Remove function-local variable `i', leave the
4621 block-local one.
4622 (gif_load): Remove unused variable `inc'.
4623
52283633 4624 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
4625 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
4626 leave only the one in the inner block.
4627
4628 * xfaces.c (face_fontset, realize_default_face): Remove unused
4629 variable `fontset'.
4630 (face_at_buffer_position): Remove unused variable `multibyte_p'.
4631
4632 * term.c (encode_terminal_code): Remove unused variable `c'.
4633
4634 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
4635 char *' instead of `char *'.
4636
4637 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 4638 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
4639 (Fchar_category_set): Remove unused variables `val', `charset',
4640 `c1' and `c2'.
4641
52283633
SM
4642 * coding.c (detect_coding_iso2022, setup_coding_system):
4643 Remove unused variable `i'.
315f5865
EZ
4644 (detect_coding_mask): Remove unused variable `idx'.
4645 (detect_coding): Remove unused variable `i'.
4646 (ccl_coding_driver): Remove unused variable `result'.
4647 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 4648 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
4649 (encode_coding_string): Remove unused variables `gcpro1' and
4650 `saved_coding_symbol'.
4651 (Ffind_coding_systems_region_internal): Remove function-local
4652 variable args[], leave only the block-local one.
4653 (code_convert_region1): Remove unused variable `len'.
4654
4655 * charset.c (char_printable_p): Remove unused variable `chars'.
4656 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
4657 (str_to_multibyte): Remove unused variable `c'.
4658
4659 * window.c (size_window): Remove block-local variable `min_size'.
4660
4661 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
4662 `header_line_height'.
4663 (append_space, extend_face_to_end_of_line): Declare `saved_what'
4664 enum display_element_type.
4665
1a8a9daf
GM
46662001-01-02 Gerd Moellmann <gerd@gnu.org>
4667
6dde6abc 4668 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
4669 statements that call X. Save away the error message in a local copy.
4670
1883b2c6
GM
4671 * xterm.c (x_connection_closed): Set handling_signal to 0 at
4672 the start.
4673
a13be207
GM
4674 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
4675 in or at the start of invisible text.
4676
1a8a9daf
GM
4677 * dispnew.c (update_window): Don't check_current_matrix_flags.
4678
3608c0f9
JR
46792001-01-01 Jason Rumney <jasonr@gnu.org>
4680
4681 * w32fns.c (x_figure_window_size): Do not allow new_height and
4682 new_width of frame to override specified values.
4683
abb1acc4
KH
46842000-12-30 Kenichi Handa <handa@etl.go.jp>
4685
52283633 4686 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 4687
762a68ec
GM
46882000-12-29 Gerd Moellmann <gerd@gnu.org>
4689
52283633 4690 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
4691 (update_window) [GLYPH_DEBUG]: Call it.
4692 (scrolling_window): Prevent including current rows which are below
4693 what's displayed in the window.
4694
4695 * xdisp.c (try_window_reusing_current_matrix)
4696 <new start <= old start>: Disable rows in the current matrix
4697 which are below the window after scrolling.
52283633 4698
762a68ec
GM
4699 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
4700 is zero. It's not worth the complexity.
4701 (invisible_text_between_p): Put in #if 0 because unused.
4702
2d5912c1
GM
47032000-12-28 Gerd Moellmann <gerd@gnu.org>
4704
46f6a258
GM
4705 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
4706 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
4707
89f93679
GM
4708 * keyboard.c (echo_char): If C is an integer, always call
4709 push_key_description. Former code could signal an invalid
4710 character error.
4711
4712 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
4713 If set, print multibyte text.
4714 (Fsingle_key_description): Call push_key_description with
4715 FORCE_MULTIBYTE set.
4716 (describe_buffer_bindings): Likewise.
4717
4718 * lisp.h (push_key_description): Add prototype.
4719
c06017fb
GM
4720 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
4721 around the call to redisplay_internal.
4722
f1d2ce7f
GM
4723 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
4724
2d5912c1
GM
4725 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
4726
9371f831
KH
47272000-12-28 Kenichi Handa <handa@etl.go.jp>
4728
4729 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
4730 (ccl_driver): New local variable `extra_bytes'.
4731
4732 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
4733
52283633
SM
4734 * coding.c (setup_coding_system):
4735 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
4736 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
4737
0c80628a
KH
47382000-12-28 Kenichi Handa <handa@etl.go.jp>
4739
4740 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
4741 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
4742 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
4743 (decode_composition_emacs_mule): New function.
4744 (decode_coding_emacs_mule): Decode composition sequence by calling
4745 decode_composition_emacs_mule.
4746 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
4747 (encode_coding_emacs_mule): Changed from macro to function.
4748 If a text contains compositions, encode them correctly.
0c80628a
KH
4749 (setup_coding_system): Set coding->commong_flags for emacs-mule so
4750 that decoding and encoding are required.
4751
3e32cc27
GM
47522000-12-27 Gerd Moellmann <gerd@gnu.org>
4753
5e25feee
GM
4754 * xfaces.c (PT_PER_INCH): New macro.
4755 (xlfd_point_size): Compute real point size from font's pixel size.
4756 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
4757 instead of 72.
4758
892d8fcd
GM
4759 * .gdbinit: Comment out the line pointing to the Lesstif source
4760 directory.
4761
12c8b416
GM
4762 * window.c (Frecenter): Use displayed_window_lines instead
4763 of window_internal_height.
4764
6061fbf0
GM
4765 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
4766 instead of x-toolkit-scroll-bars-p.
4767 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
4768
4769 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
4770 instead of x-toolkit-scroll-bars-p.
4771 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 4772
3e32cc27
GM
4773 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
4774 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
4775 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
4776 New variables.
4777 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
4778 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
4779 (build_frame_matrix_from_leaf_window): Remove unused code.
4780 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
4781 redisplay history.
4782 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
4783 (update_window) [GLYPH_DEBUG]: Likewise.
4784 (syms_of_display): Defsubr dump-redisplay-history.
4785
31798cfe
GM
47862000-12-23 Gerd Moellmann <gerd@gnu.org>
4787
f717c2ba
GM
4788 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
4789 the end of the prompt. Set echo_after_prompt to the offset
4790 of echoptr in echobuf.
4791
aeb2b8fc
GM
4792 * xdisp.c (init_from_display_pos): Pop until the iterator's
4793 stack is empty; there may be frames for stretch or images
4794 on the stack.
4795
31798cfe
GM
4796 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
4797 (save_or_restore_current_matrix): New function for the same
4798 purpose, but more efficient.
4799 (adjust_frame_glyphs_for_frame_redisplay): Use it.
4800
f8156156
EZ
48012000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
4802
4803 * xdisp.c (syms_of_xdisp): Fix last change.
4804
bdd6d4e8
GM
48052000-12-23 Gerd Moellmann <gerd@gnu.org>
4806
4807 * xdisp.c (syms_of_xdisp): Doc fix.
4808
4809 * xdisp.c (redisplay_window): Remove label restore_buffers;
4810 use finish_scroll_bars instead to make sure that scroll bars
4811 are redeemed. If we don't do this, flickering can result from
4812 scroll bars being destroyed and recreated.
4813
9436cdf9
JR
48142000-12-22 Jason Rumney <jasonr@gnu.org>
4815
4816 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
4817 in the wrong colors when the foreground is not black.
4818 (expose_window): Don't redraw the window that's currently being
4819 updated.
4820
951f9df5
GM
48212000-12-22 Gerd Moellmann <gerd@gnu.org>
4822
856ff7a7
GM
4823 * window.c (size_window): When setting the window's too_small_ok
4824 flag, compare old size with minimum size depending on WIDTH_P,
4825 don't compare with window_min_width.
52283633 4826
951f9df5
GM
4827 * window.c (delete_window): Simplify somewhat.
4828 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
4829 freeing window matrices. The flag windows_or_buffers_changed is
4830 set, so the next redisplay will consider all windows; this should
4831 suffice.
4832
886bc933
KH
48332000-12-22 Kenichi Handa <handa@etl.go.jp>
4834
4835 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
4836
4837 * ccl.h (struct ccl_program): New member cr_consumed.
4838
4839 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
4840 (CCL_READ_CHAR): Handle EOL conversion here.
4841 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
4842
177f4e88
GM
48432000-12-21 Gerd Moellmann <gerd@gnu.org>
4844
52283633 4845 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
4846
4847 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
4848 otherwise tabs of different size compare equal.
4849
4850 * callint.c (Fcall_interactively): Prevent a compiler warning.
4851
4852 * print.c (print_unwind): Return nil.
4853 (PRINTDECLARE): Initialize all local variables.
4854 (print_preprocess): Add a default case.
4855
8e15274f
GM
4856 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
4857
4858 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
4859
52283633 4860 * window.c (delete_window, Fsplit_window)
177f4e88
GM
4861 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
4862
4863 * dispextern.h (ensure_frame_matrix): Function declaration removed.
4864
4865 * dispnew.c (ensure_frame_matrix): Removed.
4866 (save_frame_matrix, restore_frame_matrix): New functions.
4867 (adjust_frame_glyphs_for_frame_redisplay): Use them.
4868
4869 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
4870 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
4871
99012074
AI
48722000-12-21 Andrew Innes <andrewi@gnu.org>
4873
4874 * w32term.c (x_update_begin): Regenerate the palette here, rather
4875 than for each window.
4876
4877 * w32xfns.c (select_palette): Avoid calling SelectPalette if
4878 palette is NULL, since this corrupts memory! Also get
4879 display_info reference from frame.
4880
29ef7d2d
JR
48812000-12-21 Jason Rumney <jasonr@gnu.org>
4882
4883 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
4884
4885 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
4886 to avoid returning without releasing it.
3e27fa1f 4887
3f9d67a6
KH
48882000-12-21 Kenichi Handa <handa@etl.go.jp>
4889
587fc3f9
KH
4890 * keymap.c (push_key_description): Don't convert eight-bit-control
4891 and eight-bit-graphic to multibyte character.
4892
3f9d67a6
KH
4893 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
4894 generic character and CODE1 is nil, return the smallest character
4895 in CHARSET.
4896
774ba8c9
DL
48972000-12-20 Dave Love <fx@gnu.org>
4898
4899 * s/osf5-0.h (NSIG): Don't redefine.
4900
88416888
SM
49012000-12-20 Stefan Monnier <monnier@cs.yale.edu>
4902
4903 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
4904 excluding menu-bar and tool-bar.
4905 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
4906 (menu_item_p): Remove.
4907 (where_is_internal_1): Don't ignore menu-items.
4908
a6426c6f
GM
49092000-12-20 Gerd Moellmann <gerd@gnu.org>
4910
03ff8aab
GM
4911 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
4912 into account.
4913
4914 * window.c (make_window): Initialize window's min_hscroll.
4915 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
4916 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
4917 to zero.
4918 (struct saved_window): New member min_hscroll.
4919 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
4920 (Fset_window_configuration): Set window's min_hscroll.
4921 (save_window_save): Save window's min_hscroll.
4922 (compare_window_configurations): Compare min_hscroll values.
4923
4924 * window.h (struct window): New member min_hscroll.
4925
4926 * keyboard.c (echo_prompt): Prevent a compiler warning.
4927
8de4aaf8
GM
4928 * xdisp.c (try_cursor_movement): Fix last change. The real
4929 condition is that PT is at the end of the row, and should
4930 be displayed at the start of the next row.
52283633 4931
3f7e3031
GM
4932 * xdisp.c (try_cursor_movement): If we end on a partially
4933 visible line, end we already decided to scroll, return -1.
4934
a6426c6f
GM
4935 * dispextern.h (ensure_frame_matrix): Add prototype.
4936
4937 * window.c (delete_window, Fsplit_window)
4938 (Fset_window_configuration): Call ensure_frame_matrix.
4939
52283633
SM
4940 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
4941 New functions.
a6426c6f
GM
4942 (adjust_frame_glyphs_for_frame_redisplay): If display has been
4943 completed, call fake_current_matrices instead of marking frame
4944 garbaged.
4945
57fa2774
JR
49462000-12-20 Jason Rumney <jasonr@gnu.org>
4947
4948 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
4949
d925df90
EZ
49502000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
4951
4952 * fns.c (Frequire): Doc fix.
4953
7b93a85b
GM
49542000-12-19 Gerd Moellmann <gerd@gnu.org>
4955
52283633 4956 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 4957
c74e645b
GM
4958 * dispnew.c (direct_output_for_insert): Fix check for mini-window
4959 currently displaying a message.
4960
7b93a85b
GM
4961 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
4962 xterm.h.
4963 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
4964
90d97e64
AI
49652000-12-18 Andrew Innes <andrewi@gnu.org>
4966
4967 * w32.c (w32_strerror): New function.
4968
4969 * w32.h (w32_strerror): New extern.
4970
4971 * w32fns.c (Fw32_shell_execute): Use it.
4972
91c9e6ce
GM
49732000-12-18 Gerd Moellmann <gerd@gnu.org>
4974
4975 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
4976
6f4745e2
EZ
49772000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
4978
4979 * msdos.c (IT_set_face): Obey inverse_video.
4980
c9e088ce
KH
49812000-12-18 Kenichi Handa <handa@etl.go.jp>
4982
4983 * dired.c (directory_files_internal): Always return decoded filenames.
4984
c3695f5f
GM
49852000-12-18 Gerd Moellmann <gerd@gnu.org>
4986
52d8e4ff
GM
4987 * xterm.c (x_connection_closed): Prevent being called recursively
4988 because of an error condition in XtCloseDisplay.
52283633 4989
62be9979
GM
4990 * xdisp.c (init_iterator): If noninteractive, and the frame's
4991 face cache is null, make one.
4992
52283633 4993 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 4994
c3695f5f
GM
4995 * process.c (wait_reading_process_input): Check for pending
4996 input when running timers.
4997
78555fbe
EZ
49982000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
4999
52283633 5000 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 5001
b2b36264
KH
50022000-12-18 Kenichi Handa <handa@etl.go.jp>
5003
5004 * process.c (read_process_output): Don't run a filter if the code
5005 decoder produces nothing but carryover.
5006
9c543fbf
AI
50072000-12-17 Andrew Innes <andrewi@gnu.org>
5008
5009 * w32.c (sys_rename): Only check errno against EEXIST, and not
5010 EACCES, when determining whether rename failed because the target
5011 exists. This was resulting in indefinite looping on Windows 9x if
5012 the source file was locked by another process.
5013
5014 * w32fns.c (Ffile_system_info): New function.
5015 (syms_of_w32fns): Defsubr it.
5016
10c2b5a8
GM
50172000-12-17 Gerd Moellmann <gerd@gnu.org>
5018
b0228ace
GM
5019 * window.c (coordinates_in_window): Fix computation for
5020 position on vertical line between mode lines.
5021
10c2b5a8
GM
5022 * xfns.c (unwind_create_frame): Return t if frame was deleted.
5023 Don't alter tip_frame or tip_window.
5024 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5025 was deleted.
5026
c844a81a
GM
5027 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
5028 Don't alter tip_frame or tip_window.
5029 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5030 was deleted.
5031
6c825f8e
EZ
50322000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
5033
5034 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
5035 be consistent with the doc string. Reported by NAKAJIMA Mikio
5036 <minakaji@osaka.email.ne.jp>.
5037
af4bb4c8
KH
50382000-12-16 Kenichi Handa <handa@etl.go.jp>
5039
5040 * xfaces.c (Vface_ignored_fonts): New variable.
5041 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
5042 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
5043
8062e53a
GM
50442000-12-15 Gerd Moellmann <gerd@gnu.org>
5045
e87b8809
GM
5046 * dispnew.c (update_window): Detect pending input every nth line
5047 updated, i.e. do it depending on real work done, and not on the
5048 vpos of the line.
5049
5050 * xterm.c (expose_window): Don't redraw the window that's
5051 currently being updated.
5052
a6768cc5
GM
5053 * window.c (Fset_window_point): Remove test for
5054 cursor_in_non_selected_windows.
5055
4ea7fdca
GM
5056 * lread.c (read1): Recognize end of file after `\\'.
5057
8062e53a
GM
5058 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
5059 not unwind_create_frame.
5060
bb7959c1
GM
50612000-12-15 Dave Love <fx@gnu.org>
5062
5063 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
5064 bcopy & al.
5065
5066 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
5067
ced04c42
KH
50682000-12-15 Kenichi Handa <handa@etl.go.jp>
5069
c5443913
KH
5070 * coding.c (setup_coding_system): Clear all members of the struct
5071 coding_system at first.
bc137305
KH
5072 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
5073 argument.
5074 (code_convert_region): Don't override coding->src_multibyte and
5075 coding->dst_multibyte.
c5443913 5076
ced04c42
KH
5077 * fns.c (Fmd5): Docstring improved.
5078
c2d7f289
MB
50792000-12-15 Miles Bader <miles@gnu.org>
5080
5081 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
5082 are actually marked as mode-lines; otherwise use
5083 estimate_mode_line_height.
5084
9d7d9263
GM
50852000-12-14 Gerd Moellmann <gerd@gnu.org>
5086
5087 * editfns.c (Fformat): Prevent a buffer overrun when the format
5088 specifies a precision.
5089
7cf0153a
EZ
50902000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
5091
5092 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
5093 argument is outside the range [2..3].
5094
1de0f662
AI
50952000-12-14 Andrew Innes <andrewi@gnu.org>
5096
5097 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
5098 nothing to do. Bind inhibit-quit.
5099 (tip_frame): Make it a Lisp_Object.
5100 (x_create_tip_frame): Set tip_frame after it has been added to
5101 Vframe_list.
5102 (Fx_show_tip): Don't set tip_frame here.
52283633 5103 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
5104 (unwind_create_frame, unwind_create_tip_frame): New functions.
5105 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5106 while a frame is only partially constructed.
5107
5108 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5109 (x_free_frame_resources): New function.
5110 (x_destroy_window): Use it.
5111
02387dcc
GM
51122000-12-14 Gerd Moellmann <gerd@gnu.org>
5113
5114 * xfns.c (Fx_backspace_delete_keys_p): New function.
5115 (syms_of_xfns): Defsubr it.
5116
5117 * config.in (HAVE_XKBGETKEYBOARD): Add.
5118
0544ef49
KH
51192000-12-14 Kenichi Handa <handa@etl.go.jp>
5120
98d62747
KH
5121 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
5122 Always store string in multibyte representation in echobuf.
5123 (echo_char): Always store string in multibyte representation in
5124 echobuf.
5125 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
5126 (read_key_sequence): Adjusted for the change of echo_prompt.
5127
a20193cd
KH
5128 * fns.c (Fmd5): Docstring improved.
5129
191b83b6
KH
5130 * lisp.h (detect_coding_system): Prototype adjusted.
5131
0544ef49
KH
5132 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
5133 (detect_coding_emacs_mule, detect_coding_iso2022,)
5134 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
5135 (detect_coding_utf_16, detect_coding_ccl): Make them static.
5136 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
5137 (detect_coding_mask, detect_coding_system): New argument
5138 MULTIBYTEP. Callers changed.
1da1bb05
KH
5139 (decode_coding_string): Set coding->src_multibyte and
5140 coding->dst_multibyte before calling detect_coding and detect_eol.
5141 Update them after some coding system is detected.
52283633 5142
d5b3eb1b
SM
51432000-12-13 Stefan Monnier <monnier@cs.yale.edu>
5144
5145 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
5146
5147 * keyboard.c (menu_bar_items, tool_bar_items):
5148 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
5149
f7f8bb69
GM
51502000-12-13 Gerd Moellmann <gerd@gnu.org>
5151
52283633 5152 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
5153 New variables.
5154 (unwind_create_frame, unwind_create_tip_frame): New functions.
5155 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5156 while a frame is only partially constructed.
5157
5158 * xterm.h (x_free_frame_resources): Declare.
5159
5160 * xterm.c (x_free_frame_resources): New function.
5161 (x_destroy_window): Use it.
5162
e10da507
GM
5163 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
5164 don't interrupt the update for pending input initially, i.e.
5165 update at least some lines.
5166
5167 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 5168
d5b3eb1b 5169 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
5170
5171 * xfns.c (gray_bitmap_bits): Declare `char *'.
5172
90aa2856
GM
51732000-12-12 Gerd Moellmann <gerd@gnu.org>
5174
5175 * xdisp.c (display_tool_bar_line): Make sure that tool bar
5176 lines start with a relief line.
5177
a308c9cd
DL
51782000-12-12 Dave Love <fx@gnu.org>
5179
5180 * window.c (Fdisplay_buffer): Doc fix.
5181 (Fwindow_list): Remove unused var.
5182
5183 * buffer.h (mmap_set_vars): Declare.
5184
5185 * window.h (Fset_window_point): Declare.
5186
d575011f
EZ
51872000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
5188
bf6282d2 5189 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
5190 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
5191 variable `area'. When looking for a row under (X,Y), give up if some
5192 of the previous rows is not enabled.
d575011f 5193
ecf4d726
GM
51942000-12-12 Gerd Moellmann <gerd@gnu.org>
5195
2ebf6139
GM
5196 * window.c (Fset_window_point): If displaying cursors in windows
5197 other than the selected window, make sure redisplay updates
5198 other windows to show the new value of point in the window.
5199
5200 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
5201
bfdb75ee
GM
5202 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
5203 the buffer is the sole visible buffer when in the mini-buffer.
5204
52283633 5205 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
5206 Bind `inhibit-read-only' to t.
5207 (unwind_with_echo_area_buffer): Use AREF.
5208
c0006262
GM
5209 * xfns.c (Fx_hide_tip): Simplified.
5210
52283633
SM
5211 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
5212 instead of `1'.
e9a59cad 5213
ecf4d726
GM
5214 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
5215
e5959a9a
GM
52162000-12-11 Gerd Moellmann <gerd@gnu.org>
5217
a3642e49 5218 * xfns.c (Fx_hide_tip): Fix last change.
52283633 5219
44b5a125
GM
5220 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
5221 nothing to do. Bind inhibit-quit.
5222 (tip_frame): Make it a Lisp_Object.
5223 (x_create_tip_frame): Set tip_frame after it has been added to
5224 Vframe_list.
5225 (Fx_show_tip): Don't set tip_frame here.
5226
5227 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5228
5229 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
5230 Lisp_Object.
5231
5232 * dispextern.h: Change external declaration of tip_frame.
5233
d990421f
GM
5234 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
5235 return an empty string.
5236
4db87380
GM
5237 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
5238 of the window's update_mode_line flag, since the former is set by
5239 force-mode-line-update, not the latter. This makes
5240 column-number-mode slightly faster.
52283633 5241
e5959a9a
GM
5242 * xdisp.c (try_window_id) <all changes above window start>:
5243 Set the cursor.
5244
169fe44e
GM
52452000-12-11 Paul Eggert <eggert@twinsun.com>
5246
5247 * config.in (HAVE_FTELLO): Remove.
5248 (HAVE_FSEEKO): Add.
5249 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
5250 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
5251 HAVE_FTELLO.
5252 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
5253 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 5254
59ec59ae
MB
52552000-12-11 Miles Bader <miles@gnu.org>
5256
5257 * window.c (displayed_window_lines): Don't round up when
5258 converting empty space at bottom to lines.
ff904dd6
MB
5259 Handle non-newline-terminated final lines properly.
5260 (Fwindow_text_height): New function (used to be in lisp).
5261 (syms_of_window): Initialize it.
59ec59ae 5262
42ebfa31
SM
52632000-12-09 Stefan Monnier <monnier@cs.yale.edu>
5264
5265 * syntax.c (scan_lists): Check that the right quote char has the
5266 right Sstring syntax when jumping over strings.
5267 (init_syntax_once): Use Smax rather than 13.
5268
5cdb3cf3
MB
52692000-12-09 Miles Bader <miles@gnu.org>
5270
5271 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
5272 with PARTIALLY, inverting the sense.
5273 (window_scroll_pixel_based): Scroll partially visible lines into
5274 place if we hit the beginning or end of the buffer.
a12167c5
MB
5275 (displayed_window_lines): Don't include partially visible lines.
5276 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 5277
842b2a94
GM
52782000-12-08 Gerd Moellmann <gerd@gnu.org>
5279
5280 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
5281
5282 * tparam.c (tparam1): Change the way buffers are reallocated to be
5283 portable and less obfuscated.
5284
5285 * termcap.c (tgetent): Change the way buffers are reallocated to
5286 be portable and less obfuscated.
5287
5288 * macros.c (store_kbd_macro_char): Change the way buffers are
5289 reallocated to be portable and less obfuscated.
5290
5291 * lread.c (read1): Change the way buffers are reallocated to be
5292 portable and less obfuscated.
5293
5294 * doc.c (Fsubstitute_command_keys): Change the way buffers
5295 are reallocated so that it is portable.
5296
137cad7c
EZ
52972000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
5298
5299 * dosfns.c (Ffile_system_info): New function.
5300 (syms_of_dosfns): Defsubr it.
5301
5c7f629c
SM
53022000-12-07 Stefan Monnier <monnier@cs.yale.edu>
5303
5304 * alloc.c (gc_sweep): Add comment.
5305
959e647d
GM
53062000-12-07 Gerd Moellmann <gerd@gnu.org>
5307
52283633
SM
5308 * sound.c (vox_configure): Change order of ioctls.
5309 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
5310 Ignore errors when changing volume.
5311 (vox_close): Don't reset the device.
5312
926b7e5e
GM
5313 * process.c (read_process_output): Make sure the process marker's
5314 position is valid when the process buffer is changed in
5315 after-change functions. W3 does that.
52283633 5316
959e647d
GM
5317 * xfns.c (x_free_gcs): New function.
5318
5319 * xterm.h (x_free_gcs): Add prototype.
5320
5321 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
5322 freeing GCs here.
5323
5324 * xterm.c (x_destroy_window): Call x_free_gcs so that
5325 resources of non-toolkit X windows will be freed.
5326
478ea067
AI
53272000-12-07 Andrew Innes <andrewi@gnu.org>
5328
5329 * w32fns.c (xlfd_charset_of_font): Fix last change.
5330
fbee3231
DL
53312000-12-06 Dave Love <fx@gnu.org>
5332
67292061
DL
5333 * md5.h (__P): Don't define -- it comes from config.h.
5334
fbee3231
DL
5335 * strftime.c: Change some #if foo to #ifdef foo.
5336
4ee87dbb
AI
53372000-12-06 Andrew Innes <andrewi@gnu.org>
5338
5339 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
5340
52283633 5341 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 5342 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 5343 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 5344
9765b4a4
GM
53452000-12-06 Gerd Moellmann <gerd@gnu.org>
5346
d285b373
GM
5347 * alloc.c (gc_sweep): Prevent symbols read during loadup
5348 from being freed.
5349
384333ee
GM
5350 * xdisp.c (underlying_face_id): New function.
5351 (handle_face_prop, face_before_or_after_it_pos): Use it
5352 to determine the face ``under'' a string. Let strings inherit
5353 the face of the buffer under them.
5354
5355 * xfaces.c (face_at_string_position): Update function comment.
52283633 5356
d4b72d58
GM
5357 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
5358 matrix if the window's left position has changed; we need to
5359 redraw it in this case.
5360
5361 * dispextern.h (struct glyph_matrix): Add member window_left_x.
5362
e1d05387
GM
5363 * window.c (coordinates_in_window): Check mouse on mode-line or
5364 header-line first.
5365
eb1b0c74
GM
5366 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
5367 advertized by the function documentation.
5368
d94d636f
GM
5369 * window.c (syms_of_window): Doc fix.
5370
3887b449
GM
5371 * sound.c (vox_configure): Set volume for left and right channel.
5372 (sound_cleanup): Return nil.
5373
efc8f57a
GM
5374 * xdisp.c (move_it_by_lines): Fix paren typo.
5375
9765b4a4
GM
5376 * xterm.c (x_load_font): Don't use the font's max_bounds for
5377 computing the height of the font. If max_bounds' ascent or
5378 descent are greater than the font's ascent or descent, this means
5379 glyphs overlap, which should be handled now by redisplay.
5380
6529ed87
GM
5381 * window.c (Veven_window_heights): New variable.
5382 (syms_of_window): DEFVAR_LISP it.
5383 (Fdisplay_buffer): Check Veven_window_heights before evening the
5384 window heights.
52283633 5385
0eb2ecde
MB
53862000-12-06 Miles Bader <miles@gnu.org>
5387
5388 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
5389 update `default-frame-alist' instead of setting no frame parameters.
5390
03d7a167
KH
53912000-12-06 Kenichi Handa <handa@etl.go.jp>
5392
5393 * composite.c (update_compositions): Fix typo (use the correct
5394 variable).
5395
5f8803c2
JR
53962000-12-05 Jason Rumney <jasonr@gnu.org>
5397
5398 * md5.h: Remove underscores from function declarations.
5399 (__attribute__, __alignof__) [!__GNUC__]: Define.
5400
5401 * md5.c: Delay include of md5.h until after namespace cleaning.
5402
c28a075b
JR
5403 * makefile.w32-in (fns.o): Depend on md5.h
5404 (md5.o): New target.
5405 (sunfns.o): Remove.
5406
5407 * makefile.nt: Likewise.
5408
ff3c7056
JR
54092000-12-05 Jason Rumney <jasonr@altavista.net>
5410
5411 * w32term.c (expose_area): Complete last change.
5412
0c21eeeb
KR
54132000-12-05 Ken Raeburn <raeburn@gnu.org>
5414
5415 * minibuf.c: Include intervals.h.
5416
f201d732
JR
54172000-12-05 Jason Rumney <jasonr@gnu.org>
5418
5419 * w32term.c (x_produce_glyphs): If a font for a component of
5420 a composition is not found, use 1 pixel dot ascent and 0 dot
5421 descent value to avoid displaying terribly tall empty boxes.
5422 (expose_area): Pass x-coordinate relative to the exposed
5423 area to x_draw_glyphs instead of a window-relative coordinate.
5424
21999ab9
GM
54252000-12-05 Gerd Moellmann <gerd@gnu.org>
5426
4d2036e4
GM
5427 * xdisp.c (next_element_from_ellipsis): Save face before selective
5428 display in saved_face_id, and set face_before_selective_p.
5429 (reseat_1): Reset face_before_selective_p.
5430 (append_space, extend_face_to_end_of_line): If iterator's
5431 face_before_selective_p is set, use the face from saved_face_id.
5432 (extend_face_to_end_of_line): For tty frames, make sure to
5433 use the right face id when producing spaces at the end of
5434 the line.
5435
5436 * dispextern.h (struct it): Add face_before_selective_p.
5437
52be17cc
GM
5438 * keyboard.c (record_char): Don't record identical help-echo
5439 events in recent_keys.
5440
8a4f36cc
GM
5441 * xterm.c [USE_X_TOOLKIT]: Close the display.
5442 (xim_close_dpy): Handle case that the display has been closed.
5443
57d6e381
GM
5444 * xterm.c (x_destroy_window): Reset the frame's X window after
5445 destroying it.
5446
21999ab9
GM
5447 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
5448 variable window_width.
5449 (line_draw_cost): Fix code skipping over spaces at the end of the
5450 line when must_write_spaces is not set.
5451 (scrolling_window): Fix code inserting runs in list of all runs.
5452
91372bb7
KH
54532000-12-05 Kenichi Handa <handa@etl.go.jp>
5454
5455 * coding.c (setup_coding_system): Be sure to initialize
5456 coding->category_idx.
5457
6c083b4c
GM
54582000-12-04 Gerd Moellmann <gerd@gnu.org>
5459
0c68ce6f 5460 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 5461
6452929e
GM
5462 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
5463 area to x_draw_glyphs instead of a window-relative coordinate.
5464
d7f31e22
GM
5465 * fileio.c (auto_save_error): Add parameter ERROR. Show the
5466 error in the message.
5467
ae18aa3b
GM
5468 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
5469 timer after having read a key. It's not good for code reading
5470 several keys in a loop, like an input method.
5471
caa15ef7
GM
5472 * fileio.c (Finsert_file_contents): When VISIT is t, don't
5473 record undo information for format-decode.
5474
5475 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
5476 current buffer is read-only, not if it isn't.
5477
6c083b4c
GM
5478 * keyboard.c (record_char): Record `help-echo' input events
5479 in recent_keys only if they display some help. Don't record
5480 `help-echo' events as macro char.
5481
caa15ef7
GM
54822000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5483
5484 * editfns.c (save_excursion_restore): Don't move point
5485 in another window if it is showing the wrong buffer.
5486 Avoid the call to Fwindow_live_p, for speed.
5487
5a13529b
KH
54882000-12-04 Kenichi Handa <handa@etl.go.jp>
5489
e225faa7
KH
5490 * xfaces.c (struct font_name): New member registry_priority.
5491 (split_font_name): Initialize the above member to zero.
5492 (concat_font_list): New function.
5493 (font_list): Include fonts of all alternative registries.
5494 (FONT_POINT_SIZE_QUANTUM): New macro.
5495 (better_font_p): Ignore point size difference less than
5496 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
5497
e89648b4
KH
5498 * xterm.c (x_produce_glyphs): If a font for a component of
5499 a composition is not found, use 1 pixel dot ascent and 0 dot
5500 descent value to avoid displaying terribly tall empty boxes.
5501
5a13529b
KH
5502 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
5503
d7935eb6
KR
55042000-12-03 Ken Raeburn <raeburn@gnu.org>
5505
5506 * coding.h (code_convert_string1): Declare.
5507
5508 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
5509
52283633 5510 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 5511
0dd5e255
JR
55122000-12-02 Jason Rumney <jasonr@gnu.org>
5513
5514 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
5515 correctly for single byte character case.
5516 (w32_per_char_metric): Do not try to make any assumptions about
5517 the metrics of BDF fonts.
250cfece 5518 (x_estimate_mode_line_height): If `mode-line' face
52283633 5519 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
5520 (note_mouse_highlight): Change the cursor shape on the vertical
5521 border between windows [not enabled].
5522
5523 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
5524
5525 * w32fns.c (Fx_create_frame): Reintroduce the call to
5526 face-set-after-frame-defaults.
5527 (Vx_window_horizontal_drag_shape): New variable.
5528 (syms_of_xfns): DEFVAR_LISP it.
5529 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
5530 enabled].
0dd5e255 5531
b5d8d2ca
GM
55322000-12-02 Simon Josefsson <simon@josefsson.org>
5533
5534 * fns.c (Fmd5): Use a different logic to decide the coding system
5535 to use.
5536
5537 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
5538
fbb87147
EZ
55392000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
5540
52283633 5541 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 5542
447e9da0
GM
55432000-12-01 Gerd Moellmann <gerd@gnu.org>
5544
7708ced0
GM
5545 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
5546 height for YNegative.
5547 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
5548 height; also see comment there.
5549
447e9da0
GM
5550 * window.c (coordinates_in_window): Handle computations for
5551 positions on the vertical bar and fringes differently for
5552 window-system frames. Consider some pixels near the vertical bar
5553 as on the bar if the frame doesn't have vertical scroll bars.
5554 Associate positions between mode or header lines with the
5555 right window, the left one.
5556
86d1db20
JR
55572000-12-01 Jason Rumney <jasonr@gnu.org>
5558
5559 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
5560
5561 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
5562 invalid frame.
5563
a1d58e5b
GM
55642000-12-01 Gerd Moellmann <gerd@gnu.org>
5565
52283633 5566 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
5567 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
5568 (save_window_save, Fset_window_configuration): Save/restore
5569 window's orig_top and orig_height.
5570
89c609af
JR
55712000-12-01 Jason Rumney <jasonr@gnu.org>
5572
4d177746 5573 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 5574
89c609af
JR
5575 * w32fns.c (x_set_cursor_color): Fix last change.
5576
eccc05db
GM
55772000-11-30 Gerd Moellmann <gerd@gnu.org>
5578
31b6671b
GM
5579 * xdisp.c (echo_area_display): If cursor is in the echo area, make
5580 sure that the next redisplay displays the minibuffer, so that
5581 the cursor will be replaced with what the minibuffer wants.
5582
eccc05db
GM
5583 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
5584 #ifndef instead of using #if.
5585 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
5586 USE_TOOLKIT_SCROLL_BARS is defined.
5587
162de750
JR
55882000-11-30 Jason Rumney <jasonr@gnu.org>
5589
5590 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
5591 x_display_cursor.
5592
693c4692
GM
55932000-11-30 Gerd Moellmann <gerd@gnu.org>
5594
5595 * fns.c (Fmd5): Doc fix.
5596
b5d8d2ca 55972000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
5598
5599 * fns.c (Fmd5): New function.
5600 (syms_of_fns): Defsubr md5.
5601
5602 * Makefile.in (obj): Add md5.o
5603
b02cd40b
GM
56042000-11-30 Gerd Moellmann <gerd@gnu.org>
5605
edfb795e
GM
5606 * md5.h, md5.c: New files, taken from glibc.
5607
df3aedcf
GM
5608 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
5609
b02cd40b 5610 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 5611 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 5612
8b5176cd
SM
56132000-11-29 Stefan Monnier <monnier@cs.yale.edu>
5614
5615 * eval.c (Frun_hooks): Allow 0 arguments.
5616
346598f1
GM
56172000-11-29 Gerd Moellmann <gerd@gnu.org>
5618
f9396e03
GM
5619 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
5620 is over the menu bar widget, say it's not on the frame.
5621
4a967a9b
GM
5622 * xfns.c (Fx_create_frame): Reintroduce the call to
5623 face-set-after-frame-defaults.
5624
346598f1
GM
5625 * eval.c (Fsignal): Reset handling_signal.
5626
222456a1
JR
56272000-11-28 Jason Rumney <jasonr@gnu.org>
5628
5629 * w32menu.c (add_menu_item): Reset menu item text when changing
5630 type to radio button.
5631
8049ddc0
GM
56322000-11-28 Gerd Moellmann <gerd@gnu.org>
5633
346598f1 5634 * xselect.c: Update copyright.
f4f4ee4d 5635
bebe4a2c
GM
5636 * window.c (coordinates_in_window): If on a mode or header line,
5637 but sufficiently close to its start, return ``on vertical
5638 border''. This gives us a way to drag windows horizontally when
5639 using toolkit scroll bars.
5640
5641 * xterm.c (note_mouse_highlight): Change the cursor shape
5642 on the vertical border between windows.
5643
5644 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
5645
5646 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
5647 (syms_of_xfns): DEFVAR_LISP it.
5648 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
5649
8d2c2642
GM
5650 * textprop.c (text_read_only): New function.
5651 (verify_interval_modification): Use it instead of signaling
5652 `text-read-only'. This makes it easier to catch this error
52283633 5653 with a breakpoint.:
8d2c2642 5654
52283633 5655 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
5656 not end of line, which includes CR.
5657
5a2bae6c
KH
56582000-11-28 Kenichi Handa <handa@etl.go.jp>
5659
5660 * coding.c (Ffind_coding_systems_region_internal): Be sure to
5661 include no-conversion.
5662
ae31f84d
JR
56632000-11-27 Jason Rumney <jasonr@gnu.org>
5664
5665 * w32fns.c (w32_load_system_font): Always mark font as double byte
5666 if codepage is unicode.
5667
67f1cf4c
GM
56682000-11-27 Gerd Moellmann <gerd@gnu.org>
5669
4a74d071 5670 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 5671 just consume it to avoid unintended skipping over invisible text below.
4a74d071 5672
902ae620
GM
5673 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
5674 `vertical-line', `mode-line' and `header-line' events.
5675
5676 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
5677 of a character, a TAB for instance. This is easier than to set
5678 up the iterator exactly, and it's not a frequent case, so the
5679 additional effort wouldn't really pay off.
5680
c1e279c2
AC
56812000-11-26 Andrew Choi <akochoi@i-cable.com>
5682
67f1cf4c 5683 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
5684 init_window_once.
5685
a609568a
JR
56862000-11-25 Jason Rumney <jasonr@gnu.org>
5687
52283633
SM
5688 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
5689 Args to window_from_coordinates should be pixel coordinates.
48b21762 5690
a609568a
JR
5691 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
5692 redisplay handles them properly.
5693
a658d039
MB
56942000-11-25 Miles Bader <miles@gnu.org>
5695
5696 * indent.c (compute_motion): Keep pos_byte in sync with pos.
5697
d3416cca
JR
56982000-11-24 Jason Rumney <jasonr@gnu.org>
5699
5700 * w32.c (init_environment): Set LANG environment variable based on
5701 locale settings, if not set.
5702
5703 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
5704 making tool bar smaller. When clearing the frame, also
5705 clear current matrices. Clear frame when tool bar disappears.
5706 Don't use more lines for the tool-bar than is available.
5707 (x_change_window_heights): New function.
5708
ba193890
GM
57092000-11-24 Gerd Moellmann <gerd@gnu.org>
5710
2be8f184
GM
5711 * xdisp.c (init_from_display_pos): If POS says we're already after
5712 an overlay string ending at POS, make sure to pop the iterator
5713 because it will be in front of that overlay string. When POS is
5714 ZV, we've thereby also ``processed'' overlay strings at ZV.
5715
ba193890
GM
5716 * xfaces.c (lface_from_face_name): Function comment fix.
5717
1862a24e
MB
57182000-11-24 Miles Bader <miles@gnu.org>
5719
5720 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
5721 apply `mode-line-inverse-video' -- zero means force display using
5722 the default face, non-zero means display using the specialized face.
5723 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
5724
f07fa1b8
KH
57252000-11-23 Kenichi Handa <handa@etl.go.jp>
5726
5727 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
5728 hard coded `4'.
5729
2bcdf662
EZ
57302000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
5731
5732 * coding.c (decode_coding_emacs_mule): Fix the case of
5733 CODING_EOL_LF, which used uninitialized value of c.
5734
ba8299ff
SM
57352000-11-23 Stefan Monnier <monnier@cs.yale.edu>
5736
5737 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
5738
f4117c4d
GM
57392000-11-22 Gerd Moellmann <gerd@gnu.org>
5740
03e757c1
GM
5741 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
5742 buffer object.
5743
f4117c4d
GM
5744 * frame.h (struct frame): Replace desired_tool_bar_items,
5745 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 5746 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
5747
5748 * frame.c (make_frame): Change initialization of tool bar
5749 items accordingly.
5750
5751 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 5752 Change references to members deleted from struct frame to use the
f4117c4d
GM
5753 new ones.
5754
5755 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 5756 references to members deleted from struct frame to use the new ones.
f4117c4d 5757
52283633 5758 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
5759
5760 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
5761
5762 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 5763 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
5764 from struct frame to use the new ones.
5765
f8e2f3f2
MB
57662000-11-23 Miles Bader <miles@gnu.org>
5767
5768 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
5769 the face's inverse-video attribute, rather than overriding it.
5770
60e8e0a5
GM
57712000-11-22 Gerd Moellmann <gerd@gnu.org>
5772
5773 * xfns.c (x_set_tool_bar_lines): Clear internal border when
5774 making tool bar smaller.
5775
92dd1b29
DL
57762000-11-22 Dave Love <fx@gnu.org>
5777
5778 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
5779
e672fdce
MB
57802000-11-22 Miles Bader <miles@gnu.org>
5781
3a17d6cc
MB
5782 * keyboard.c (Vminibuffer_message_timeout): New variable.
5783 (command_loop_1): Use it to determine message timeout.
5784 (syms_of_keyboard): Initialize it.
5785
60e8e0a5 5786 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 5787
e9655d81
KH
57882000-11-22 Kenichi Handa <handa@etl.go.jp>
5789
5790 * sysdep.c: Move the code for declaring h_errno after #include
5791 <netdb.h>.
5792
77270fac
GM
57932000-11-21 Gerd Moellmann <gerd@gnu.org>
5794
cd913aae
GM
5795 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
5796 the menu bar when the tooltip is unmapped.
5797
77270fac
GM
5798 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
5799 sole visible buffer when we're currently in the mini-buffer, and
5800 give up if so.
52283633 5801
556635d6
JR
58022000-11-21 Jason Rumney <jasonr@gnu.org>
5803
5804 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
5805 put on the clipboard.
5806 (Fw32_get_clipboard_data): Compare data on clipboard with saved
5807 copy of what Emacs last put there. If they are the same, do not
52283633 5808 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 5809
5b7bde64
MB
58102000-11-22 Miles Bader <miles@gnu.org>
5811
5812 * minibuf.c (Vminibuffer_prompt_properties): New variable.
5813 (syms_of_minibuf): Initialize it.
5814 (read_minibuf): Add properties from Vminibuffer_prompt_properties
5815 to prompt, don't make read-only.
5816
ff23e1dd
GM
58172000-11-21 Gerd Moellmann <gerd@gnu.org>
5818
52283633
SM
5819 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
5820 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 5821
7aaf4388
GM
5822 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
5823
f5f47add 5824 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 5825
ff23e1dd
GM
5826 * term.c, cm.c: Don't try to include termcap.h; see comment there.
5827
37c35586
KH
58282000-11-21 Kenichi Handa <handa@etl.go.jp>
5829
5830 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
5831 ... #endif scope.
5832
ff9ab414
GM
58332000-11-20 Gerd Moellmann <gerd@gnu.org>
5834
52283633 5835 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
5836 screen supports it.
5837
29a01b72
GM
5838 * s/gnu-linux.h: Don't use `#cpu'.
5839
09dfdf85
GM
5840 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
5841 not defined in mman.h.
5842
52283633 5843 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
5844 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
5845 and store an index in the XClientMessageEvent. Storing a
5846 Lisp_Object or pointer can fail on a 64 bit system, since X only
5847 transfers 32 bits.
52283633
SM
5848 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
5849
81459ac9
DL
58502000-11-20 Dave Love <fx@gnu.org>
5851
5852 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
5853
56c13ae6
GM
58542000-11-20 Gerd Moellmann <gerd@gnu.org>
5855
5856 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
5857
495a6df3
KH
58582000-11-20 Kenichi Handa <handa@etl.go.jp>
5859
2bcf3714
KH
5860 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
5861 by WIDTH.
5862
495a6df3
KH
5863 * alloc.c (make_string): Fix previous change. Be sure to make
5864 unibyte string correctly.
5865
6d950f4c
GM
58662000-11-19 Gerd Moellmann <gerd@gnu.org>
5867
39b39373
GM
5868 * window.c (Fwindow_list): Change parameter list to be XEmacs
5869 compatible.
5870 (window_list_1): New function.
5871 (window_loop): Use it instead of Fwindow_list.
5872
b95b34e5
GM
5873 * sysdep.c (emacs_ospeed): New variable.
5874 (toplevel): Don't declare ospeed extern.
5875 (init_baud_rate): Use emacs_ospeed instead of ospeed.
5876
5877 * termcap.c (ospeed): Remove.
5878 (tputs) [!emacs]: Remove unused code.
5879 (tgetent): Avoid a compiler warning.
5880
e83dc917
GM
5881 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
5882 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 5883 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
5884
5885 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
5886 removed.
5887 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
5888 Take the X display as additional argument.
5889 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
5890 `Widget' is a pointer type that's not easily stored in Lisp_Object
5891 form in a portable way.
52283633 5892
6d950f4c
GM
5893 * dispnew.c (update_text_area): Fix last change.
5894
e47306e6
GM
58952000-11-18 Gerd Moellmann <gerd@gnu.org>
5896
fb3cd89b
GM
5897 * xdisp.c: Use BINDING_STACK_SIZE throughout.
5898
5899 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
5900 clear current matrices.
5901
edaa9aed
GM
5902 * buffer.c (mmap_enlarge): Don't print a message on stderr
5903 if mapping new memory at the end of the existing region fails.
5904
e47306e6
GM
5905 * dispnew.c (update_text_area): Don't skip over equal glyphs
5906 when the last current glyph overlaps the glyph to its right.
5907
509633e3
MB
59082000-11-18 Miles Bader <miles@gnu.org>
5909
5910 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
5911 lines that *end* with "..." too (that's the most common case!).
5912
d392e9c5
GM
59132000-11-18 Gerd Moellmann <gerd@gnu.org>
5914
67988445
GM
5915 * xdisp.c (resize_mini_window): Temporarily change to the
5916 mini-window's buffer if necessary.
1bfdbe43 5917
d392e9c5
GM
5918 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
5919 the tooltip obscures less text under it.
5920
59212000-11-17 Gerd Moellmann <gerd@gnu.org>
5922
5923 * puresize.h (BASE_PURESIZE): Increase to 700000.
5924
92bb977f
JR
59252000-11-18 Jason Rumney <jasonr@gnu.org>
5926
5927 * w32term.c (w32_draw_bitmap): Use face to set colors.
5928
26fbf20b
DL
59292000-11-17 Dave Love <fx@gnu.org>
5930
5931 * lread.c (Fload): Fix #ifdef for pcc.
5932
100b593b
GM
59332000-11-17 Gerd Moellmann <gerd@gnu.org>
5934
5935 * xdisp.c (pos_visible_p): Compute the default character height
5936 differently.
5937
a288d0d1
GM
59382000-11-16 Gerd Moellmann <gerd@gnu.org>
5939
cac94de6 5940 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 5941 knowing the line's height; use the default font's height in that case.
cac94de6 5942
a288d0d1
GM
5943 * xfaces.c (weight_table): Add `demi' with the same meaning as
5944 `demibold'.
5945
981fb6f6
KH
59462000-11-16 Kenichi Handa <handa@etl.go.jp>
5947
2cca872d 5948 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
5949 (clear_glyph_row): Delete local static variable null_row.
5950
e5fa381b
JR
59512000-11-15 Jason Rumney <jasonr@gnu.org>
5952
5953 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
5954 (w32_alloc_lighter_color): Use new brightness calculations from
5955 xterm.c. Scale delta to be in the range expected by W32.
5956 (w32_draw_relief_rect): Use frame relief colors.
5957
8e42f043
GM
59582000-11-15 Gerd Moellmann <gerd@gnu.org>
5959
6d133d1f
GM
5960 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
5961 (Qinhibit_default_face_x_resources): New variable.
5962 (syms_of_frame): Initialize it.
5963 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
5964
5965 * xdisp.c (pos_visible_p): Improve function comment.
5966
5967 * lisp.h (BINDING_STACK_SIZE): New macro.
5968
8e42f043
GM
5969 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
5970 reading the directory if readdir returns null and errno is EAGAIN
5971 or EINTR.
5972
e8c87124
SM
59732000-11-14 Stefan Monnier <monnier@cs.yale.edu>
5974
5975 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
5976 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
5977 Set amount_to_scroll to max of dx and scroll_step so that
5978 scroll-conservatively doesn't defeat scroll-step>1.
5979 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
5980 scroll-conservatively for line-at-a-time scrolling.
5981
5f0c971d
GM
59822000-11-14 Gerd Moellmann <gerd@gnu.org>
5983
5984 * window.c (Fpos_visible_in_window_p): Call pos_visible with
5985 extra argument.
5986
5987 * xdisp.c (current_mode_line_height, current_header_line_height):
5988 New variables.
5989 (init_xdisp): Initialize them.
5990 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
5991 and use exact mode line heights if it is set.
5992
5993 * lisp.h (pos_visible_p): Change prototype.
5994
5995 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
5996 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
5997 and current_header_line_height first.
52283633
SM
5998 (current_mode_line_height, current_header_line_height):
5999 Declare extern.
5f0c971d 6000
d7361edf
MB
60012000-11-14 Miles Bader <miles@lsi.nec.co.jp>
6002
6003 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
6004 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
6005 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
6006
ee5e440a
MB
60072000-11-14 Miles Bader <miles@gnu.org>
6008
6009 * xterm.c (x_alloc_lighter_color): Include an additive component
6010 too for dark colors, because FACTOR isn't enough.
6011 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
6012 New macros.
6013
5ca020fc
GM
60142000-11-13 Gerd Moellmann <gerd@gnu.org>
6015
6016 * keyboard.c (show_help_echo): Call message3_nolog with number of
6017 bytes in the help string as 2nd parameter, instead of the number
6018 of characters.
6019
9d348294
MB
60202000-11-13 Miles Bader <miles@gnu.org>
6021
6022 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
6023 (Fload): Use new openp return protocol.
6024 Don't try to use Vload_source_file_function to load .elc files.
6025 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
6026 openp return protocol.
6027 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
6028
1729bb9a
KH
60292000-11-11 Kenichi Handa <handa@etl.go.jp>
6030
4e677396
KH
6031 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
6032
6033 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
6034 Defined these macros.
6035 (NLIST_STRUCT): Avoid re-defining it.
6036
1729bb9a
KH
6037 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
6038 -I/usr/contrib/X11R6/include.
6039 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
6040
a82fe213
JR
60412000-11-10 Jason Rumney <jasonr@gnu.org>
6042
6043 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
6044
6045 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
6046 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
6047
6048 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
6049 (Qw32_charset_vietnamese): New symbol.
6050 (xlfd_charset_of_font): New function.
6051 (w32_load_system_font): Use it.
6052 (x_to_w32_charset): Use Fassoc to find charset info. Special case
6053 when Vw32_charset_info_alist is nil to ensure default face always
6054 has font. Use Fcar and Fcdr for safety.
6055 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
6056 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
6057 pseudo-codepages for special cases.
6058 (w32_to_x_font): New parameter to allow charset portion to be
6059 specified where there is many to one mapping. Callers changed.
6060 (w32_list_fonts): Avoid listing fonts that won't display.
6061
52d89894
GM
60622000-11-10 Gerd Moellmann <gerd@gnu.org>
6063
6064 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
6065 (font_list_1): Renamed from font_list.
6066 (font_list): New function, trying alternative registries from
6067 Vface_alternative_font_registry_alist.
6068 (Finternal_set_alternative_font_registry_alist): New function.
6069 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
6070 Vface_alternative_font_registry_alist.
6071 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 6072
651cd3da
KR
60732000-11-09 Ken Raeburn <raeburn@gnu.org>
6074
6075 * lisp.h (Flooking_at): Declare.
6076
388ac098
GM
60772000-11-09 Gerd Moellmann <gerd@gnu.org>
6078
778fbc46 6079 * dired.c (directory_files_internal): Fix a braino.
52283633 6080
388ac098
GM
6081 * dired.c (directory_files_internal): Add missing GCPRO's.
6082 Some cleanup.
6083
ecaedde1
GM
60842000-11-08 Gerd Moellmann <gerd@gnu.org>
6085
f7eb32aa
GM
6086 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
6087 (resize_mini_window): Return quickly if Vresize_mini_window is
6088 nil. Don't return if Vmax_mini_window_height is nil.
6089
6090 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
6091 (syms_of_xdisp): Initialize them.
6092 (resize_mini_window): Act according to the setting of
6093 Vresize_mini_window.
6094 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
6095
ecaedde1
GM
6096 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
6097 scroll bar widget after configuring it, so that it will appear at
6098 the right position from the start.
6099 (XTredeem_scroll_bar): Cleaned up.
6100
3747ef2c
KH
61012000-11-08 Kenichi Handa <handa@etl.go.jp>
6102
6103 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 6104 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
6105 division by two.
6106
6107 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
6108
03391420
DL
61092000-11-07 Dave Love <fx@gnu.org>
6110
7758f1c1 6111 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
6112
6113 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
6114
b5de343d
GM
61152000-11-07 Gerd Moellmann <gerd@gnu.org>
6116
acad3c0b
GM
6117 * window.c (Fset_window_configuration): Don't try to preserve
6118 point in the current buffer, if that buffer is displayed in more
6119 than one window.
6120
b5de343d
GM
6121 * xfaces.c (lookup_named_face): If default face isn't realized,
6122 try to realize it. Return -1 if not successful.
6123 (Fx_list_fonts): Handle case that face cannot be determined.
6124 (Fface_font): Likewise.
6125
cdb1fe49
GM
61262000-11-06 Gerd Moellmann <gerd@gnu.org>
6127
6128 * window.c (displayed_window_lines): Detect partially
6129 visible lines at the bottom correctly.
6130
d3a67486
SM
61312000-11-06 Stefan Monnier <monnier@cs.yale.edu>
6132
6133 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
6134 when ensuring we don't do visit in indirect buffer.
6135
ff8dd5d5
KH
61362000-11-06 Kenichi Handa <handa@etl.go.jp>
6137
6138 * composite.h (compose_chars_in_text): Add prototype.
6139
6140 * composite.c (Vcomposition_function_table): New variable.
6141 (Qcomposition_function_table): New variable.
6142 (run_composition_function): Call
6143 Vcompose_chars_after_function with three arguments.
6144 (compose_chars_in_text): New function.
6145 (syms_of_composite): Modified the doc-string of
6146 Vcompose_chars_after_function. Declare composition-function-table
6147 as a lisp variable, and initialize it.
6148
6149 * xfns.c (x_encode_text): Suppress producing escape sequences for
6150 composition.
6151
6152 * xselect.c: Include composite.h.
6153 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
6154
d1145f85
AI
61552000-11-05 Andrew Innes <andrewi@gnu.org>
6156
6157 * w32term.c (x_produce_glyphs): Fix typo in enum name.
6158
6159 * sysdep.c (read_input_waiting): Remove extraneous argument to
6160 read_socket_hook.
6161
6162 * w32fns.c (Fx_server_version): Include w32_build_number in the
6163 return list.
6164
6165 * w32heap.c (w32_build_number): New variable.
6166 (cache_system_info): Set it.
6167
6168 * w32heap.h (w32_build_number): Add extern.
6169
6170 * emacs.c (syms_of_emacs): Update docstring for
6171 system-configuration, to reflect the actual usage on MS-Windows.
6172
e85ee976
GM
61732000-10-31 Gerd Moellmann <gerd@gnu.org>
6174
26dcb81b
GM
6175 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
6176 process idle timers while waiting for another event.
6177
52283633 6178 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
6179 the default face are colored.
6180
e85ee976
GM
6181 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
6182 window height hasn't changed.
6183
01b220b6
JR
61842000-10-31 Jason Rumney <jasonr@gnu.org>
6185
6186 * w32term.c (x_produce_glyphs): Handle composite characters.
6187 (x_draw_glyph_string_foreground)
6188 (x_draw_composite_glyph_string_foreground): Restore old font.
6189
4e6b7204
MB
61902000-10-31 Miles Bader <miles@lsi.nec.co.jp>
6191
6192 * minibuf.c (read_minibuf): Reset the undo history just before
6193 starting the recursive-edit.
6194
d4358b37
GM
61952000-10-30 Gerd Moellmann <gerd@gnu.org>
6196
563f68f1
GM
6197 * xfaces.c (menu_face_change_count): New variable.
6198 (Finternal_set_lisp_face_attribute): Increment it for changes
6199 of the `menu' face.
6200 (realize_basic_faces): Reflect changes in the `menu' faces
6201 in menu bars.
6202
82e274d1
GM
6203 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
6204 dy obtained from the iterator's y-position after moving from
6205 scroll_margin_pos to PT; see comment there.
52283633 6206
0dbf9fd2
GM
6207 * xdisp.c (safe_eval_handler): Call add_to_log.
6208
906b3b14
GM
6209 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
6210 is not a symbol or string.
6211
d4358b37
GM
6212 * xdisp.c (echo_area_display): Don't perform a display update from
6213 inside redisplay. The update will happen anyway at the end of
6214 redisplay, and it can confuse redisplay (GC messages while
6215 redisplaying, for instance.)
6216
70c825df
SM
62172000-10-30 Stefan Monnier <monnier@cs.yale.edu>
6218
cf9b4b0b
SM
6219 * xrdb.c (x_load_resources): Use the class name in the defaults.
6220
70c825df
SM
6221 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
6222 (regex_compile): Catch bogus \(\1\).
6223
a1d34b1e
GM
62242000-10-30 Gerd Moellmann <gerd@gnu.org>
6225
cae71efe
GM
6226 * xterm.c (x_alloc_nearest_color): Fix last change to compare
6227 RGB values.
52283633 6228
35efe0a1
GM
6229 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
6230 we have a color cache, check that the cached color equals the
6231 allocated color. If not, clear the color cache.
6232
1d3baf74
GM
6233 * window.c (displayed_window_lines): Change buffers if necessary.
6234 Fix computation of displayed lines.
6235
a1d34b1e
GM
6236 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
6237 update_menu_bindings to DEFVAR_BOOL.
6238
70737ea9
KH
62392000-10-30 Kenichi Handa <handa@etl.go.jp>
6240
70c825df 6241 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 6242
fa0cb51d
KH
6243 * puresize.h (BASE_PURESIZE): Increase to 680000.
6244
70737ea9
KH
6245 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
6246
0e4c08e8
JR
62472000-10-29 Jason Rumney <jasonr@gnu.org>
6248
6249 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
6250
6251 * w32term.c (w32_bdf_per_char_metric): Negate descent.
6252 (w32_cache_char_metrics): Handle possibility that 'x' does not
6253 exist in a BDF font.
6254 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
6255
6256 * w32bdf.h (bdffont): Add nchars.
6257
6258 * w32bdf.c (set_bdf_font_info): Set it.
6259 (w32_BDF_TextOut): Swap byte order of double byte characters.
6260 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
6261
45b84006
EZ
62622000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
6263
6264 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
6265 don't override the colors in frame's param_alist, unless they are
6266 unspecified.
6267
6268 * term.c (reassert_line_highlight): If inverse_video is non-zero,
6269 reverse the effect of the highlight flag.
6270
caf9deee
KR
62712000-10-27 Ken Raeburn <raeburn@gnu.org>
6272
6273 * window.h (Fwindow_live_p): Declare.
6274
ae0b9b46
KR
6275 * undo.c (record_delete): Check that last_undo_buffer is really a
6276 buffer before applying XBUFFER to it.
6277
6278 * keymap.c (where_is_internal): Pass lisp object, not integer, to
6279 Faref.
6280
02067692
SM
62812000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6282
6283 * lisp.h (KEYMAPP): New macro.
6284 (get_keymap): Remove.
6285 (get_keymap_1): Rename get_keymap.
6286
6287 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
6288
6289 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
6290
6291 * xmenu.c (single_submenu): Use KEYMAPP.
6292 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6293 Use KEYMAPP rather than Fkeymapp.
6294
6295 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
6296
6297 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
6298 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6299 Use KEYMAPP rather than Fkeymapp.
6300 (single_submenu): Use KEYMAPP.
6301 (w32_menu_show, w32_dialog_show): Use TRUE.
6302
6303 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
6304
6305 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
6306 (Fkeymapp): Use KEYMAPP.
6307 (get_keymap): Rename from get_keymap_1. Remove old def.
6308 Return t when autoload=0 and error=0 and the keymap needs autoloading.
6309 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
6310 (Fminor_mode_key_binding): Don't raise an error if the binding
6311 is not a keymap.
6312 (Fuse_global_map, Fuse_local_map): Allow autoloading.
6313 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
6314
6315 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
6316 Allow Vspecial_event_map to be autoloaded.
6317 (menu_bar_items): Fetch the keymap rather than using keymapp.
6318 (menu_bar_one_keymap): No need to follow func-indirect any more.
6319 (parse_menu_item): get_keymap_1 -> get_keymap.
6320 (tool_bar_items): Fetch the keymap rather than using keymapp.
6321 (read_key_sequence): Use KEYMAPP.
6322
6323 * intervals.c (get_local_map): Use get_keymap rather than following
6324 function-indirections explicitly.
6325
6326 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
6327
f9d80af3
JR
63282000-10-27 Jason Rumney <jasonr@gnu.org>
6329
6330 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
6331 point, as Windows has oversized fonts.
6332
6333 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
6334
a3ba27da
GM
63352000-10-27 Gerd Moellmann <gerd@gnu.org>
6336
6337 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
6338 (freehook, reallochook): Handle null pointer arguments.
6339 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
6340
aa3b80cc
SM
63412000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6342
6343 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
6344 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
6345 Giving in to popular pressure to shut up the compiler with casts.
6346
e24e84cc
GM
63472000-10-27 Gerd Moellmann <gerd@gnu.org>
6348
6349 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
6350 signed value, and use a default value computed from the font's
6351 maximum descent.
6352
05ea7ef2
MB
63532000-10-27 Miles Bader <miles@lsi.nec.co.jp>
6354
6355 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
6356 that specify a negative underline position can still use underlines.
6357
6358 * window.c (Fpos_visible_in_window_p): Make POS default to
6359 WINDOW's point, not the current buffer's point.
6360
0b95284b
DL
63612000-10-26 Dave Love <fx@gnu.org>
6362
6363 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
6364 when it's necessary.
6365
6c5b90af
GM
63662000-10-26 Gerd Moellmann <gerd@gnu.org>
6367
8b6d9dc9
GM
6368 * window.c (size_window): Compute size difference from sum of old
6369 child window sizes instead of from parent's size.
6370
6bc92b2e
GM
6371 * xdisp.c (pos_visible_p): Change current buffer if necessary.
6372 Handle obscured lines at the top of the window.
6373
6374 * frame.c (Fdelete_frame): Doc fix. Move running the hook
6375 down after the last error condition check.
6376
6c5b90af
GM
6377 * frame.c (Fdelete_frame): Run delete-frame-hook.
6378
42f92d4d
KH
63792000-10-26 Kenichi Handa <handa@etl.go.jp>
6380
6381 * coding.c (decode_coding): Fix previous change (check also
6382 CODING_MODE_LAST_BLOCK).
6383
d97151cb
SM
63842000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6385
e7efc503
SM
6386 * regex.c: More `unsigned char' -> `re_char' changes.
6387 Also change several `int' into `re_wchar_t'.
6388 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
6389 (PUSH_FAILURE_POINTER): Don't cast any more.
6390 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
6391 We want GCC to complain, since this piece of code makes
6392 re_match non-reentrant, which *should* be fixed.
6393 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
6394 (EXTEND_BUFFER): Use RETALLOC.
6395 (SET_LIST_BIT): Don't cast.
6396 (re_wchar_t): New type.
6397 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
6398 that those two functions will always properly return.
6399 (IMMEDIATE_QUIT_CHECK): Cast to void.
6400 (analyse_first): Use recursion rather than an explicit stack.
6401 (re_compile_fastmap): Can't fail anymore.
6402 (re_search_2): Don't check re_compile_fastmap for failure.
6403 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
6404 Now also sets the new value (passed in a new argument).
6405 (re_match_2_internal): Use it.
6406 Also, use a new var `reg' of type size_t when looping through regs
6407 rather than reuse the inappropriate `mcnt'.
6408
d97151cb
SM
6409 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
6410 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
6411 (where_is_internal): Renamed from Fwhere_is_internal.
6412 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
6413 (Fwhere_is_internal): New function wrapping where_is_internal.
6414 (where_is_internal_1): Handle the case where we're filling the cache.
6415 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
6416
d5789b65
MB
64172000-10-25 Miles Bader <miles@gnu.org>
6418
6419 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
6420
4ecda532
GM
64212000-10-25 Gerd Moellmann <gerd@gnu.org>
6422
6423 * window.c (pos_fully_visible_p): Removed.
6424 (Fpos_visible_in_window_p): Use pos_visible_p to determine
6425 if position is visible and/or fully visible.
6426
6427 * lisp.h (pos_visible_p): Add prototype.
6428
6429 * xdisp.c (pos_visible_p): New function.
6430
68c3a137
KH
64312000-10-25 Kenichi Handa <handa@etl.go.jp>
6432
6433 * process.c (send_process): If OBJECT is t, it means that the data
6434 is from C string, but we should encode it. Before calling
6435 setup_raw_text_coding_system, be sure to flush out data by the
6436 previous coding system.
6437
7ae1c032
MB
64382000-10-25 Miles Bader <miles@lsi.nec.co.jp>
6439
ff4dcd4b
MB
6440 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
6441 assignment of startpos to prev when startpos == pos.
6442
7ae1c032
MB
6443 * editfns.c (find_field): Set the field stickiness correctly from
6444 overlay fields. Use renamed `text_property_stickiness'.
6445 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 6446 Only check text properties, not overlays.
7ae1c032
MB
6447 * textprop.c (get_char_property_and_overlay): New function.
6448 (Fget_char_property): Use it.
6449 * intervals.h (get_char_property_and_overlay): Add declaration.
6450
49801145
SM
64512000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6452
6453 * keymap.c: Use AREF, ASET and ASIZE macros.
6454 (Fmake_sparse_keymap): Docstring fix.
6455 (synkey): Remove.
6456 (shadow_lookup): Move up.
6457 Handle the case where lookup-key returns an integer.
6458 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
6459 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
6460 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
6461 Simplify/rewrite the keymap-finding code.
6462 Add check for command shadowing, using shadow_lookup.
6463
39e776cd
SM
64642000-10-24 Stefan Monnier <monnier@cs.yale.edu>
6465
6466 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
6467 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
6468 a symbol.
6469
2488aba5
AI
64702000-10-24 Andrew Innes <andrewi@gnu.org>
6471
6472 * dired.c (directory_files_internal_unwind): New function.
6473 (directory_files_internal): Use it to ensure closedir is called
6474 even if expand-file-name or file-attributes throw, eg. because of
6475 a user interrupt. Also enable immediate_quit while calling
6476 re_search, so that matching can be interrupted as well.
6477
b94fdf61
AI
64782000-10-24 Andrew Innes <andrewi@gnu.org>
6479
6480 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
6481 NT-Emacs only.
6482 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
6483 so that re_search functions only quit when callers expect them to.
6484
64852000-10-24 Kenichi Handa <handa@etl.go.jp>
6486
6487 * regex.c (regex_compile): Change the way of handling a range from
6488 a char less than 256 to a char not less than 256.
6489
1946f901
GM
64902000-10-24 Gerd Moellmann <gerd@gnu.org>
6491
7ae2f10f
GM
6492 * window.c (size_window): Prevent setting window's width or
6493 height to a negative value (esp. with XSETFASTINT).
6494
5dcab13e
GM
6495 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
6496 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
6497 (protect_malloc_state) [GC_MALLOC_CHECK &&
6498 GC_PROTECT_MALLOC_STATE]: New function.
6499 (PROTECT_MALLOC_STATE): New macro.
6500 (__malloc_initialize, morecore, _malloc_internal)
6501 (_free_internal) _realloc_internal): Use it to make _heapinfo
6502 read-only outside of gmalloc.
6503
63e1b552
GM
6504 * keymap.c: Update copyright.
6505
1946f901
GM
6506 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
6507 a symbol.
6508
4fa09beb
GM
65092000-10-24 Colin Walters <walters@cis.ohio-state.edu>
6510
6511 * filelock.c (unlock_all_files): Use unlock_file to expand each
6512 buffer's file_truename before trying remove its lock file.
6513
23afac01
EZ
65142000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
6515
6516 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
6517 or CRLF, decode EOLs.
6518
04448b95
KH
65192000-10-24 Kenichi Handa <handa@etl.go.jp>
6520
6521 * window.c (Fdisplay_buffer): Fix doc.
6522
3090a5a5
JR
65232000-10-23 Jason Rumney <jasonr@gnu.org>
6524
6525 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
6526 ASCII font of default fontset on Windows.
6527
6528 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
6529 xterm.c comment below).
6530
6531 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
6532
a83fee2c
GM
65332000-10-23 Gerd Moellmann <gerd@gnu.org>
6534
6535 * xterm.c (x_connection_closed): Reset handling_signal.
6536
52283633 6537 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 6538
6ffdb539
MB
65392000-10-23 Miles Bader <miles@gnu.org>
6540
6541 * window.c (window_scroll_pixel_based, window_scroll_line_based):
6542 Pass nil for FULLY argument to Fpos_visible_in_window_p to
6543 maintain old behavior.
6544 * minibuf.c (Fminibuffer_complete): Likewise.
6545
7f1c969b
MB
65462000-10-23 Miles Bader <miles@lsi.nec.co.jp>
6547
6548 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
6549 that when a font can't be exactly centered, it errs up rather than
6550 down.
6551
23afac01 65522000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 6553
52283633 6554 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 6555
1a578e9b
AC
65562000-10-23 Andrew Choi <akochoi@i-cable.com>
6557
6558 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
6559
6560 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 6561 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
6562
6563 * emacs.c (main) [macintosh]: Call syms_of_textprop,
6564 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
6565 syms_of_search, x_term_init, and init_keyboard before calling
6566 init_window_once. Also, call syms_of_xmenu.
6567
6568 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
6569 default fontset to Monaco.
6570
6571 * frame.c [macintosh]: Include macterm.h. Remove declarations of
6572 NewMacWindow and DisposeMacWindow.
6573 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
6574 instead of calling NewMacWindow and setting fields of
6575 f->output_data.mac directly. Call init_frame_faces.
6576 (Fdelete_frame) [macintosh]: Remove unused code.
6577 (Fmodify_frame_parameters) [macintosh]: Call
6578 x_set_frame_parameters instead of mac_set_frame_parameters.
6579
6580 * frame.h [macintosh]: Define menu_bar_lines field in struct
6581 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
6582
6583 * keyboard.c [macintosh]: Include macterm.h.
6584 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
6585 and menu_bar_activate_event type events as for X and NT.
6586 (make_lispy_event) [macintosh]: Construct lisp events of type
6587 MENU_BAR_EVENT as for X and NT.
6588
6589 * sysdep.c [macintosh]: Remove declaration for sys_signal.
6590 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
6591 (sys_subshell) [macintosh]: Remove definition entirely.
6592 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
6593 Vwindow_system_version here. Remove initialization of
6594 Vx_bitmap_file_path.
6595 (read_input_waiting): Correct the number of parameters passed to
6596 read_socket_hook.
6597 Move all Macintosh functions to mac/mac.c.
6598
6599 * term.c [macintosh]: Include macterm.h.
6600
6601 * window.c [macintosh]: Include macterm.h.
6602
6603 * xdisp.c [macintosh]: Include macterm.h. Declare
6604 set_frame_menubar and pending_menu_activation.
6605 (echo_area_display) [macintosh]: Do not return if terminal frame
6606 is the selected frame.
6607 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
6608 Allow only the selected frame to set menu bar.
6609 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
6610 calling FRAME_EXTERNAL_MENU_BAR (f).
6611 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
6612
6613 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
6614 and check_x. Declare XCreateGC. Define x_create_gc and
6615 x_free_gc. Initialize font_sort_order.
6616 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
6617 but call x_list_fonts instead of w32_list_fonts.
6618 (Finternal_face_x_get_resource) [macintosh]: Do not call
6619 display_x_get_resource.
6620 (prepare_face_for_display) [macintosh]: Set xgcv.font.
6621 (realize_x_face) [macintosh]: Load the font if it is specified in
6622 ATTRS.
52283633 6623 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 6624
1ffbabe3
SM
66252000-10-22 Stefan Monnier <monnier@cs.yale.edu>
6626
6627 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
6628 is nil: since we go to the end of submap anyway, we'd end up
6629 setting nil to nil.
6630 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
6631 doesn't obey autoload.
6632
bed43f1d
EZ
66332000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
6634
1ffbabe3 6635 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 6636
ea4233a7
JR
66372000-10-21 Jason Rumney <jasonr@gnu.org>
6638
6639 * w32term.c (w32_cache_char_metrics): Double check that font is
6640 really fixed pitch before trusting tmPitchAndFamily.
6641
f3d3c491
AI
66422000-10-21 Andrew Innes <andrewi@gnu.org>
6643
6644 * w32gui.h (w32_char_font_type): Move enum from w32term.c
6645
6646 * w32term.h: Extern decl for w32_cache_char_metrics.
6647
6648 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
6649
6650 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
6651 (w32_unload_font): Free per_char array if present.
6652
6653 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
6654 cached information in emulated XFontStruct to handle common cases
6655 quickly. Do not allocate XCharStruct for return.
6656 (w32_native_per_char_metric): New function.
6657 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
6658 allocating one.
6659 (x_produce_glyphs): Don't get an HDC. Change calls to
6660 w32_per_char_metric to match arg change above. Remove calls to
6661 free results.
6662 (w32_get_glyph_overhangs): Ditto.
6663 (w32_cache_char_metrics): New function.
6664
6665 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
6666 ($(BLD)/casefiddle.$(O)): Remove compile command.
6667 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
6668 ($(BLD)/dispnew.obj):
6669 ($(BLD)/keyboard.obj):
6670 ($(BLD)/w32inevt.obj):
6671 ($(BLD)/w32bdf.obj):
6672 ($(BLD)/alloc.obj):
6673 ($(BLD)/buffer.obj):
6674 ($(BLD)/editfns.obj):
6675 ($(BLD)/emacs.obj):
6676 ($(BLD)/fileio.obj):
6677 ($(BLD)/fns.obj):
6678 ($(BLD)/indent.obj):
6679 ($(BLD)/insdel.obj):
6680 ($(BLD)/intervals.obj):
6681 ($(BLD)/minibuf.obj):
6682 ($(BLD)/print.obj):
6683 ($(BLD)/scroll.obj):
6684 ($(BLD)/sysdep.obj):
6685 ($(BLD)/textprop.obj):
6686 ($(BLD)/widget.obj):
f3d3c491
AI
6687 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
6688 ($(BLD)/term.obj): Add dependency on dispextern.h.
6689
52283633
SM
6690 * makefile.nt ($(BLD)\dispnew.obj):
6691 ($(BLD)\keyboard.obj):
6692 ($(BLD)\w32inevt.obj):
6693 ($(BLD)\w32bdf.obj):
6694 ($(BLD)\alloc.obj):
6695 ($(BLD)\buffer.obj):
6696 ($(BLD)\editfns.obj):
6697 ($(BLD)\emacs.obj):
6698 ($(BLD)\fileio.obj):
6699 ($(BLD)\fns.obj):
6700 ($(BLD)\indent.obj):
6701 ($(BLD)\insdel.obj):
6702 ($(BLD)\intervals.obj):
6703 ($(BLD)\minibuf.obj):
6704 ($(BLD)\print.obj):
6705 ($(BLD)\scroll.obj):
6706 ($(BLD)\sysdep.obj):
6707 ($(BLD)\textprop.obj):
6708 ($(BLD)\widget.obj):
f3d3c491
AI
6709 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
6710 ($(BLD)\term.obj): Add dependency on dispextern.h
6711
18ad4821
EZ
67122000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
6713
6714 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
6715 with an additional argument of Qt.
6716
de54681a
MB
67172000-10-21 Miles Bader <miles@gnu.org>
6718
6719 * window.c (pos_fully_visible_in_window_p): New function.
6720 (Fpos_visible_in_window_p): Add FULLY argument.
6721 Use pos_fully_visible_in_window_p.
6722 (window_scroll_pixel_based, window_scroll_line_based): Update
6723 calls to Fpos_visible_in_window_p.
6724 * lisp.h (Fpos_visible_in_window_p): Update prototype
6725
13c844fb
GM
67262000-10-20 Gerd Moellmann <gerd@gnu.org>
6727
6728 * alloc.c (toplevel): Conditionalize compilation of mem_*
6729 functions differently.
52283633 6730
d9506268
JR
67312000-10-20 Jason Rumney <jasonr@gnu.org>
6732
6733 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
6734 mem_init where it used to be. mem_z etc not defined otherwise.
6735
8094989b
GM
67362000-10-20 Gerd Moellmann <gerd@gnu.org>
6737
6738 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
6739 GC_MALLOC_CHECK.
6740 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
6741 structure definition and related variabled to the top of the file.
6742 Include this code when GC_MALLOC_CHECK is defined.
6743 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
6744 register/unregister allocated region.
6745 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
6746 which isn't allocated.
6747 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
6748 something which is already in use.
6749 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
6750 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
6751 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
6752 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
6753
6754 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
6755 _malloc_internal instead of malloc.
6756 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
6757 of free.
6758
ea456eb4
AI
67592000-10-20 Andrew Innes <andrewi@gnu.org>
6760
6761 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
6762 Windows.
6763 (my_strftime) <macro>: Don't use macro arg list when redefining as
6764 _strftime_copytm.
6765 (my_strftime) <function>: Supply 0 as ut argument.
6766
e64c3a75
JR
67672000-10-19 Jason Rumney <jasonr@altavista.net>
6768
6769 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
6770 including dispextern.h, as it stops faces from working.
6771
6772 * w32fns.c (Fx_create_frame): Don't bother calling
6773 face-set-after-frame-default since the caller does it for us
6774 anyway. Clean up calls to x_get_arg to be consistent with X.
6775
6776 * w32term.c (x_produce_glyphs): Handle
6777 unibyte_display_via_language_environment correctly.
6778 (w32_draw_box_rect): Fix the calculation of width and height.
6779
6780 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
6781 as it has stopped working.
6782 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
6783 menu-bar.
6784
17401c97
GM
67852000-10-19 Gerd Moellmann <gerd@gnu.org>
6786
6787 * eval.c (skip_debugger): Prevent a compiler warning.
6788 (Fcondition_case): Likewise.
6789 (Fbacktrace_frame): Use a null interactive spec.
6790
773272d8
KH
67912000-10-19 Kenichi Handa <handa@etl.go.jp>
6792
6793 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
6794
a42943e9
GM
67952000-10-18 Gerd Moellmann <gerd@gnu.org>
6796
e50517d9
GM
6797 * strftime.c: Sync with glibc, file version 1.78.
6798 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
6799 should no longer be used according to ISO 8601.
6800
9035a35a
GM
6801 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
6802 no map for meta_prefix_char, don't try to use it as a keymap.
6803 Instead, if T_OK is non-zero, look up a default binding, if any,
6804 otherwise, if T_OK is zero, return nil.
6805
a42943e9
GM
6806 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
6807 (x_to_xcolors, png_load): Use x_query_color.
6808
52283633
SM
6809 * xterm.c (x_color_cells, x_query_colors, x_query_color):
6810 New functions.
a42943e9
GM
6811 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
6812 which can be slow.
6813 (x_copy_color, x_alloc_lighter_color): Likewise.
6814
6815 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
6816 (x_query_color, x_query_colors): Add prototype.
6817
6818 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
6819 check_string_bytes only if not noninteractive, increase count to 50.
6820
00de2987
MB
68212000-10-18 Miles Bader <miles@lsi.nec.co.jp>
6822
6823 * insdel.c (adjust_markers_for_delete): Handle before-insertion
6824 markers correctly.
6825
54918e2b
GM
68262000-10-17 Gerd Moellmann <gerd@gnu.org>
6827
1f0b3fd2
GM
6828 * alloc.c (pure_bytes_used): Renamed from pureptr.
6829 (ALIGN): New macro.
6830 (pure_alloc): New function.
6831 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
6832 Use it.
6833 (Fpurecopy): Use PURE_POINTER_P.
6834
68c5d1db
GM
6835 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
6836 PT has moved backward.
52283633 6837
9a038881
GM
6838 * xdisp.c (cursor_row_p): Take continued lines into account.
6839
361b097f
GM
6840 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
6841 string's size_byte.
6842 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
6843 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
6844 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
6845 string allocated.
6846
54918e2b
GM
6847 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
6848 of selective display off while searching for the next line start.
6849
03ed0806
KH
68502000-10-17 Kenichi Handa <handa@etl.go.jp>
6851
6852 * Makefile.in (term.o): Depend on dispextern.h.
6853
7e05cdaf
SM
68542000-10-16 Stefan Monnier <monnier@cs.yale.edu>
6855
6856 * keymap.c (keymap_memberp): Ensure that nil is not a member.
6857
a6801fd1
GM
68582000-10-16 Gerd Moellmann <gerd@gnu.org>
6859
483de32b
GM
6860 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
6861 the iterator at the beginning, so that they can be set later on,
6862 for instance in reseat_at_next_visible_line_start, without being
6863 overwritten.
6864
a6801fd1
GM
6865 * xfns.c (pbm_format): Add :foreground and :background keywords.
6866 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 6867 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 6868
dbf1fcc1
EZ
68692000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
6870
6871 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
6872
52283633 6873 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
6874
6875 * msdos.c (IT_set_face): Compare highlighted face with the default
6876 face, and invert colors if these faces' colors are identical.
6877 (Fmsdos_remember_default_colors): Don't swap foreground and
6878 background colors in initial_colors[].
6879 (IT_set_frame_parameters): Don't swap frame's foreground and
6880 background pixels. If ALIST includes "(reverse . t)", swap
6881 foreground-color and background-color properties in frame's
6882 param_alist. If the original frame's param_alist doesn't specify
6883 the colors, store unspecified-fg and unspecified-bg, reversed if
6884 required.
6885
6886 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
6887 the colors are unspecified and reversed, reverse fore- and back-
6888 ground in the returned value.
6889 (Fframe_parameter): Ditto.
6890
b41fe2c3 68912000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 6892
3a6b59d9
GM
6893 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
6894 get_last_unchanged_at_beg_row.
6895 (find_first_unchanged_at_end_row): Renamed from
6896 get_first_unchanged_at_end_row.
6897 (find_first_unchanged_at_end_row): Convert assertions to
6898 unconditional tests which abort. When looking for a row in
6899 unchanged text, don't go further back than first_text_row.
6900
b41fe2c3
GM
6901 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
6902 Don't add in the last line's height when deciding if the new
6903 position is below the scroll margin.
9d1af64f 6904
b41fe2c3 69052000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
6906
6907 * editfns.c (Fconstrain_to_field): Check carefully for field
6908 boundaries if either OLD_POS or NEW_POS has a non-nil field
6909 property, even if they're the same.
6910
c412cb7b
KH
69112000-10-16 Kenichi Handa <handa@etl.go.jp>
6912
6913 * xterm.c (x_draw_box_rect): Fix the calculation of width and
6914 height for XFillRectangle.
6915
5586f3eb
SM
69162000-10-15 Stefan Monnier <monnier@cs.yale.edu>
6917
6918 * syntax.c (Fstring_to_syntax): New function extracted from
6919 Fmodify_syntax_entry.
6920 (Fmodify_syntax_entry): Use it and document the ! and | fences.
6921 (skip_chars, Fforward_comment): Remove unused variables.
6922 (syms_of_syntax): Add defsubr for string-to-syntax.
6923 (describe_syntax): Add code for comment and string fences.
6924
db785038
SM
69252000-10-14 Stefan Monnier <monnier@cs.yale.edu>
6926
6927 * keymap.c (access_keymap): Add AUTOLOAD parameter.
6928 Do the meta->esc mapping. Call get_keyelt before returning.
6929 Start scanning from the second element (the first is always `keymap')
6930 to make it easier to detect when we reach a parent map.
6931 Handle the case of inheriting from a symbol whose function is a map.
6932 (Fkeymap_parent): Also handle the `inherit from symbol' case.
6933 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
6934 (get_keyelt, Flookup_key): Update call to access_keymap.
6935 Remove the meta->esc mappings.
6936 (define_as_prefix): Delete old disabled code.
6937 (menu_item_p): New function.
6938 (where_is_internal_1): Skip over the few remaining menu items.
6939 * lisp.h (access_keymap): Update prototype.
6940 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
6941 Update call to access_keymap.
6942 (follow_key, read_key_sequence): Update calls to access_keymap.
6943 Remove the meta->esc mappings.
6944
cafafe0b
GM
69452000-10-13 Gerd Moellmann <gerd@gnu.org>
6946
a2e2a7f6
GM
6947 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
6948 with additional argument.
6949
cafafe0b
GM
6950 * xdisp.c (cursor_row_p): New function.
6951 (try_cursor_movement, display_line): Use it.
52283633 6952
cafafe0b
GM
6953 * xdisp.c (append_space): Also save/restore iterator's current
6954 character and its length.
6955
6956 * xdisp.c (init_from_display_pos): Add an assertion.
6957 (handle_stop): Don't set iterator's add_overlay_start.
6958 (handle_invisible_prop): Likewise.
6959 (load_overlay_strings): If text under an overlay is invisible,
6960 take both before- and after-strings into account when the iterator
6961 is positioned either at the start or at the end of the overlay.
6962 (forward_to_next_line_start): Rewritten.
6963 (reseat_at_next_visible_line_start): Rewritten.
6964 (set_iterator_to_next): Add parameter RESEAT_P.
6965
6966 * dispextern.h (struct it): Remove member add_overlay_start.
6967 (set_iterator_to_next): Change prototype.
6968
c744452b
KH
69692000-10-13 Kenichi Handa <handa@etl.go.jp>
6970
6971 * coding.c (code_convert_region): Be sure to initialize
6972 coding->category_idx.
e4a3f4e1
KH
6973 (decode_coding_string): Set coding->src_multibyte and
6974 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
6975 (encode_coding_string): Set coding->src_multibyte and
6976 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 6977
321fd26f
SM
69782000-10-12 Stefan Monnier <monnier@cs.yale.edu>
6979
6980 * xfns.c (Fx_create_frame): Don't bother calling
6981 face-set-after-frame-default since the caller does it for us anyway.
6982
76832439
EZ
69832000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
6984
6985 * window.c (coordinates_in_window): Fix detection of vertical line
6986 on character terminals.
6987
2483cf58
GM
69882000-10-12 Gerd Moellmann <gerd@gnu.org>
6989
6990 * editfns.c (save_excursion_save): Additionally record the
6991 selected window.
6992 (save_excursion_restore): If buffer was visible in a window, and a
6993 different window was selected, and the old selected window is
6994 still live, restore point in that window.
6995
eb991b25
KH
69962000-10-12 Kenichi Handa <handa@etl.go.jp>
6997
8a0eba09
KH
6998 * xterm.c (x_produce_glyphs): Handle
6999 unibyte_display_via_language_environment correctly.
7000
20401fcc
KH
7001 * regex.c (regex_compile): Change the way of handling a range from
7002 unibyte char to multibyte char.
7003
7004 * syntax.c (skip_chars): Change the way of handling a range from
7005 unibyte char to multibyte char.
7006
eb991b25
KH
7007 * process.c (read_process_output): Cancel previous change.
7008
365dd325
EZ
70092000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
7010
c1b096cb
EZ
7011 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
7012
365dd325
EZ
7013 * charset.c (Ffind_charset_string): Doc fix.
7014 (Ffind_charset_region): Doc fix.
7015
eb483c2b
KH
70162000-10-11 Kenichi Handa <handa@mule.m17n.org>
7017
7018 * process.c (read_process_output): Fix previous change. Adjust
7019 multibyteness of text to insert in a buffer by
52283633 7020 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 7021
b40bfb99
AS
70222000-10-10 Andreas Schwab <schwab@suse.de>
7023
7024 * alloc.c (mark_object): Remove all workarounds installed on
7025 1993-08-08.
7026
caff31d4
KH
70272000-10-10 Kenichi Handa <handa@etl.go.jp>
7028
52283633 7029 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
7030 (base64_encode_1): Make it work for a text of multibyte form.
7031 (Fbase64_decode_region): Allocate sufficient memory for multibyte
7032 case. Don't call str_to_multibyte because base64_decode_1
7033 produces correct multibyte form for eight-bit codes.
52283633 7034 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
7035 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
7036 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
7037 codes.
7038
7039 * charset.h (CHAR_STRING): Optimized for single byte characters.
7040
cba026ef
AS
70412000-10-09 Andreas Schwab <schwab@suse.de>
7042
7043 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
7044 -1 after socket is closed, to fall through to error processing.
7045
1e21fe48
EZ
70462000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
7047
7048 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 7049 variables. If ALIST includes foreground-color or
1e21fe48
EZ
7050 background-color, change also the colors of the default face for
7051 this frame.
7052
a640322e
EZ
70532000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
7054
7055 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
7056 them extern (they are defined on xfaces.c).
7057 (syms_of_msdos): Don't intern and don't staticpro
7058 Qbackground_color and Qforeground_color.
7059
a115794c
EZ
70602000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
7061
7062 * frame.c (Fframe_parameter): For non-windowed frames, if
7063 f->param_alist says foreground or background color is unspecified,
7064 call tty_color_name to return the color name computed from the
7065 frame's current colors.
7066
f5533b63
DL
70672000-10-06 Dave Love <fx@gnu.org>
7068
7069 * terminfo.c (ospeed): Don't declare.
7070
7071 * sysdep.c: Don't include string.h.
7072 (h_errno): Declare conditional also on TRY_AGAIN.
7073
7074 * charset.c (Ffind_charset_string): Doc fix.
7075
52283633 7076 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
7077 (Fbase64_decode_region, Fbase64_decode_string): More explicit
7078 error messages.
7079
2b06561a
DL
70802000-10-05 Dave Love <fx@gnu.org>
7081
7082 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
7083 position like menu-bar.
7084
ca839c85
GM
70852000-10-05 Gerd Moellmann <gerd@gnu.org>
7086
7087 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
7088
7089 * xdisp.c (handle_single_display_prop): Use safe_call1.
7090 (safe_call): Renamed from call_function.
7091 (safe_call1): New function.
7092 (handle_fontified_prop): Use safe_call1 instead of call1.
7093 (safe_eval): Renamed from eval_form.
7094 (safe_eval_handler): Renamed from eval_handler.
7095 (handle_single_display_prop, display_mode_element): Use safe_eval
7096 instead of eval_form.
7097
7098 * xfaces.c (merge_face_heights): Use safe_call instead of
7099 call_function.
7100
7101 * keyboard.c (show_help_echo): Use safe_call instead of
7102 call_function; use safe_eval instead of eval_form.
7103
7104 * lisp.h (safe_call): Renamed from call_function.
7105 (safe_eval): Renamed from eval_form.
7106 (safe_call1): Add prototype.
7107
a3489ece
MB
71082000-10-05 Miles Bader <miles@lsi.nec.co.jp>
7109
7110 * xfns.c (image_ascent): Rearrange ascent calculation for the
7111 has-a-font case.
7112
35810b6f
SM
71132000-10-04 Stefan Monnier <monnier@cs.yale.edu>
7114
7115 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
7116 (where_is_internal_1): Don't bother ignoring menu-items any more.
7117
3dc78168
GM
71182000-10-04 Gerd Moellmann <gerd@gnu.org>
7119
7120 * keyboard.c (update_menu_bindings): New variable.
7121 (parse_menu_item): Use AREF. If update_menu_bindings
7122 is 0, don't update menu bindings.
7123 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
7124
1efc2bb9
EZ
71252000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
7126
7127 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
7128 to `mark_object'.
7129
3f679f55
SM
71302000-10-02 Stefan Monnier <monnier@cs.yale.edu>
7131
7132 * syntax.c (forw_comment): Match nestedness of ender/starter.
7133 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
7134 (prev_char_comstart_first): Remove.
7135 (back_comment): Check two-char comment markers more carefully
7136 to better handle overlapping cases like *//* or /* */* */ ...
7137 Match nestedness of ender/starter.
7138
2021ab61
DL
71392000-10-02 Dave Love <fx@gnu.org>
7140
7141 * config.in (HAVE_GAI_STRERROR): Add undef.
7142
7143 * process.c (Fopen_network_stream): Use it.
7144
7145 * m/alpha.h (NO_REMAP): Don't define.
7146
64e6cc18
GM
71472000-10-02 Gerd Moellmann <gerd@gnu.org>
7148
7149 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
7150 return with a string converted to an integer or vice versa when
7151 Vmocklisp_arguments is t.
7152 (Fsignal): Likewise. The function can return for `quit'.
7153 (struct gcpro): Declare member `var' to point to a volatile
7154 Lisp_Object.
7155
7156 * eval.c (error): Prevent compiler warning.
7157
b1904cd9
SM
71582000-09-30 Stefan Monnier <monnier@cs.yale.edu>
7159
7160 * keymap.c (keymap_memberp): New function.
7161 (Fset_keymap_parent): Use it.
7162 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
7163 Use keymap_memberp to avoid creating cycles.
7164 (access_keymap): Use KEYMAPP.
7165
71c9ec51
GM
71662000-09-30 Gerd Moellmann <gerd@gnu.org>
7167
7168 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
7169 gai_strerror. Make sure xerrno is set if connect fails. Improve
7170 error recovery.
71c9ec51 7171
c70c6b58
JR
71722000-09-29 Jason Rumney <jasonr@gnu.org>
7173
7174 * w32term.c (w32_char_font_type, w32_encode_char)
7175 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
7176 (w32_bdf_per_char_metric): New function.
7177 (w32_per_char_metric): Use it.
7178 (x_draw_glyph_string_background): Always draw background for BDF
7179 glyphs.
7180
7181 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
7182 GDI object which is a scarce resource.
7183
7184 * w32bdf.c (search_file_line): Fix skipping of whitespace.
7185 (get_quoted_string): Fix limit on memchr search.
7186 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
7187 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
7188 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
7189 (get_cached_font_char, cache_char_offset): Use macro
7190 BDF_CODEPOINT_RANGE_COVER_P.
7191 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
7192 (clear_cached_bitmap_slots): New function.
7193 (GET_HEX_VALUE): G-Z, g-z are not hex.
7194 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
7195 (get_bitmap_with_cache): Use new cache implementation.
7196 (create_offscreen_bitmap): New function.
7197 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
7198
7199 * w32term.c (x_produce_glyphs): If the distance from the current
7200 position to the next tab stop is less than a canonical character
7201 width, use the tab stop after that.
7202 (x_draw_glyphs): Handle case START and END are out of bounds more
7203 carefully.
7204 (x_clear_mouse_face): Block/unblock input.
7205 (x_display_and_set_cursor): Don't show a hollow box cursor for
7206 buffers whose cursor_type is nil.
7207
fe01239f
GM
72082000-09-29 Gerd Moellmann <gerd@gnu.org>
7209
52283633 7210 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
7211
7212 * dispextern.h (updating_frame): Declare extern.
7213
e7c52f1f
AS
72142000-09-29 Andreas Schwab <schwab@suse.de>
7215
7216 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
7217
de6e1f7c
GM
72182000-09-29 Gerd Moellmann <gerd@gnu.org>
7219
25126faa
GM
7220 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
7221 use its function definition.
7222 (tool_bar_items): Likewise.
7223
de6e1f7c 7224 * lisp.h (fatal): Declare NO_RETURN.
52283633 7225
454ee39b
KH
72262000-09-29 Kenichi Handa <handa@etl.go.jp>
7227
7228 * keymap.c: Remove the line "#undef NULL".
7229
96301c5f
GM
72302000-09-28 Gerd Moellmann <gerd@gnu.org>
7231
52283633 7232 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 7233
efffeeb4
DL
72342000-09-28 Dave Love <fx@gnu.org>
7235
ecb8b666
DL
7236 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
7237
dc3cd20f
DL
7238 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
7239
7240 * .gdbinit (xreload): Note its need on GNU/Linux.
7241
efffeeb4
DL
7242 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
7243 r_alloc, r_alloc_free.
7244
8610d903
KH
72452000-09-28 Kenichi Handa <handa@etl.go.jp>
7246
7247 * syntax.c (skip_chars): Handle negation correctly.
7248
8901d1ac
GM
72492000-09-27 Gerd Moellmann <gerd@gnu.org>
7250
6f22f1ad
GM
7251 * xfaces.c (realize_default_face): Call set_lface_from_font_name
7252 with non-zero FORCE_P argument.
7253
52283633 7254 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
7255 Add assertions.
7256
7257 * xdisp.c (window_box_height): Add an assertion.
7258
7259 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
7260 tool-bar than is available.
7261 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
7262
36f1966f
DL
72632000-09-27 Dave Love <fx@gnu.org>
7264
efffeeb4 7265 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 7266
31d929e5
GM
72672000-09-26 Gerd Moellmann <gerd@gnu.org>
7268
c98863bf
GM
7269 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
7270 instead of BITS_PER_INT.
7271 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
7272 EMACS_UINT, respectively.
7273 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
7274
7275 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
7276
7277 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
7278
77072ab1
GM
7279 * window.c (freeze_window_starts): Construct last argument for
7280 foreach_window differently.
7281
7282 * xfns.c (x_decode_color): Don't return a Lisp_Object.
7283
7284 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
7285 EMACS_UINT instead of `int' and `unsigned int'.
7286 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
7287
7288 * frame.h (struct frame): Make the `nothing' member of union
7289 output_data an EMACS_INT.
7290
52283633 7291 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
7292 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
7293 size in the sdata structure.
7294 (SDATA_NBYTES, SDATA_DATA): New macros.
7295 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
7296 differently for the different layout of the sdata structure.
7297 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
7298 in sdata.
7299 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
7300 Check that size recorded in the string size and size recorded in
7301 the sdata structure agree.
7302
3e60b029
DL
73032000-09-25 Dave Love <fx@gnu.org>
7304
7305 * buffer.c: Include stdio.h.
7306
7307 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 7308
3e60b029
DL
7309 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
7310
7311 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 7312 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
7313 (__malloc_extra_blocks): Declare as __malloc_size_t.
7314
8ff16b4e
GM
73152000-09-25 Gerd Moellmann <gerd@gnu.org>
7316
755a2ccd
GM
7317 * alloc.c (mark_image): Use GC_NILP instead of NILP.
7318
d8b4516f
GM
7319 * keyboard.c (show_help_echo): Set help_echo_showing_p.
7320 (read_char): If help-echo is showing, preserve the echo area
7321 when redisplaying.
7322
7323 * xdisp.c (help_echo_showing_p): New variable.
7324 (set_message): Reset it to 0.
7325 (init_xdisp): Initialize help_echo_showing_p.
7326
7327 * dispextern.h (help_echo_showing_p): Declare extern.
7328
7329 * config.in: Fix typo in __GNUC_MINOR__.
7330
7331 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
7332
b11af2dd
GM
7333 * s/freebsd.h (POSIX_SIGNALS): Define.
7334
8ff16b4e
GM
7335 * xterm.c (x_clear_mouse_face): Block/unblock input.
7336
844eb643
DL
73372000-09-24 Dave Love <fx@gnu.org>
7338
7339 * fns.c (base64_encode_1): Fix last change.
7340
b30ab1b3
GM
73412000-09-22 Gerd Moellmann <gerd@gnu.org>
7342
7343 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
7344
7345 * xdisp.c (try_window_reusing_current_matrix): More fixes
7346 for the case window has a header-line.
7347
c6cbe5f0
DL
73482000-09-22 Dave Love <fx@gnu.org>
7349
4c7c1f3f
DL
7350 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
7351 a doc string.
7352
7353 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
7354
c6cbe5f0
DL
7355 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
7356
550a625e
GM
73572000-09-21 Gerd Moellmann <gerd@gnu.org>
7358
4c7c1f3f 7359 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
7360 for GCC >= 2.5.
7361
52283633
SM
7362 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
7363 Declare NO_RETURN.
fca99116 7364
80d26f99
GM
7365 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
7366 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
7367 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
7368 warnings.
52283633 7369
80d26f99
GM
7370 * marker.c (byte_char_debug_check): Return void.
7371
623a0aae
GM
7372 * xfns.c (Fx_create_frame): Set default frame parameter value
7373 for tool-bar-lines to 1.
7374
7375 * dispnew.c (scrolling_window): Compare y-positions of rows
7376 equal at the start. Some simplification.
7377
7378 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
7379 reused rows' y-position in the case window has a header-line, and
7380 new window start is greater than old window start.
7381
42ac0ae5
GM
7382 * process.c (process_sent_to): New variable.
7383 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
7384 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
7385 Declare more parameters volatile.
7386
550a625e
GM
7387 * lread.c (Vrecursive_load_depth_limit): New variable.
7388 (Fload): Check recursive loads whose recursion depth exceeds
7389 Vrecursive_load_depth_limit.
7390 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
7391
8320414c
GM
73922000-09-20 Gerd Moellmann <gerd@gnu.org>
7393
f46c275e
GM
7394 * fileio.c (Fread_file_name): Doc fix.
7395
7396 * editfns.c (Fmessage_or_box): Doc fix.
7397
7398 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
7399
b7e11c5b 7400 * xfns.c (xbm_scan): Allow C-style comments.
52283633 7401
8320414c
GM
7402 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
7403 symbols are specified, add color translations to the cache.
52283633 7404 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
7405 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
7406 xpm_cache_color.
7407 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
7408 structures to xpm_init_color_cache.
7409
da1608d9
GM
74102000-09-19 Gerd Moellmann <gerd@gnu.org>
7411
52283633 7412 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 7413
6badfa25
AI
74142000-09-19 Andrew Innes <andrewi@gnu.org>
7415
7416 * makefile.nt (bootstrap-emacs): Don't change directory.
7417
3a5f42bb
KH
74182000-09-19 Kenichi Handa <handa@etl.go.jp>
7419
1b7649bd
KH
7420 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
7421
3a5f42bb
KH
7422 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
7423 If output buffer is too small, signal an appropriated error.
7424
9f83cf0b
DL
74252000-09-18 Dave Love <fx@gnu.org>
7426
52283633 7427 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
7428 (current_active_maps): Remove redundant get_local_map call.
7429
28c7826c
GM
74302000-09-18 Gerd Moellmann <gerd@gnu.org>
7431
5cefa566
GM
7432 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
7433 cursor for buffers whose cursor_type is nil.
52283633 7434
6fed3546
GM
7435 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
7436 a feature to implement that is already implemented.
7437 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
7438 warnings.
7439
7440 * xfns.c (x_clear_image_1): New function.
7441 (x_clear_image): Use it.
52283633 7442 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 7443
05b1f851
GM
7444 * dispnew.c (update_window): Move test for invisible lines
7445 at the top to update_window_line.
7446 (update_window_line): Handle invisible lines here.
7447
f4779de9
GM
7448 * xfns.c (clear_image_cache): Clear current matrices of all
7449 frames sharing an image cache. Block input while freeing
7450 images. Fix timestamp comparison.
7451 (x_clear_image): Also free the mask.
7452
28c7826c
GM
7453 * xfns.c (lookup_image): Block input while loading the image so
7454 that we won't get interrupted in a state where the image isn't yet
7455 set up completely.
7456 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
7457 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
7458 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 7459 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 7460
b7412313
GM
74612000-09-16 Gerd Moellmann <gerd@gnu.org>
7462
7463 * dispnew.c (update_window): Make sure to make desired rows
7464 current even if they are completely invisible at the top
7465 of a window.
7466
47e351a3
GM
74672000-09-15 Gerd Moellmann <gerd@gnu.org>
7468
7f8f1edc
GM
7469 * xfns.c (lookup_image): Build mask before applying an algorithm.
7470 Recognize algorithm `disabled'.
7471 (cross_disabled_images): New variable.
7472 (COLOR_INTENSITY): New macro.
7473 (x_detect_edges): Use COLOR_INTENSITY.
7474 (x_disable_image): New function.
7475 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
7476
7477 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
7478 disabled state, don't apply an image transformation algorithm if
7479 the user specified an image for the disabled state. Use
28c7826c 7480 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
7481 user hasn't specified an image.
7482
ebb8f116
GM
7483 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
7484 allocation functions with the XPM lib.
7485 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
7486 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
7487 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
7488 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 7489 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
7490 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
7491 functions, if possible, because these handle color allocation
7492 failure more gracefully.
7493 (Fimage_mask_p): New function.
7494
47e351a3
GM
7495 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
7496 (Qedge_detection, Qheuristic): New symbols.
7497 (syms_of_xfns): Initialize new symbols.
7498 (lookup_image): Handle `:mask X', `:algorithm emboss', and
7499 `algorithm (edge-detection ...)'.
7500 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
7501 (tiff_format, gif_format, gs_format): Add `:mask'.
7502 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
7503 (GIF_MASK, GS_MASK): New enumerators.
7504 (x_laplace_read_row, x_laplace_write_row): Functions removed.
7505 (emboss_matrix, laplace_matrix): New variables.
7506 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
7507 (x_edge_detection): New functions.
7508 (x_laplace): Rewritten in terms of x_detect_edges.
7509 (x_build_heuristic_mask): If image has a mask, free it.
7510
fe83b953
AI
75112000-09-14 Andrew Innes <andrewi@gnu.org>
7512
7513 * makefile.w32-in: Revert to Unix line endings.
7514
3021e816
AI
75152000-09-14 Andrew Innes <andrewi@gnu.org>
7516
7517 * makefile.w32-in: Standardize indentation somewhat.
7518 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
7519 cater for differences between shells.
7520
7521 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
7522
2a32b5ea
GM
75232000-09-14 Gerd Moellmann <gerd@gnu.org>
7524
7525 * xterm.c (x_produce_glyphs): If the distance from the current
7526 position to the next tab stop is less than a canonical character
7527 width, use the tab stop after that.
7528
b4331e96
DL
75292000-09-14 Dave Love <fx@gnu.org>
7530
7531 * buffer.c (alloc_buffer_text): Fix xmalloc call.
7532
ef9e4345
GM
75332000-09-14 Gerd Moellmann <gerd@gnu.org>
7534
085536c2
GM
7535 * xdisp.c (handle_fontified_prop): While running fontification
7536 functions, bind `fontification-functions' and
7537 `after-change-functions' to nil.
7538
ef9e4345
GM
7539 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
7540 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
7541
7542 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
7543
7544 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
7545 USE_MMAP_FOR_BUFFERS.
7546
7547 * insdel.c (make_gap): Use enlarge_buffer_text.
7548
7549 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
7550 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
7551 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
7552 from former r_alloc_* functions in ralloc.c.
52283633 7553 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
7554 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
7555 (mmap_init) [REL_ALLOC_MMAP]: New function.
7556 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
7557 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
7558 BUFFER_FREE.
7559
7560 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
7561 (enlarge_buffer_text): Add prototype.
7562
7563 * ralloc.c: Remove everything having to do with the use of mmap.
7564
f8608968
GM
75652000-09-13 Gerd Moellmann <gerd@gnu.org>
7566
2a494b2d
GM
7567 * sound.c (Fplay_sound): Doc fix.
7568
8c907a56
GM
7569 * keyboard.c: Avoid some more compiler warnings.
7570 (parse_tool_bar_item): Ignore cached key bindings.
7571
f8608968
GM
7572 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
7573 and allocation of Lisp data.
7574
6ab70e9a
GM
75752000-09-12 Gerd Moellmann <gerd@gnu.org>
7576
d12d0a9b
GM
7577 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
7578 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
7579 defaults first.
7580
6ab70e9a
GM
7581 * lread.c (Fload): Put code checking for recursive loads in #if 0.
7582
63c36c3c
KH
75832000-09-12 Miyashita Hisashi <himi@meadowy.org>
7584
7585 * ccl.c: Comment fixed.
7586 (MAX_MAP_SET_LEVEL): Increased to 30.
7587 (PUSH_MAPPING_STACK): Enclose with do-while block.
7588 (POP_MAPPING_STACK): Likewise.
7589 (stack_idx_of_map_multiple): New variable.
7590 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
7591 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 7592 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
7593 (ccl_driver) <CCL_MapSingle>: Likewise.
7594 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
7595 with the case where looking up process reaches to the end of
7596 map-set, and call CCL programs as the above change.
7597
7ee3bd7b
GM
75982000-09-11 Gerd Moellmann <gerd@gnu.org>
7599
8ec8a5ec
GM
7600 * xfns.c (png_load, jpeg_load): Declare some variables volatile
7601 that might be clobbered by longjmp.
7602 (check_x_display_info, x_decode_color, create_frame_xic)
7603 (Fx_display_backing_store, Fx_display_visual_class)
52283633 7604 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 7605
f74b0705
GM
7606 * lread.c (init_lread): Set Vloads_in_progress to nil.
7607 (Fload): Show list of recursively loaded files, when signaling an
7608 error.
7609
7ee3bd7b
GM
7610 * lread.c (Vloads_in_progress): New variable.
7611 (record_load_unwind): New function.
7612 (Fload): Check for recursive loads.
7613 (syms_of_lread): Initialize Vloads_in_progress.
7614 (read_integer, read1): Avoid some compiler warnings.
7615
7616 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
7617 compiler warnings.
7618
974e1e5b
MB
76192000-09-11 Miles Bader <miles@gnu.org>
7620
7621 * editfns.c (Fbuffer_string): Doc fix.
7622
9824c4e3
GM
76232000-09-10 Gerd Moellmann <gerd@gnu.org>
7624
7625 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
7626
6a72fdd1
KR
76272000-09-09 Ken Raeburn <raeburn@gnu.org>
7628
7629 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
7630 whether to include other header files.
7631
28e6fb66
GM
76322000-09-09 Gerd Moellmann <gerd@gnu.org>
7633
52283633 7634 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 7635 by Fmemq as a boolean.
28e6fb66 7636
7f8b6551
SM
76372000-09-08 Stefan Monnier <monnier@cs.yale.edu>
7638
7639 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
7640
a8710abf
GM
76412000-09-08 Gerd Moellmann <gerd@gnu.org>
7642
d1a02881
GM
7643 * ralloc.c (mmap_fd): Remove initializer which can make it
7644 read-only in a dumped Emacs.
7645 (mmap_fd_1): New variable.
7646 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
7647 restore it from there.
7648 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
7649 unconditionally so that mmap_fd can be initialized there.
7650 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
7651 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
7652 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
7653
c454aac1
GM
7654 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
7655
7656 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 7657 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 7658
fc653ef2
GM
7659 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
7660
3015eec0
GM
7661 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
7662 inheritance.
7663
bfe0ee88
GM
7664 * xdisp.c (try_window_id): When trying to locate cursor in
7665 unchanged rows at the top, handle the case that we can't find it.
7666
a8710abf
GM
7667 * xterm.c (x_draw_glyphs): Handle case START and END are out
7668 of bounds more carefully.
7669
6b7d4ae4
DL
76702000-09-08 Dave Love <fx@gnu.org>
7671
423193c5
DL
7672 * s/sol2.h (REL_ALLOC_MMAP): Define.
7673 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
7674
7675 * ralloc.c: Don't include string.h (redundant).
7676 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
7677 [!MAP_ANON]: Include fcntl.h.
7678 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
7679 (r_alloc, r_re_alloc, r_alloc_free)
7680 (mmap_enlarge, mmap_set_vars): Use it.
7681 (r_alloc_init_fd): New function.
7682 (__morecore) [SYSTEM_MALLOC]: Don't declare.
7683 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
7684 malloc type.
7685
7686 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
7687 Remove vm-limit.o.
7688
6b7d4ae4
DL
7689 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
7690 change to __NetBSD__.
7691
44d31981
KH
76922000-09-08 Kenichi Handa <handa@etl.go.jp>
7693
7694 * search.c (compile_pattern): Check the multibyteness of cached
7695 string and PATTERN.
7696
aad40737
MB
76972000-09-08 Miles Bader <miles@gnu.org>
7698
7699 * xfaces.c (default_face_vector): Function removed.
7700 (Finternal_merge_in_global_face): Restore old global/local
7701 attribute override order. Use inline loop instead of calling
7702 default_face_vector.
7703
91a211b5
GM
77042000-09-07 Gerd Moellmann <gerd@gnu.org>
7705
7706 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
7707 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
7708 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
7709 where necessary, in case POINTER_TYPE is `void'.
7710
03419440
EZ
77112000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
7712
7713 * frame.c (make_terminal_frame): Initialize frame foreground and
7714 background colors to unspecified, for the initial instance of an
7715 MSDOS frame.
7716
f46f845b
GM
77172000-09-07 Gerd Moellmann <gerd@gnu.org>
7718
24f76fbf
GM
7719 * ralloc.c (mmap_find): Fix overlap computation.
7720 (mmap_enlarge): Compute nbytes before trying to find an
7721 overlapping region.
7722
f46f845b
GM
7723 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
7724 instead of `!='.
7725
7726 * lread.c (syms_of_lread): Change value of regexp
7727 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
7728
7729 * xmenu.c (xdialog_show): When looking up the selection in
7730 menu_items, take `quote' boundaries into account; this corresponds
7731 to a nil ITEM in x-popup-dialog.
7732
3c014385
KH
77332000-09-07 Kenichi Handa <handa@etl.go.jp>
7734
fd6f711b
KH
7735 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
7736 not 0x81.
7737 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
7738
3c014385 7739 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
7740 encoding, not decoding. Fix the handling of latin-jisx0201.
7741 Check for the charset katakana-jisx0201 too.
3c014385 7742 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 7743 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 7744
0da3ecef
GM
77452000-09-07 Gerd Moellmann <gerd@gnu.org>
7746
ab0ee409
GM
7747 * xfaces.c (Vparam_value_alist): New variable.
7748 (syms_of_xfaces): Initialize it.
7749 (Finternal_set_lisp_face_attribute): Avoid more consing.
7750
7751 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
7752 specially.
7753 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
7754 (Qbackground_mode): New variable.
7755 (syms_of_frame_1): Initialize Qbackground_mode.
7756
7757 * lisp.h (Qdisplay): Declare extern.
1091dd67 7758
0da3ecef
GM
7759 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
7760 change face on all frames, and change the default for new frames.
7761
b14654b9
DL
77622000-09-07 Dave Love <fx@gnu.org>
7763
7764 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
7765
d24fd56f
KH
77662000-09-07 Kenichi Handa <handa@etl.go.jp>
7767
794f3670
KH
7768 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
7769
0fddd0dc
KH
7770 * charset.c: Include composite.h
7771 (lisp_string_width): New function.
7772 (Fstring_width): Call lisp_string_width instead of strwidth.
7773
7774 * Makefile.in (charset.o): Depends on composite.h.
7775
d24fd56f
KH
7776 * process.c (read_process_output): Before inserting the decoded
7777 text in the buffer, adjust the multibyteness.
7778
fa0b693c
GM
77792000-09-06 Gerd Moellmann <gerd@gnu.org>
7780
52283633 7781 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
7782 buffer's text buffer is null, map new memory.
7783
0a58f946
GM
7784 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
7785 POINTER_TYPE and size_t.
7786 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
7787 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
7788 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
7789 [REL_ALLOC_MMAP]: New macros.
7790 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
7791 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
7792 [REL_ALLOC_MMAP]: New functions.
7793
7794 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
7795 before and after unexec.
7796
7797 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
7798 text buffers if necessary.
7799
7800 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
7801 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
7802 in prototypes.
7803
fa0b693c
GM
7804 * config.in (HAVE_MMAP): Add #undef.
7805
877055f6
GM
78062000-09-05 Gerd Moellmann <gerd@gnu.org>
7807
08ba3862
GM
7808 * frame.c (Qdisplay_type): New variable.
7809 (syms_of_frame_1): Initialize it.
7810 (Fframe_parameter): New function that avoids consing.
7811 (syms_of_frame): Defsubr it.
7812
66ffe51c
GM
7813 * buffer.c (Fother_buffer): Consider buffers as invisible when
7814 they are displayed in a window on an invisible frame.
7815
877055f6
GM
7816 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
7817 get-largest-window always return nil.
7818
bb970e67
GM
78192000-09-04 Gerd Moellmann <gerd@gnu.org>
7820
7821 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
7822 variable; recognize Emacs 19 elc files.
7823
7a3d0e0e
MB
78242000-09-04 Miles Bader <miles@gnu.org>
7825
7826 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
7827 before initially popping up the menu, so the menu doesn't flash
52283633 7828 when the face settings are significantly different from the defaults.
7a3d0e0e 7829
14473664
SM
78302000-09-04 Stefan Monnier <monnier@cs.yale.edu>
7831
7832 * regex.c (WIDE_CHAR_SUPPORT): New macro.
7833 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
7834 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
7835 (BIT_UNIBYTE): Remove.
7836 (re_match_2_internal): Delete corresponding code and streamline the
7837 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
7838 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
7839 (re_wctype_t): New type.
7840 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
7841 (regex_compile): Use them and fix handling of overly long char classes.
7842
c1174479
AI
78432000-09-03 Andrew Innes <andrewi@gnu.org>
7844
f8803e97
AI
7845 * makefile.w32-in: Change to DOS line endings.
7846
c1174479
AI
7847 * s/ms-w32.h (ORDINARY_LINK): New define.
7848
7849 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
7850 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
7851
7852 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
7853 (distclean): Delete them here instead.
7854
44ef7cf6
AI
7855 * w32proc.c (compare_env): Convert to uppercase for comparison,
7856 not lowercase, to match how the native Windows shell works.
7857
49b3bd82
JR
78582000-09-03 Jason Rumney <jasonr@gnu.org>
7859
7860 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
7861 CVS changes the line-ends when checking in/out on DOS/Windows.
7862
7863 * makefile.nt (emacs): Do not change directory to run temacs, as
7864 the load-path is set relative to current directory.
7865
a3d35a39
MB
78662000-09-03 Miles Bader <miles@gnu.org>
7867
7868 * xterm.c (x_alloc_lighter_color_for_widget): New function.
7869
d276b0cf
GM
78702000-09-02 Gerd Moellmann <gerd@gnu.org>
7871
715e84c9
GM
7872 * xdisp.c (redisplay_mode_lines): New function.
7873 (display_mode_lines): Return number of mode lines displayed.
7874 (echo_area_display): Use redisplay_mode_lines to draw garbaged
7875 mode lines. Don't temporarily bind redisplay-dont-pause to t.
7876
8892f40b
GM
7877 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
7878 string.h and strings.h.
7879 (index) [HAVE_INDEX]: Add prototype.
7880
d276b0cf
GM
7881 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
7882 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
7883
7884 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
7885 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
7886
38404229
GM
78872000-09-01 Gerd Moellmann <gerd@gnu.org>
7888
7889 * lread.c (read1): Accept `?' as symbol constituent, for
7890 compatiblity with XEmacs.
7891
c0f9ea08
SM
78922000-08-31 Stefan Monnier <monnier@cs.yale.edu>
7893
7894 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
7895 (struct re_pattern_buffer): Remove newline_anchor.
7896 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
7897 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
7898 (re_max_failures, fail_stack): Use size_t rather than unsigned.
7899 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
7900 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
7901 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
7902 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
7903 Get rid of references to newline_anchor.
7904 (regcomp): Allocate and precompute a fastmap.
7905
8c0f83fe
GM
79062000-08-31 Gerd Moellmann <gerd@gnu.org>
7907
7908 * lread.c (openp): GCPRO local variable `filename'.
7909
4bb91c68
SM
79102000-08-30 Stefan Monnier <monnier@cs.yale.edu>
7911
7912 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
7913
7914 * regex.c: Merge some changes from GNU libc. Add prototypes.
7915 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
7916 Use memcmp and memcpy instead of bcopy and bcmp.
7917 (init_syntax_once): Use ISALNUM.
7918 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
7919 (REG_UNSET_VALUE): Remove. Use NULL instead.
7920 (REG_UNSET, re_match_2_internal): Use NULL.
7921 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
7922 New macros.
7923 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
7924 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
7925 (regex_compile): In handle_interval, return an error rather than try to
7926 unfetch the interval if we can't find the closing brace.
7927 Obey the RE_NO_GNU_OPS syntax bit.
7928 (TOLOWER): New macro.
7929 (regcomp): Use it.
7930 (regexec): Allocate regs.start and regs.end as one block.
7931
5226a931
GM
79322000-08-30 Gerd Moellmann <gerd@gnu.org>
7933
868dd24b
GM
7934 * xdisp.c (echo_area_display): Check display_completed instead
7935 of calling detect_input_pending.
7936
7937 * dispnew.c (update_frame): Only set display_completed here; move
7938 the update_begin and update_end calls here from update_frame_1.
7939 (update_frame_1): Don't set display_completed here, don't call
7940 update_begin/update_end.
7941
5226a931
GM
7942 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
7943 instead of store_frame_param.
7944
2a8bd25f
GM
79452000-08-29 Gerd Moellmann <gerd@gnu.org>
7946
7947 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
7948 desired window matrix hasn't been displayed, use the current row
7949 instead. Make sure that only those frame rows are updated for
7950 which there exists a corresponding enabled desired row.
52283633 7951
ba3478d9
MB
79522000-08-29 Miles Bader <miles@gnu.org>
7953
7954 * xfaces.c (default_face_vector): New function.
7955 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
7956
87d0f685
GM
79572000-08-29 Gerd Moellmann <gerd@gnu.org>
7958
7959 * lread.c (openp): Prevent temporary string passed to
7960 Ffile_readable_p from being garbage collected.
7961
6fa86045
DL
79622000-08-28 Dave Love <fx@gnu.org>
7963
7964 * keymap.c (store_in_keymap): Add `static' to declaration.
7965
bb17930d
GM
79662000-08-28 Gerd Moellmann <gerd@gnu.org>
7967
7968 * emacs.c, callint.c, doc.c, editfns.c
7969 (toplevel) [HAVE_STRING_H]: Include string.h.
7970 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
7971 (index): Remove prototypes which might conflict with non-standard
7972 definitions of index/strchr.
7973
7974 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
7975 (rindex): Define only if !HAVE_RINDEX.
7976
7977 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
7978
7979 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
7980
87188200
MB
79812000-08-28 Miles Bader <miles@gnu.org>
7982
7983 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
7984 made inconsistent by a font-related attribute in FROM.
7985 (merge_face_inheritance): Add function comment.
7986
41a68aef
KH
79872000-08-28 Kenichi Handa <handa@etl.go.jp>
7988
7989 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
7990 the 4th arg (PREV_EVENT) Qt to suppress input method.
7991
f7c436c1
SM
79922000-08-27 Stefan Monnier <monnier@cs.yale.edu>
7993
0b32bf0e
SM
7994 * regex.c: Indent cpp directives and remove parens after `defined'.
7995 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
7996 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
7997 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
7998 (re_compile_pattern): Use size_t for length.
7999 (init_syntax_once): Move to a better place.
8000 * regex.h: Merge changes from GNU libc. Indent cpp directives.
8001 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
8002
f7c436c1
SM
8003 * syntax.c (back_comment): Detect cases where a comment-starter is
8004 actually inside another comment as in: /* a // b */ c // d \n.
8005 Make it clear that `comstart_pos' is unused for nested comments.
8006
8007 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
8008 (KEYMAPP): New macro.
8009 (Fkeymap_parent, Fset_keymap_parent): Use it.
8010 (fix_submap_inheritance): Mark it static.
8011 (define_as_prefix, describe_buffer_bindings, describe_command)
8012 (describe_translation, describe_map): Complete prototypes.
8013
8014 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
8015
8016 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
8017 to better match the key-lookup behavior.
8018
6288c62f
GM
80192000-08-27 Gerd Moellmann <gerd@gnu.org>
8020
8021 * xfaces.c (lface_fully_specified_p): Handle :inherit.
8022 (Finternal_set_lisp_face_attribute): Fix typo in error message.
8023
e931344e
EZ
80242000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
8025
8026 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
8027 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
8028 (xterm.o): Depend on coding.h
8029
d10dfeef
KH
80302000-08-26 Kenichi Handa <handa@etl.go.jp>
8031
8032 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
8033 the corresponding '#endif'.
8034
2d73e8d3
MB
80352000-08-26 Miles Bader <miles@gnu.org>
8036
8037 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
8038 * xfaces.c (QCinherit): New variable.
8039 (syms_of_xfaces): Initialize it.
8040 (LFACE_INHERIT): New macro.
8041 (Finternal_get_lisp_face_attribute)
52283633 8042 (merge_face_vector_with_property)
2d73e8d3
MB
8043 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
8044 (check_lface_attrs): Allow new types of face height. Check
8045 inherit attribute.
8046 (CYCLE_CHECK): New macro.
8047 (merge_face_inheritance): New function.
8048 (merge_face_vectors): Merge inherited faces too. Add F and
8049 CYCLE_CHECK arguments.
8050 (merge_face_vector_with_property, Finternal_merge_in_global_face)
8051 (lookup_named_face, lookup_derived_face, realize_named_face)
8052 (face_at_string_position, face_at_buffer_position): Supply
8053 new F and CYCLE_CHECK arguments to merge_face_vectors.
8054 (merge_face_heights): New function.
52283633 8055 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
8056 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
8057 handle relative face heights.
8058 (lface_same_font_attributes_p): Compare heights using EQ.
8059
6ce974d4
KH
80602000-08-26 Kenichi Handa <handa@etl.go.jp>
8061
8062 * charset.c (char_to_string): Check the character validity.
52283633 8063 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 8064
dc1e502d
SM
80652000-08-25 Stefan Monnier <monnier@cs.yale.edu>
8066
8067 * regex.c (PUSH_FAILURE_COUNT): New macro.
8068 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
8069 Handle popping of a register's or a counter's data.
8070 (POP_FAILURE_POINT): Use the new name.
8071 (re_match_2_internal): Push counter data on the stack for succeed_n,
8072 jump_n and set_number_at and remove misleading dead code in succeed_n.
8073
bd9d0f3f
GM
80742000-08-25 Gerd Moellmann <gerd@gnu.org>
8075
8076 * xdisp.c (redisplay_internal): If considering all windows on all
8077 frames, update the display for each frame as soon as possible,
8078 instead of first building all desired matrices for all frames, and
8079 then updating them all.
8080 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
8081
aa5b8e15
GM
80822000-08-24 Gerd Moellmann <gerd@gnu.org>
8083
17494071
GM
8084 * bytecode.c (mark_byte_stack): Add a comment.
8085
52283633
SM
8086 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
8087 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
8088 a graphical frame.
8089
c543db81
KH
80902000-08-24 Kenichi Handa <handa@etl.go.jp>
8091
d246d5f5
KH
8092 * minibuf.c (do_completion): Always use compare-string, not
8093 string-equal because the latter doesn't pay attention to
8094 multibyteness of strings.
8095
c543db81
KH
8096 * process.c (create_process): Don't setup raw-text coding here.
8097 (Fopen_network_stream): Don't set coding->src_multibyte and
8098 coding->dst_multibyte here.
8099 (read_process_output): For process filter, return unibyte string
8100 if default-enable-multibyte-characters is nil.
8101 (send_process): If OBJECT is multibyte text, be sure to encoded it
8102 by the specified coding system for the process. Otherwise, setup
8103 raw-text coding.
52283633 8104 (init_process): Don't initialize default-process-coding-system here.
c543db81 8105
9b47cfe0
EZ
81062000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
8107
8108 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
8109 <scroll-down-aggressively>: Likewise.
8110
f5a36960
KH
81112000-08-23 Kenichi Handa <handa@etl.go.jp>
8112
8113 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
8114 zero. Set coding->produced_char correctly.
8115
69a7ffa7
AI
81162000-08-22 Andrew Innes <andrewi@gnu.org>
8117
8118 * makefile.w32-in: New file.
8119
8120 * unexw32.c (unexec): Ignore old_name, and use the actual location
8121 of the current executable instead. Base new_name on this.
8122
8123 * w32proc.c (create_child): Remove reference to security
8124 descriptor, which isn't needed and doesn't compile with mingw32.
8125
8126 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8127 up dllimport attributes.
8128 (x_update_window_end): Update prototype.
8129
8130 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
8131 extern, which screws up dllimport attributes.
8132
8133 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8134 up dllimport attributes.
8135
8136 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
8137 screws up dllimport attributes.
8138
8139 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8140 up dllimport attributes.
8141 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
8142 screws up dllimport attributes.
8143
8144 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8145 up dllimport attributes.
8146
8147 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
8148 screws up dllimport attributes.
8149
8150 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
8151 screws up dllimport attributes.
8152
8153 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8154 up dllimport attributes.
8155
8156 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
8157 unnecessary extern, which screws up dllimport attributes.
8158 (main): Ditto.
8159
8160 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8161 up dllimport attributes.
8162
8163 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
8164 unnecessary extern, which screws up dllimport attributes.
8165
8166 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
8167 screws up dllimport attributes.
8168
8169 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8170 up dllimport attributes.
8171
8172 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
8173
52283633
SM
8174 * w32bdf.c (search_file_line):
8175 (set_bdf_font_info):
8176 (seek_char):
8177 (w32_get_bdf_glyph):
69a7ffa7
AI
8178 (w32_BDF_to_x_font): Fix compile warnings.
8179
52283633 8180 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
8181
8182 * w32select.c: Include keyboard.h before frame.h.
8183
8184 * w32fns.c (max): Define macro.
8185 (JOHAB_CHARSET): Define if not known.
8186 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
8187 (Fx_show_tip): Synch with X version.
8188
8189 * w32xfns.c: Include keyboard.h before frame.h.
8190
8191 * w32fns.c: Include keyboard.h before frame.h.
8192
8193 * w32term.c: Include keyboard.h before frame.h.
8194
8195 * fontset.c: Include keyboard.h before frame.h.
8196
8197 * w32inevt.c: Include keyboard.h before frame.h.
8198 (MOUSE_MOVED): Define if not known.
8199
8200 * minibuf.c: Include keyboard.h before frame.h.
8201
8202 * keyboard.c: Include keyboard.h before frame.h.
8203
8204 * indent.c: Include keyboard.h before frame.h.
8205
8206 * dispnew.c: Include keyboard.h before frame.h.
8207
8208 * buffer.c: Include keyboard.h before frame.h.
8209
8210 * alloc.c: Include keyboard.h before frame.h.
8211
8212 * print.c: Include keyboard.h before frame.h.
8213
8214 * process.c: Include keyboard.h before frame.h.
8215
8216 * scroll.c: Include keyboard.h before frame.h.
8217
8218 * sysdep.c: Include keyboard.h before frame.h.
8219
8220 * term.c: Include keyboard.h before frame.h.
8221
8222 * window.c: Include keyboard.h before frame.h.
8223
8224 * xdisp.c: Include keyboard.h before frame.h.
8225 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
8226
8227 * frame.c: Include keyboard.h before frame.h.
8228
8229 * w32heap.h: Undefine min, max.
8230
8231 * w32gui.h: Undefine min, max.
8232
8233 * unexw32.c: Change PUCHAR to PCHAR.
8234 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
8235 (relocate_offset):
8236 (get_section_info):
69a7ffa7
AI
8237 (copy_executable_and_dump_data): Remove unnecessary static defs.
8238 (copy_executable_and_dump_data): Fix compile warnings.
8239
8240 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
8241
8242 * w32console.c (min): Define macro.
8243 (clear_frame, write_glyphs): Fix compile warning.
8244
52283633 8245 * w32proc.c (compare_env):
69a7ffa7
AI
8246 (find_child_console): Fix compile warning.
8247
8248 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
8249 sys_errlist instead of _sys_errlist.
8250 (get_emacs_configuration_options): New function.
8251
8252 * s/ms-w32.h (sys_nerr): Provide default definition.
8253 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
8254 name with _ prepended.
8255 (NSIG): Define if not known.
8256 (get_emacs_configuration): Provide extern declaration.
8257 (get_emacs_configuration_options): Provide extern declaration.
8258 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
8259
8260 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 8261 (map_w32_filename):
69a7ffa7
AI
8262 (read_unc_volume): Fix compile warning.
8263
8264 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
8265 definitions from being used.
8266
8267 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
8268
52283633 8269 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
8270 (open_unc_volume): Make arg const.
8271
8272 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
8273 (read_input_waiting): Remove excess parameter.
8274
8275 * w32.c (init_environment): Call _access.
8276 (check_windows_init_file): Call _close.
8277 (init_user_info): Call _putenv.
8278 (init_environment): Call _putenv and _strdup.
8279 (init_ntproc): Reset volume info cache on startup.
8280
8281 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
8282 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
8283 cannot override the CRT malloc.
8284
8285 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
8286 (LINK_FLAGS): Append to original value of LINK_FLAGS.
8287
8288 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
8289 unless we are linking with a static CRT.
8290 (RVA_TO_PTR): Cast result to unsigned char*.
8291
8292 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
8293 (add_volume_info): Use xstrdup.
8294
25060080
SM
82952000-08-22 Stefan Monnier <monnier@cs.yale.edu>
8296
8297 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
8298 (do_completion, Fminibuffer_complete_word): Use it.
8299 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
8300 var so it can take non-boolean values.
8301
6917e6bb
GM
83022000-08-21 Gerd Moellmann <gerd@gnu.org>
8303
acb7cc89 8304 * editfns.c (find_field): Formatting changes.
52283633 8305 (toplevel): Some old-style function forward declarations
acb7cc89
GM
8306 changed to prototypes, some new protypes added, some functions
8307 made static.
8308
8309 * lisp.h (set_time_zone_rule): Add prototype.
8310 (use_dialog_box): External declaration.
8311
0bbfdc25
GM
8312 * keyboard.c (gen_help_event): Add parameter SIZE.
8313 (kbd_buffer_events_waiting): Slightly rewritten.
8314 (clear_event): New function.
8315 (kbd_buffer_get_event): Use it, and clear the input_events of
8316 HELP_EVENTs.
8317 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
8318 don't fill the newly created array with nils.
8319 (toplevel): Convert some old-style function forward declarations
8320 to prototypes.
8321
8322 * keyboard.h (gen_help_event): Change prototype.
8323
8324 * xterm.c (XTread_socket): Change calls to gen_help_event.
8325
8326 * w32term.c (w32_read_socket): Change calls to gen_help_event.
8327
6917e6bb
GM
8328 * eval.c (Fmacroexpand): Doc fix.
8329
e5cd3d11
JR
83302000-08-20 Jason Rumney <jasonr@gnu.org>
8331
8332 * w32term.h (x_display_info_for_display): Remove as this function
8333 does not exist on W32.
8334
8335 * w32term.c (help_echo_window): New variable.
8336 (syms_of_w32term): staticpro it.
8337 (note_mode_line_highlight): Set it.
8338 (XTextExtents16): Removed as there is no equivalent on W32.
8339 (x_compute_glyph_string_overhangs): Incomplete body removed, as
8340 the X way of doing this will not work for W32.
8341 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
8342 (x_draw_image_foreground): Avoid drawing outside of the clip area
8343 when image doesn't have a mask.
8344 (note_mouse_highlight): Process overlays in the right order of
8345 priority. Set help_echo_window.
8346 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
8347 because that's more visible for large images.
8348
8349 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
8350 name to single_keymap_panes.
8351 (w32_menu_show): Set wv->title when dealing with titles.
8352 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
8353
6e69ab8c
MB
83542000-08-21 Miles Bader <miles@gnu.org>
8355
8356 * minibuf.c (do_completion): Try again if we rewrite the input
8357 string, but no completion was done, so that any completion message
8358 will be correct.
8359
511bd4eb
GM
83602000-08-20 Gerd Moellmann <gerd@gnu.org>
8361
8362 * xfaces.c (lface_equal_p): Compare strings differently.
8363 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
8364 (realize_tty_face): Use them.
8365 (syms_of_xfaces): Initialize new variables.
8366 (map_tty_color): New function, extracted from realize_tty_face.
8367 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
8368 foreground or background color, store the new color name in the
8369 realized face; previous code trying to do this had no effect.
8370 (realize_tty_face): Use map_tty_color.
8371 (Fclear_face_cache): Set face_change_count and ensure thorough
8372 redisplay.
8373
1433385f
GM
83742000-08-19 Gerd Moellmann <gerd@gnu.org>
8375
511bd4eb
GM
8376 * undo.c (record_first_change, record_marker_adjustment): Don't
8377 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 8378
419ac0a2
KH
83792000-08-18 Kenichi Handa <handa@etl.go.jp>
8380
8381 * coding.c (decode_coding_string): Set members consumed,
8382 consumed_char, produced, produced_char of *coding correctly. If
8383 decode_coding doesn't consume any byte, don't try anymore.
8384 (encode_coding_string): Likewise.
8385
7eb9e30d
GM
83862000-08-18 Gerd Moellmann <gerd@gnu.org>
8387
511bd4eb
GM
8388 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
8389 conditional have void type, for Standard C compilers.
7eb9e30d
GM
8390
8391 * xdisp.c (redisplay_internal): Compare windows for equality with
8392 EQ, instead of applying XWINDOW to something that might not
8393 be a window.
52283633 8394
dd34a735
KH
83952000-08-18 Kenichi Handa <handa@etl.go.jp>
8396
8397 * fontset.c (Finternal_char_font): Search only the selected frame
8398 for a window of the current buffer.
8399
385ff9e3
GM
84002000-08-18 Gerd Moellmann <gerd@gnu.org>
8401
511bd4eb 8402 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
8403 Lisp_Objects.
8404
385ff9e3
GM
8405 * keyboard.c (kbd_buffer_get_event): Handle the case that the
8406 second half of a HELP_EVENT is found at the start of kbd_buffer.
8407
d6abb4c7
MB
84082000-08-18 Miles Bader <miles@gnu.org>
8409
4618074a
MB
8410 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
8411
d6abb4c7
MB
8412 * editfns.c (save_restriction_save): Rewrite to use markers.
8413 (save_restriction_restore): Rewrite to understand new form of data
8414 saved by save_restriction_save.
8415 (Fsave_restriction): Remove cautionary note in doc-string.
8416
a7b28523
GM
84172000-08-17 Gerd Moellmann <gerd@gnu.org>
8418
8419 * fileio.c (build_annotations): Add a comment explaining the
8420 return value of format-annotate-function. Replace a spurious call
8421 to Flength with a CONSP test. Call format-annotate-function with
8422 a fifth arg specifying how many times the function is been called
8423 in a row, to let it choose temporary buffers appropriately.
8424
03c9ed77
DL
84252000-08-17 Dave Love <fx@gnu.org>
8426
8427 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
8428 declare make_temp_name twice.
8429
52283633 8430 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
8431 (unreadpure): Give it an arg.
8432
8433 * unexalpha.c: Prototype fatal_unexec, mark_x,
8434 update_dynamic_symbols. Declare unexec as void.
8435
8436 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
8437 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
8438
8439 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 8440 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
8441
8442 * alloca.c: Use #error.
8443 [POINTER_TYPE]: Use it.
8444
8445 * eval.c (Fdefvar): Doc fix.
8446
8447 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
8448 INITIALIZE_INTERVAL.
8449
8450 * buffer.h: Avoid DECLARE_INTERVALS.
8451
8452 * config.in: Add size_t.
8453
aae41d97
EZ
84542000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
8455
8456 * w16select.c (set_clipboard_data): If there's not enough memory
8457 to put text into clipboard, return 1, as Fw16_set_clipboard_data
8458 expects. In case of other failures, return 3.
8459 (system_error_msg): New error message.
8460 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
8461 system_error_msg.
8462
65aa5e85
GM
84632000-08-16 Gerd Moellmann <gerd@gnu.org>
8464
8465 * term.c (write_glyphs): Also turn off inverse video after turning
8466 off other appearances in case TS_exit_attribute_mode is not equal
8467 to TS_end_standout_mode.
8468 (insert_glyphs): Turn inverse video on/off for each run of glyphs
8469 with the same face.
8470 (turn_off_face): Reset standout_mode only if
8471 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
8472 is equal to TS_end_standout_mode.
8473
ece23901
KH
84742000-08-16 Kenichi Handa <handa@etl.go.jp>
8475
9d7bcb2e
KH
8476 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
8477 sequence at the end of the source block.
8478
ece23901
KH
8479 * ccl.c (Fccl_program_p): Docstring modified.
8480 (Fccl_execute): Likewise.
8481 (Fccl_execute_on_string): Likewise.
8482
5e30eaa2
EZ
84832000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
8484
8485 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
8486
290602fd
KH
84872000-08-16 Kenichi Handa <handa@etl.go.jp>
8488
8489 The following changes are mainly to fix bugs of
8490 encode/decode-coding-string failing if encoding/decoding return
8491 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
8492 variable conversion_buffer.
8493
8494 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
8495 decrement dst_end to avoid buffer overflow in the later call of
8496 string_as_multibyte
8497
8498 * coding.h (conversion_buffer_size, conversion_buffer)
8499 (get_conversion_buffer): Extern deleted.
8500
8501 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
8502 (conversion_buffer, conversion_buffer_size): Variables deleted.
8503 (get_conversion_buffer): Function deleted.
8504 (struct conversion_buffer): New structure.
8505 (MAX_ALLOCA): New macro.
8506 (allocate_conversion_buffer): New macro.
8507 (extend_conversion_buffer, free_conversion_buffer): New functions.
8508 (ccl_coding_driver): Set coding->result.
8509 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
8510 this is the last block of source.
8511 (encode_coding): Likewise. Handle the source block as the last
8512 one only when the whole source text is consumed.
8513 (decode_coding_string): Handle the case that the output buffer is
8514 too small to decode the whole source text. Use
8515 allocate_conversion_buffer, extend_conversion_buffer and
8516 free_conversion_buffer, not get_conversion_buffer.
8517 (encode_coding_string): Likewise.
8518 (init_coding): Function deleted.
52283633 8519 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
8520
8521 * emacs.c (main): Don't call init_coding.
8522
52283633 8523 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
8524
8525 * term.c (write_glyphs): Use a locally declared conversion_buffer.
8526 (insert_glyphs): Likewise.
8527
8528 * w32console.c (write_glyphs): Use a locally declared
8529 conversion_buffer.
8530
b9f80d41
EZ
85312000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
8532
8533 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
8534 member of display_info is NULL.
8535
32dc52f7
GM
85362000-08-15 Gerd Moellmann <gerd@gnu.org>
8537
52283633 8538 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 8539
32dc52f7 8540 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 8541 appearances with capability `me'.
32dc52f7
GM
8542 (write_glyphs): Switch on inverse video before each face change.
8543
4eb22d33
DL
85442000-08-14 Dave Love <fx@gnu.org>
8545
8546 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
8547 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
8548 (lisp_free): Declare and make static.
8549
8550 * window.c: Fix embedded comment.
8551 (syms_of_window): Fix doc string.
8552
90cbf47e
GM
85532000-08-14 Gerd Moellmann <gerd@gnu.org>
8554
52283633 8555 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
8556 make sure to print `C-' before `M-', like in the manual.
8557
440fc135
GM
85582000-08-11 Gerd Moellmann <gerd@gnu.org>
8559
8560 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
8561 since they aren't relocated anymore.
52283633 8562 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
8563
8564 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 8565 partially visible line which is smaller than the window's height.
440fc135 8566
6e264fad
KH
85672000-08-11 Kenichi Handa <handa@etl.go.jp>
8568
8569 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 8570 the multibyte form of eight-bit-control characters.
6e264fad
KH
8571 (Fccl_execute_on_string): Initialize ccl->multibyte.
8572
8573 * ccl.h (struct ccl_program): New member multibyte.
8574
8575 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
8576
c371f69a
KH
85772000-08-11 Kenichi Handa <handa@etl.go.jp>
8578
8579 * regex.c (regex_compile) <normal_char>: Pay attention to
8580 multibyteness.
8581 (analyse_first) <exactn>: Setup fastmap correctly for
8582 eight-bit-control characters.
8583
85842000-08-11 Kenichi Handa <handa@etl.go.jp>
8585
52283633 8586 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
8587
8588 * keyboard.c (make_lispy_event): Handle the new event type
8589 multibyte_char_keystroke.
8590
8591 * xterm.c: Include coding.h.
8592 (XTread_socket): Work around a bug of XmbLookupString. If the
8593 input is from XIM, decode it according to the current locale. In
8594 that case, generate multibyte_char_keystroke events.
8595
b8ddbe71
KH
85962000-08-11 Kenichi Handa <handa@etl.go.jp>
8597
8598 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
8599 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
8600
47589c8c
GM
86012000-08-10 Gerd Moellmann <gerd@gnu.org>
8602
8603 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
8604 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
8605 (move_it_in_display_line_to): Record iterator's ascent and descent
8606 before producing glyphs, and restore them when we know the glyph
8607 doesn't fit on the line.
8608 (move_it_to): Restructured so that it's easier to debug. If
8609 moving to a vpos, and not moving to an x or character position,
8610 stop as soon as the specified vpos is reached; don't move further
8611 into that line because that might change the computed line height.
8612 (try_cursor_movement): New function, extracted from the cursor
8613 movement branch of redisplay_window. If ending on a partially
8614 visible line, don't try to scroll if the cursor line is taller
8615 than the window.
8616 (redisplay_window): Use try_cursor_movement.
8617
8618 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
8619 because that function doesn't cope with variable-height lines.
8620
8621 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
8622 box cursor because that's better visible for large images.
52283633 8623
c51bacd6
MB
86242000-08-10 Miles Bader <miles@gnu.org>
8625
8626 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
8627
bea56df7
GM
86282000-08-10 Gerd Moellmann <gerd@gnu.org>
8629
8630 * xdisp.c (Vmessages_buffer_name): New variable.
8631 (message_dolog): Use it.
8632 (syms_of_xdisp): Initialize it.
8633
99cd7364
EZ
86342000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
8635
52283633 8636 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
8637 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
8638 redundant now that keyboard.h is included.
8639
7d093d56
EZ
86402000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
8641
8642 * keyboard.c (kbd_buffer_events_waiting): New function.
8643
8644 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
8645
8646 * msdos.c: Include keyboard.h.
8647 (XMenuActivate): Empty no_event events from the event buffer. If
8648 no events are left after that, call clear_input_pending.
8649 (mouse_clear_clicks): New function, code moved from mouse_init.
8650 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
8651 mouse driver to ``forget'' any past clicks.
8652
8653 * Makefile.in (msdos.o): Depend on keyboard.h.
8654
41e757a6
GM
86552000-08-09 Gerd Moellmann <gerd@gnu.org>
8656
8e7bd231
GM
8657 * lisp.h (input_pending): External declaration.
8658
8659 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 8660
8e7bd231
GM
8661 * xdisp.c (echo_area_display): Display thoroughly if input is
8662 pending. Bind redisplay-dont-pause to t during the redisplay.
8663 in case input is pending.
8664
8665 * dispnew.c (Qredisplay_dont_pause): New variable.
8666 (syms_of_display): Initialize and staticpro it.
8667 (update_frame_1): Don't interrupt the display for pending input if
8668 redisplay_dont_pause is set.
52283633 8669
43028b7e
GM
8670 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
8671
41e757a6
GM
8672 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
8673
2f2174fa
KH
86742000-08-09 Miles Bader <miles@lsi.nec.co.jp>
8675
8676 * callproc.c (Fcall_process): Terminate the unwind-protect around
8677 the post-read-conversion of coding system.
8678
0a6fd67e
MB
8679 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
8680 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
8681 * buffer.h (overlays_at): Update prototype.
8682 * xdisp.c (next_overlay_change): Update call to overlays_at.
8683 * xfaces.c (face_at_buffer_position): Likewise.
8684 * textprop.c (Fget_char_property): Likewise.
8685 * xterm.c (note_mouse_highlight): Likewise.
8686
0c80756e
MB
8687 * minibuf.c (do_completion): Don't consider a simple change of
8688 case as `completion'.
8689
975f250a
KR
86902000-08-08 Ken Raeburn <raeburn@gnu.org>
8691
52283633 8692 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
8693 * undo.c (record_delete): Make sure last_point_position_buffer is
8694 a buffer before comparing pointers.
8695
8696 * coding.h (decode_coding_string): Declare.
8697
8698 * intervals.h (Fprevious_single_char_property_change): Declare.
8699
8700 * textprop.c (Fprevious_single_char_property_change): Don't do
8701 arithmetic directly on lisp objects.
8702
52283633 8703 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
8704
8705 * keyboard.h (menu_item_eval_property): Declare.
8706
8707 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
8708 reuse as buffer name, instead of recreating (and discarding) every
8709 time a message is logged.
8710 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
8711 (current_message_1, truncate_message_1, set_message_1)
8712 (display_echo_area_1, resize_mini_window_1): Signatures changed.
8713 (current_message, truncate_echo_area, display_echo_area)
8714 (resize_echo_area_axactly): Changed calls.
b347b3fd 8715
975f250a 8716 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 8717 Lisp object.
975f250a 8718 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 8719 must be an integer, not a Lisp object.
975f250a 8720
46dc9912
KH
87212000-08-08 Kenichi Handa <handa@etl.go.jp>
8722
8723 * charset.c (Fchar_width): Doc fix.
8724
9f6d1a6c
GM
87252000-08-08 Gerd Moellmann <gerd@gnu.org>
8726
8727 * charset.c (Fstring_width): Doc fix.
8728
ff3d9573
GM
87292000-08-07 Gerd Moellmann <gerd@gnu.org>
8730
41e757a6 8731 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
8732 line, clear ascent and descent members of the iterator structure;
8733 the height of the continued line does not affect the height of the
8734 continuation line.
8735 (make_cursor_line_fully_visible): Do nothing if cursor is on a
8736 line taller than the window.
8737 (redisplay_window) <forced window start>: Handle case that the
8738 middle of the window is not found in any row.
8739 (dump_glyph_row): Show more information.
8740 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
8741 first text line in a glyph matrix.
8742
8743 * xterm.c (x_draw_image_foreground): Avoid drawing outside
8744 of the clip area when image doesn't have a mask.
8745
70fc58b3
GM
8746 * fns.c (sweep_weak_table): Fix survival conditions for
8747 key-or-value and key-and-value weakness.
8748
8749 * .gdbinit (xhashtable): New command.
8750
ac0e96ee
GM
8751 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
8752 tables out of the list of all weak hash tables.
8753
ff3d9573
GM
8754 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
8755 a new buffer is created, make sure echo_area_buffer[] references
8756 the new buffer.
8757
e0d8827b
EZ
87582000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
8759
8760 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
8761 the doc string.
8762
c6f35378
KH
87632000-08-07 Kenichi Handa <handa@etl.go.jp>
8764
8765 * syntax.c (skip_chars): Fix previous change. Make the handling
8766 of unibyte string consistent with that of regex search.
8767
1fd4c450
GM
87682000-08-05 Gerd Moellmann <gerd@gnu.org>
8769
e49aa397
GM
8770 * xmenu.c (popup_get_selection): Use xfree instead of free.
8771
8772 * fileio.c (Finsert_file_contents): Use xfree instead of free.
8773
8774 * editfns.c (Ftranspose_regions): Use xfree instead of free.
8775
8776 * callproc.c (child_setup): Use xfree instead of free.
8777
8778 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
8779 instead of malloc.
8780 (run_mac_command, closedir): Use `xfree' instead of `free'.
8781
8782 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
8783
8784 * eval.c (error): Use xfree instead of free.
8785
1fd4c450
GM
8786 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
8787
8788 * fns.c: Replace `illegal' with `invalid'.
e49aa397 8789 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 8790
82d497fc
KH
87912000-08-05 Kenichi Handa <handa@etl.go.jp>
8792
8793 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
8794 conversion.
8795
59f953a2
NF
87962000-08-04 Noah Friedman <friedman@splode.com>
8797
8798 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
8799 docstring.
8800
688351f2
GM
88012000-08-04 Gerd Moellmann <gerd@gnu.org>
8802
8803 * syntax.c (skip_chars): Fix typo in error message.
8804
2dad51cc
AS
88052000-08-04 Andreas Schwab <schwab@suse.de>
8806
8807 * m/ia64.h: Moved from s/ia64.h.
8808
99bb2c60
KH
88092000-08-04 Kenichi Handa <handa@etl.go.jp>
8810
082a1df2
KH
8811 * process.c (read_process_output): Big simplification. Handle
8812 composition and post-read-conversion of coding system correctly.
8813 (send_process): Handle composition correctly.
8814
8815 * callproc.c (Fcall_process): Handle post-read-conversion of
8816 coding system if any.
8817
99bb2c60
KH
8818 * coding.c (decode_coding_iso2022): More strict check for handling
8819 single shifting.
082a1df2
KH
8820 (coding_restore_composition): Pay attention to the case that
8821 cmp_data is not set properly (because of invalid code in the
8822 source text).
8823 (run_pre_post_conversion_on_str): Include text properties in the
8824 resulting string.
8825 (decode_coding_string): Set members of coding correctly.
99bb2c60 8826
f4988be7
GM
88272000-08-03 Gerd Moellmann <gerd@gnu.org>
8828
8829 * s/ia64.h: New file.
8830
8831 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
8832 Use NULL instead of 0 at the end of variable argument list of
8833 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
8834 sizeof (int) < sizeof (void *).
8835
8836 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
8837 of variable argument lists of XtVaGetValues and XtVaSetValues.
8838
8839 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
8840 variable argument lists of XtVaGetValues and XtVaSetValues.
8841
ead53494
GM
88422000-08-02 Gerd Moellmann <gerd@gnu.org>
8843
8844 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
8845 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
8846
8847 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
8848 prototype.
8849
8850 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
8851 in call to Fsingle_key_description.
8852
8853 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
8854 Callers changed.
8855
88562000-08-02 Colin Walters <walters@cis.ohio-state.edu>
8857
8858 * window.c (display_buffer_reuse_frames): New variable.
8859 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
8860 frames displaying BUFFER.
52283633 8861 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 8862
10b0f752
MB
88632000-08-01 Miles Bader <miles@gnu.org>
8864
8865 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
8866 when to constrain NEW_POS (they were pretty screwed up before).
8867
16425c4a
EZ
88682000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
8869
8870 * msdos.c (run_msdos_command): Save and restore the master
8871 environment, for the case that child_setup signals an error.
8872 When mirroring slashes in DOS shell commands, don't fail when
8873 argv[2] has embedded blanks.
da288c14
EZ
8874 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
8875 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
8876 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
8877
8878 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
8879 using alloca; free it after run_msdos_command returns.
8880
27f73852
DL
88812000-07-27 Dave Love <fx@gnu.org>
8882
52283633
SM
8883 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
8884 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
8885
8886 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
8887
c0261b5e
EZ
88882000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
8889
8890 * editfns.c (lisp_time_argument): Fix last change.
8891
b548072f
GM
88922000-07-27 Gerd Moellmann <gerd@gnu.org>
8893
3ab82477
GM
8894 * fns.c (Fdelete): Make it work on vectors and strings in addition
8895 to lists.
8896
b548072f
GM
8897 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
8898 (syms_of_fns): Initialize new variables.
52283633 8899 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
8900 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
8901 weakness, with t meaning the same as `key-and-value'.
8902
91ae8751
KH
89032000-07-27 Kenichi Handa <handa@etl.go.jp>
8904
8905 * coding.h (struct coding_system): Member safe_charset deleted.
8906
8907 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
8908 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
8909 New variables.
91ae8751
KH
8910 (coding_safe_chars): New function.
8911 (CODING_SAFE_CHAR_P): New macro.
8912 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 8913 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
8914 (detect_coding_iso2022): New local variable safe_chars.
8915 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
8916 safe_charsets member of the coding system.
8917 (decode_coding_iso2022): New local variable safe_chars.
8918 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
8919 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
8920 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
8921 (ENCODE_UNSAFE_CHARACTER): New macro.
8922 (encode_coding_iso2022): New local variable safe_chars. Check
8923 unsafe chars.
8924 (setup_coding_system): Delete the code to initialize
8925 coding->safe_charses
8926 (intersection, find_safe_codings): New functions.
8927 (Ffind_coding_systems_region_internal): New function.
8928 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
8929 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
8930 variable and initialize it.
8931
8932 * fns.c (char_table_ref_and_index): New function.
8933
8934 * lisp.h (char_table_ref_and_index): Add prototype.
8935
34a7a267
SS
89362000-07-26 Sam Steingold <sds@gnu.org>
8937
8938 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 8939 (Ffloat_time): New built-in Lisp function.
34a7a267 8940
a95cb10a
GM
89412000-07-26 Gerd Moellmann <gerd@gnu.org>
8942
3353ef5a
GM
8943 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
8944 for the character code.
8945
8946 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
8947 GNU/Linux.
8948
a95cb10a
GM
8949 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
8950 if called for a popup menu.
8951 (xmenu_show): Store help string in widget values.
8952
b4a12321
DL
89532000-07-26 Dave Love <fx@gnu.org>
8954
8955 * syswait.h: Move some definitions.
8956 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
8957 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
8958 perspicuous definitions.
8959 (WTERMSIG): Fix bit pattern used.
8960
13f5ad37
KH
89612000-07-26 Kenichi Handa <handa@etl.go.jp>
8962
8963 * print.c (print_object): If vector printing is truncated, print
8964 "..." to indicate it as well as the case of list printing.
8965
070fe99c
GM
89662000-07-25 Gerd Moellmann <gerd@gnu.org>
8967
969065c3
GM
8968 * xdisp.c (next_element_from_display_vector): Improve comments.
8969
8970 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
8971 for the character code, and the rest for the face id as in 20.x.
8972 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
8973
8974 * window.c (window_display_table): Cleaned up.
8975
070fe99c
GM
8976 * syntax.c (Fforward_word): Add last arg nil in call of
8977 Fconstrain_to_field.
8978
bad77ef7
EZ
89792000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
8980
969065c3 8981 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
8982 identical but for the letter-case, don't call
8983 barf_or_query_if_file_exists.
bad77ef7 8984
c28da489
MB
89852000-07-25 Miles Bader <miles@gnu.org>
8986
8987 * editfns.c (find_field): Honor special `boundary' fields.
8988 (Qboundary): New variables.
8989 (syms_of_editfns): Initialize Qboundary.
8990 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
8991 Use scan_buffer instead of find_before_next_newline, because it
8992 allows us to detect the boundary case where there's a newline at
8993 the search limit.
8994 * lisp.h (Fconstrain_to_field): Update external declaration.
8995
e3c31fd5
GM
89962000-07-24 Gerd Moellmann <gerd@gnu.org>
8997
8998 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
8999 if that is nil.
c28da489 9000
c66c29a2
DL
90012000-07-24 Dave Love <fx@gnu.org>
9002
9003 * s/sunos4-0.h, s/sol2.h:
9004 (LIBS_TERMCAP): Move from m/sparc.h.
9005
9006 * m/sparc.h (TERMINFO): Moved to system files (probably only
9007 relevant for sunos4 judging by its vintage).
9008 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
9009 __arch64__.
9010
fbe0a958
EZ
90112000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
9012
9013 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
9014 name to single_keymap_panes.
9015
7d88e5c9
AS
90162000-07-24 Andreas Schwab <schwab@suse.de>
9017
9018 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
9019
e024b101
GM
90202000-07-24 Gerd Moellmann <gerd@gnu.org>
9021
9022 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
9023 parameters instead of using int parameters. Expect FN to accept
9024 EMACS_INT parameters.
9025 (display_echo_area, resize_echo_area_axactly, current_message)
9026 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
9027 with new argument list.
9028 (resize_mini_window_1): New callback function.
9029 (current_message_1, truncate_message_1, set_message_1): Change
52283633 9030 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 9031
25c1a9ce
KH
90322000-07-24 Kenichi Handa <handa@etl.go.jp>
9033
9034 * fontset.c (fontset_ref): Remove INLINE declaration.
9035 (fontset_ref_via_base): Likewise.
9036 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
9037 to downcase.
9038
7f987ac0
EZ
90392000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
9040
9041 * msdos.c (IT_note_mouse_highlight): Process overlays in the
9042 correct order of priority. If help echo was found in an overlay,
9043 use that overlay as the object in which the help echo was found.
9044
e2db3069
MB
90452000-07-22 Miles Bader <miles@gnu.org>
9046
9047 * textprop.c (Fprevious_single_char_property_change): The initial
9048 property value should be from the position preceding POSITION, not
9049 following it.
9050
5e3203e4
EZ
90512000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
9052
9053 * coding.c (syms_of_coding): Doc fix for
9054 inhibit-iso-escape-detection.
9055
62145073
GM
90562000-07-21 Gerd Moellmann <gerd@gnu.org>
9057
c20aeb83
GM
9058 * xterm.c (note_mouse_highlight): Process overlays in the right
9059 order of priority.
34a7a267 9060
743934db
GM
9061 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
9062
9063 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 9064 overlay, use that overlay as the object in which the help was found.
743934db 9065
d1dc7e43 9066 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 9067
62145073
GM
9068 * window.c (foreach_window): Instead of a fake variable argument
9069 list, take one USER_DATA argument.
9070 (foreach_window_1): Likewise, and call callback functions with two
9071 args, the window and USER_DATA.
9072 (struct check_window_data): New struct.
9073 (check_window_containing): Use it.
9074 (window_from_coordinates): Set up a struct check_window_data for
9075 foreach_window.
9076 (add_window_to_list, freeze_window_start): Change parameters
9077 according to new calling convention.
9078
9079 * window.h (foreach_window): Change prototype.
9080
9081 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
9082
90832000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
9084
9085 * xmenu.c (menu_help_callback): Call show_help_echo with
9086 additional arguments OBJECT and POS.
9087
11270583
KH
90882000-07-21 Kenichi Handa <handa@etl.go.jp>
9089
07b14857
KH
9090 * data.c (Faset): Allow storing any multibyte character in a
9091 string. Convert unibyte string to multibyte if necessary.
9092
11270583
KH
9093 * xfns.c (x_encode_text): New function.
9094 (x_set_name): Use x_encode_text.
9095 (x_set_title): Likewise.
9096
9097 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
9098
9099 * xterm.h (x_encode_text): Add prototype.
9100
bc75b4fd
DL
91012000-07-20 Dave Love <fx@gnu.org>
9102
9103 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
9104 xfree, not free.
9105
48c14970
EZ
91062000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
9107
9108 * msdos.c (help_echo_window): New variable.
9109 (syms_of_msdos): Initialize and staticpro it.
9110 (IT_note_mode_line_highlight): Set help_echo_window.
9111 (IT_note_mouse_highlight): Ditto.
9112 (dos_rawgetc): Store help_echo_window in the second event produced
9113 for HELP_EVENTs.
9114
9115 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
9116 Record the object that generated the help echo and the position of
9117 that object in help_echo_object and help_echo_pos. Record that
9118 some glyphs in a row are displayed in mouse-face.
9119 (IT_update_begin): Don't clear mouse highlight unless one of the
9120 enabled glyph rows is marked as being displayed in mouse-face.
9121 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
9122 and position recorded in help_echo_object and help_echo_pos to the
9123 event queue.
9124 (IT_menu_display): Accept a new argument PN: the pane number of
9125 the current menu pane. Record the pane number and the item
9126 number of the item which has associated help string.
9127 (XMenuActivate): Update the prototype for help_callback in
9128 function declaration. Call IT_menu_display with the current menu
9129 pane number as an additional argument. Call help_callback with
9130 two additional arguments: the pane number and the item number of
9131 the menu item associated with the help text.
9132 (help_echo_object, help_echo_pos): New variables.
9133 (syms_of_msdos): Initialize them and staticpro help_echo_object.
9134
9135 * msdos.h (XMenuActivate): Update prototype.
9136
4279296d
GM
91372000-07-19 Gerd Moellmann <gerd@gnu.org>
9138
47db06aa
GM
9139 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
9140 Add some more prototypes.
9141
9142 * xterm.c, xterm.h: Add some more prototypes.
9143
9144 * lisp.h (Fnext_single_char_property_change): Add prototype.
9145
9146 * dispnew.c (direct_output_for_insert): Remove confusing
9147 outer local variable mouse_face_overwritten_p.
9148 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
9149
4279296d
GM
9150 * alloc.c (allocate_string_data): Don't copy old string contents.
9151
670acd62
KH
91522000-07-19 Kenichi Handa <handa@etl.go.jp>
9153
9154 * coding.c (code_convert_region): Delete text properties before
9155 shrinking the conversion region.
9156
7cea38bc
GM
91572000-07-18 Gerd Moellmann <gerd@gnu.org>
9158
dc1cac59
GM
9159 * dispnew.c (update_text_area): Write the whole row if it
9160 has mouse-face in it.
9161
85a8aca9
GM
9162 * xfaces.c (face-alternative-font-family-alist): Remove
9163 DEFVAR_LISP; staticpro instead.
9164
34a7a267 9165 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
9166 new arguments.
9167
9168 * keyboard.c (show_help_echo): Add parameter WINDOW.
9169 (read_char): Call show_help_echo with window extracted from Lisp
9170 help event.
9171 (gen_help_event): Add parameter WINDOW.
9172
9173 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
9174
9175 * xterm.c (help_echo_window): New variable.
52283633 9176 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
9177 (XTread_socket): Pass help_echo_window to gen_help_event.
9178 (syms_of_xterm): Initialize and staticpro help_echo_window.
9179
f8276b77
DL
91802000-07-18 Dave Love <fx@gnu.org>
9181
52283633 9182 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 9183
088831a6
GM
91842000-07-18 Gerd Moellmann <gerd@gnu.org>
9185
3d6cd763
GM
9186 * alloc.c (allocate_string_data): If string had already data
9187 assigned, copy old contents to new string data.
9188
9189 * coding.c (syms_of_coding): Fix typo in spelling of variable
9190 `inhibit-iso-escape-detection'.
9191
088831a6
GM
9192 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
9193
9194 * Makefile.in: Add dependencies on dispextern.h.
9195 (alloca.o): Don't define malloc and define EMACS_FREE instead of
9196 `free'; both can conflict with system header files.
9197
bc8a8d55
KH
91982000-07-18 Kenichi Handa <handa@etl.go.jp>
9199
9200 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
9201 undefined.
9202
069f5950
DL
92032000-07-18 Dave Love <fx@gnu.org>
9204
9205 * window.c (Fwindow_list): Declare arg `window'.
9206
aa96c820
KH
92072000-07-18 Kenichi Handa <handa@etl.go.jp>
9208
9209 * coding.c (setup_coding_system): Don't override the explicitly
9210 specified designations.
9211
06be8d32
MB
92122000-07-15 Miles Bader <miles@gnu.org>
9213
9214 * editfns.c (char_property_eq, char_property_stickiness): Renamed
9215 from `text_property_eq' and `text_property_stickiness', respectively.
9216 (find_field, Fconstrain_to_field, char_property_eq)
9217 (char_property_stickiness): Changed to call char-property functions
9218 instead of text-property-only ones.
9219
9220 * textprop.c (Fnext_single_char_property_change): Made a subr (was
9221 `next_single_char_property_change'). Do more error checking, and
9222 cleanup limit behavior.
9223 (Fprevious_single_char_property_change): New function.
9224 (syms_of_textprop): Initialize new subrs.
9225
9226 * xdisp.c (display_prop_end, invisible_text_between_p):
9227 Call Fnext_single_char_property_change instead of
9228 next_single_char_property_change.
9229
3fddcdc3
JR
92302000-07-15 Jason Rumney <jasonr@gnu.org>
9231
9232 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
9233 after menu is finished with.
9234 (add_menu_item): Only consider wv->title as a menu title.
9235 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
9236
9237 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
9238 null title.
9239 (FONT_REGEXP): Remove unused macro, and its sub-components.
9240 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
9241
9242 * w32term.c (help_echo_object, help_echo_pos): New variables.
9243 (note_mode_line_highlight): Store additional information about the
9244 help-echo in help_echo_object and help_echo_pos. Check both
9245 `local-map' and `keymap' properties for changing the cursor
9246 (note_mouse_highlight): Store additional information about the
9247 help-echo in help_echo_object and help_echo_pos.
9248 (note_tool_bar_highlight): Set help_echo_object to nil and
9249 help_echo_pos to -1.
9250 (w32_read_socket): Use gen_help_event instead of filling
9251 input_events manually.
9252 (syms_of_w32term): Staticpro help_echo_object.
9253 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 9254 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
9255 (x_clear_mouse_face): New function.
9256 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
9257 (x_update_window_begin): No need to turn off the mouse
9258 highlight here.
9259 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9260 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
9261 (x_fill_stretch_glyph_string): Consume runs of stretch
9262 glyphs instead of a single one.
9263 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9264 with new argument list.
9265 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9266 (x_append_glyph, x_append_composite_glyph)
9267 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9268 changes in struct glyph starting 1999-12-27. See comments for
9269 xterm.c on 2000-07-05.
9270
178c5d9c
SS
92712000-07-14 Sam Steingold <sds@gnu.org>
9272
9273 * xfaces.c (realize_x_face): Fix the last patch:
9274 check `default_face' before dereferencing.
9275
6fe533f6
DL
92762000-07-14 Dave Love <fx@gnu.org>
9277
069f5950 9278 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 9279
dd7b81cf
KH
92802000-07-14 Kenichi Handa <handa@etl.go.jp>
9281
0693904a 9282 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 9283 default_face's fontset, not using the default fontset.
0693904a 9284
dd7b81cf
KH
9285 * coding.c (inhibit_iso_escape_detection): New variable.
9286 (syms_of_coding): Make it a Lisp variable.
9287 (detect_coding_iso2022): If inhibit_iso_escape_detection is
9288 nonzero, ignore ISO2022's escape sequence.
9289
d5aa31d8
GM
92902000-07-14 Gerd Moellmann <gerd@gnu.org>
9291
e5acf0ca
GM
9292 * alloca.c (malloc) [emacs]: Define as xmalloc.
9293
bd23a692
GM
9294 * xfns.c (Fx_show_tip): If frame parameters contain a position,
9295 use that instead of the mouse position. Add parameters DX and DY.
9296
9297 * dispextern.h (Fx_show_tip): Adjust number of parameters
9298 in prototype.
9299
9662da0b
GM
9300 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
9301 if HELP is a function, call it with OBJECT and POS as parameters
9302 to get the help to display.
9303 (gen_help_event, kbd_buffer_store_help_event): New functions.
9304 (kbd_buffer_get_event): Construct the Lisp help-event differently.
9305 (read_char): Call show_help_echo with new parameters.
9306
178c5d9c 9307 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
9308 Add prototypes.
9309
9310 * xterm.c (help_echo_object, help_echo_pos): New variables.
9311 (note_mode_line_highlight): Store additional information about the
9312 help-echo in help_echo_object and help_echo_pos. Check both
9313 `local-map' and `keymap' properties for changing the cursor
9314 (note_mouse_highlight): Store additional information about the
9315 help-echo in help_echo_object and help_echo_pos.
9316 (note_tool_bar_highlight): Set help_echo_object to nil and
9317 help_echo_pos to -1.
9318 (XTread_socket): Use gen_help_event instead of filling
9319 input_events manually.
9320 (syms_of_xterm): Staticpro help_echo_object.
9321
9322 * xmenu.c (menu_highlight_callback): Use
9323 kbd_buffer_store_help_event instead of setting up and input_event
9324 structure manually.
9325
9326 * xdisp.c (eval_form): GCPRO argument sexpr.
9327 (call_function): New function.
9328 (handle_single_display_prop): Use call_function and FUNCTIONP
9329 instead of checking whether if font_height is a symbol and
9330 using eval_form.
9331
9332 * eval.c (internal_condition_case_2): New function.
9333
9334 * lisp.h (FUNCTIONP): New macro.
9335 (internal_condition_case_2, call_function): Add prototypes.
9336
d5aa31d8
GM
9337 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
9338 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
9339 Always set `arg' member of input_events.
9340 (construct_menu_click): Unused function removed.
9341
9342 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
9343
9344 * w32term.c (construct_mouse_click, construct_mouse_wheel)
9345 (construct_drag_n_drop, x_scroll_bar_handle_click)
9346 (w32_read_socket): Always set `arg' member of input_events.
9347
9348 * keyboard.c (show_help_echo): Use eval_form. Add comment.
9349
9350 * lisp.h (eval_form): Add prototype.
9351
9352 * xdisp.c (eval_form): Make it externally visible.
9353
0f1a9b23
GM
93542000-07-13 Gerd Moellmann <gerd@gnu.org>
9355
9356 * xterm.c (x_handle_tool_bar_click): Store the frame in the
9357 frame_or_window slot of TOOL_BAR_EVENT input events instead of
9358 consing. For prefix events, store the frame in the `arg' slot of
9359 the event, otherwise store the key there.
9360 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 9361 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
9362
9363 * xmenu.c (menu_highlight_callback): Store help string in the
9364 `arg' member of the input event; don't cons.
9365 (menubar_selection_callback): Use the `arg' slot of input events
9366 to queue additional information, instead of consing.
9367
9368 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
9369
9370 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
9371 TOOL_BAR_EVENTs.
9372 (w32_read_socket): Adapt to changes in HELP_EVENTs.
9373
9374 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
9375 input events to queue additional information, instead of consing.
9376
9377 * keyboard.c (kbd_buffer_gcpro): Renamed from
9378 kbd_buffer_frame_or_window. Now used for all Lisp objects
9379 referenced from the input queue.
9380 (kbd_buffer_store_event): Always use structure assignment for
9381 copying input events. Record all Lisp objects referenced from
9382 events in kbd_buffer_gcpro.
9383 (kbd_buffer_get_event): Construct Lisp `help-echo' events
9384 differently from input events. Test for prefix menu_bar_events
9385 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
9386 event in kbd_buffer_gcpro to nil.
9387 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
9388 frame_or_window is equal to its arg member as prefix events.
9389 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
9390 used by an input event to nil.
9391 (init_keyboard): Use two times the size of the input queue
9392 for kbd_buffer_gcpro.
9393 (syms_of_keyboard): Likewise.
9394
52283633
SM
9395 * emacs.c (handle_USR2_signal, handle_USR1_signal):
9396 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
9397
9398 * termhooks.h (struct input_event): Add member `arg'.
9399 (MENU_BAR_EVENT): Renamed from menu_bar_event.
9400 (USER_SIGNAL_EVENT): Renamed from user_signal.
9401
9402 * xfaces.c (ASET): Remove definition.
9403
9404 * lisp.h (AREF, ASET, ASIZE): New macros.
9405
9406 * fontset.c (AREF, ASIZE): Remove definitions.
9407
9408 * fns.c (AREF): Remove definition.
178c5d9c 9409
0f1a9b23
GM
9410 * composite.c (AREF): Remove definition.
9411
712eaef2
GM
94122000-07-12 Gerd Moellmann <gerd@gnu.org>
9413
d8ee7803
GM
9414 * dispnew.c (redraw_overlapped_rows): Add missing local.
9415 (scrolling_window): Remove debug code.
9416
712eaef2
GM
9417 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
9418 Before scrolling, turn off a mouse-highlight in the window
9419 being scrolled.
9420
9421 * xterm.c (x_update_window_end): Add parameter
9422 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
9423 redisplay in XTframe_up_to_date.
9424 (x_clear_mouse_face): New function.
9425 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
9426
9427 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
9428 current glyph row.
9429 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
9430 it when any row is written to that contains glyphs highlighted in
9431 mouse-face.
9432 (update_window): Call the window update end hook with new
9433 parameter MOUSE_FACE_OVERWRITTEN_P.
9434 (direct_output_for_insert): Give up if row contains mouse-face.
9435
9436 * dispextern.h (struct redisplay_interface): Add parameter
9437 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
9438 (clear_mouse_face): New function pointer member.
9439
02010917
SM
94402000-07-11 Stefan Monnier <monnier@cs.yale.edu>
9441
9442 * syntax.c (back_comment): Use one switch rather than a few `if's.
9443 Obey open_paren_in_column_0_is_defun_start.
9444 When reverting to the `slow' method, try to nicely handle the case
9445 of nested comments by checking that the comment-starter we found
9446 does indeed match the comment-ender.
9447 (scan_sexps_forward, scan_sexps_forward):
9448 Ignore excessive opening parenthesis rather than throwing an error.
9449
d76c03ea
GM
94502000-07-11 Gerd Moellmann <gerd@gnu.org>
9451
9452 * doc.c (Fsubstitute_command_keys): Handle case that a GC
9453 in Fwhere_is_internal or get_keymap_1 relocates string contents.
9454
9455 * dispnew.c (direct_output_forward_char): Give up if currently
9456 displaying a message instead of the minibuffer contents.
9457
9458 * xterm.c (x_update_window_begin): No need to turn off the mouse
9459 highlight here.
9460 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9461 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
9462
9463 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
9464 compare the mouse_face_p flags of both rows.
9465
9466 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
9467
d55ead18
EZ
94682000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
9469
9470 * keyboard.c (show_help_echo): Accept additional parameter
9471 ok_to_overwrite_keystroke_echo.
9472 (read_char): Call show_help_echo with a zero
9473 ok_to_overwrite_keystroke_echo argument.
52283633 9474 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
9475 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
9476 ok_to_overwrite_keystroke_echo argument.
9477 * w32menu.c (w32_menu_display_help): Call show_help_echo with
9478 non-zero ok_to_overwrite_keystroke_echo argument.
9479
df75b1a3
GM
94802000-07-10 Gerd Moellmann <gerd@gnu.org>
9481
4b92c49a
GM
9482 * xdisp.c (try_window_id): If changes are all below what is
9483 displayed in the window, and point is in the window, we still
9484 might have to find point on the display.
9485
9486 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
9487 glyphs instead of a single one.
9488 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9489 with new argument list.
9490 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9491
df75b1a3
GM
9492 * keymap.c (get_keymap_1): Add comment that this function can GC.
9493 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
9494 comment that functions can GC.
9495 (Fset_keymap_parent): GCPRO arg KEYMAP.
9496
4314cf3e
EZ
94972000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
9498
9499 * msdos.c (XMenuActivate): After exiting the menu, restore the
9500 echo area message and erase it.
9501
ab49ce15
KH
95022000-07-10 Kenichi Handa <handa@etl.go.jp>
9503
9504 * fontset.c (Ffontset_info): Make the return value more compatible
9505 with that of Emacs 20.
9506
090a072f
GM
95072000-07-07 Gerd Moellmann <gerd@gnu.org>
9508
9509 * eval.c (Fsignal): Handle case that backtrace_list is null.
9510
f92de4a6
KH
95112000-07-07 Kenichi Handa <handa@etl.go.jp>
9512
9513 * ccl.c (Fccl_execute): Typo fixed.
9514
dd8888a1
GM
95152000-07-06 Gerd Moellmann <gerd@gnu.org>
9516
e5c81191 9517 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 9518
dd8888a1
GM
9519 * window.c (Fwindow_list): Reverse list at the end.
9520 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
9521 means allow windows on OWINDOW's frame, only.
9522 (window_loop): Simplified; use Fwindow_list.
9523
9524 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
9525
485266d0
GM
95262000-07-05 Gerd Moellmann <gerd@gnu.org>
9527
9528 * xterm.c (XTread_socket): Increment handling_signal at the start,
9529 decrement it at the end.
9530
9531 * eval.c (handling_signal): New variable.
9532 (Fsignal): Abort if handling_signal is non-zero.
9533
9534 * lisp.h (handling_signal): External declaration.
178c5d9c 9535
485266d0
GM
9536 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
9537
80fcd514
KR
95382000-07-05 Ken Raeburn <raeburn@gnu.org>
9539
9540 Sound support for NetBSD through "Linux emulation" support:
9541 * config.in (HAVE_SOUNDCARD_H): Undef.
9542 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
9543 * Makefile.in (LIBSOUND): New variable.
9544 (LIBES): Include it.
52283633
SM
9545 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
9546 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
9547 (vox_open): Use DEFAULT_SOUND_DEVICE.
9548 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
9549
d5c5cddd
GM
95502000-07-05 Gerd Moellmann <gerd@gnu.org>
9551
9552 * print.c (print_error_message): If Vsignaling_function is set,
9553 show it in *Messages*.
9554
9555 * lisp.h (Vsignaling_function): External declaration.
9556
9557 * eval.c (Vsignaling_function): New variable.
9558 (Fsignal): Compute it.
9559 (syms_of_eval): Staticpro it.
9560
65171e3a
DL
95612000-07-05 Dave Love <fx@gnu.org>
9562
9563 * syswait.h: Use the autoconf recommended approach. Old code
9564 #if'd out in case we need to revert.
9565
178c5d9c 9566 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 9567
e2c46326
AI
95682000-07-05 Andrew Innes <andrewi@gnu.org>
9569
9570 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
9571 when non-NULL instead of __morecore, to take account of buffer
9572 memory. This also solves a problem with spurious memory warnings
9573 on Windows.
9574
9575 * ralloc.c: Make real_morecore non-static.
9576
9577 * eval.c (internal_condition_case): Comment out abort if
9578 interrupt_input_blocked is not zero.
9579
9580 * makefile.nt: Add support for `bootstrap' and related targets.
9581 Include minimal debug info in emacs.exe in release build.
9582 Remove all dependencies on lisp.h, and fixup some others.
9583
9584 * w32.c (init_environment): Install code from 20.7 for providing
9585 default values for environment variables, based on the
9586 executable's own location.
52283633 9587 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
9588 (sys_socket): Install socket inheritance bug fix from 20.7.
9589
9590 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
9591 here via blockinput.h).
9592
a027a91b
SM
95932000-07-05 Stefan Monnier <monnier@cs.yale.edu>
9594
e4b31601
SM
9595 * w32menu.c (w32_menu_display_help):
9596 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
9597
9598 * keyboard.h (show_help_echo): Declare.
9599
9600 * keyboard.c (show_help_echo): New function, extracted from read_char.
9601 Feval its `msg' argument if it's a cons cell.
9602 (read_char): Use it.
4cf8d9d5 9603 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 9604
178c5d9c 9605 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 9606 (note_tool_bar_highlight, XTread_socket):
178c5d9c 9607 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
9608 (dos_rawgetc):
9609 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
9610 (note_tool_bar_highlight, w32_read_socket):
9611 Do not gratuitously ignore non-string `help-echo' properties.
9612
88d75730
GM
96132000-07-05 Gerd Moellmann <gerd@gnu.org>
9614
969f7e79
GM
9615 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
9616
71201b00
GM
9617 * window.c (delete_all_subwindows): Reset Vwindow_list.
9618
88d75730
GM
9619 * xterm.c (x_append_glyph, x_append_composite_glyph)
9620 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9621 changes in struct glyph starting 1999-12-27. Some bit-fields of
9622 struct glyph were not set, which made glyphs unequal when compared
9623 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
9624 effects were the result. This also depended on the contents of
9625 memory returned by xmalloc. If flickering happens again, activate
9626 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 9627 gone with that, chances are that it is caused by something similar.
88d75730
GM
9628
9629 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 9630
88d75730
GM
9631 * dispextern.h: Add some comments.
9632
9633 * window.c (add_window_to_list): Add parameter LIST.
9634 (window_list): Order list so that, for each frame, windows are
9635 in canonical order, and so that frames appear in the list in
9636 the order given by Vframe_list.
9637 (next_window): Reverse the handling of NEXT_P.
9638
53654733
GM
96392000-07-04 Gerd Moellmann <gerd@gnu.org>
9640
87efd256
GM
9641 * window.c (Vwindow_list): New variable.
9642 (make_window, delete_window): Set Vwindow_list to nil.
9643 (check_window_containing): New function.
9644 (window_from_coordinates): Rewritten.
9645 (add_window_to_list, window_list, candidate_window_p)
9646 (decode_next_window_args, next_window): New functions.
52283633 9647 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
9648 (Fwindow_list): New function.
9649 (Fother_window): Cleaned up.
9650 (foreach_window): Add a longer "variable argument list". Let
9651 callback function return 0 to indicate that cycling over windows
9652 should stop.
9653 (foreach_window_1): Likewise.
9654 (freeze_window_start): Return int.
9655 (init_window): New function.
9656 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
9657
9658 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
9659 input_event with bzero.
9660 (main): Call init_window.
9661
53654733
GM
9662 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
9663 a menu filter.
9664
4a8c194f
KH
96652000-07-04 Kenichi Handa <handa@etl.go.jp>
9666
9667 * composite.h (make_composition_value_copy): Extern it.
9668
9669 * composite.c (make_composition_value_copy): New function.
9670
9671 * editfns.c (Fformat): While copying text properties, make each
9672 composition property value a copy.
9673
9674 * fns.c (concat): While copying text properties, make each
9675 composition property value a copy.
9676
831a6cb0
GM
96772000-07-03 Gerd Moellmann <gerd@gnu.org>
9678
2f516940
GM
9679 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
9680
178c5d9c 9681 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
9682 marked already.
9683
831a6cb0
GM
9684 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
9685 include those frames as candidates which have their focus
9686 redirected to the minibuffer frame.
9687
d9c4f922
SM
96882000-07-03 Stefan Monnier <monnier@cs.yale.edu>
9689
9690 * fns.c (Fputhash): Return `value' rather than nil.
9691
3780bc22
GM
96922000-06-30 Gerd Moellmann <gerd@gnu.org>
9693
97d176db
GM
9694 * frame.c (next_frame): Don't check focus redirection in case
9695 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
9696 unless their focus is redirected, which contradicts the
9697 specification of next-frame, and leads to infinite loops in
9698 certain situations when cycling through windows with next-window.
9699
dca9961d
KH
97002000-06-30 Kenichi Handa <handa@etl.go.jp>
9701
9702 * coding.c (code_convert_region): Even if the length of text is
9703 zero, try to convert it if coding->type is coding_type_ccl.
9704 (decode_coding_string, encode_coding_string): Likewise.
9705
d5483ab1
GM
97062000-06-28 Gerd Moellmann <gerd@gnu.org>
9707
af5c25e1 9708 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 9709 the display if windows_or_buffers_changed.
af5c25e1
GM
9710
9711 * dispnew.c (struct row_entry): New structure.
9712 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
9713 (row_table_size, old_lines, new_lines, old_lines_size)
9714 (new_lines_size, run_pool, runs_size, runs): New variables.
9715 (add_row_entry): New function.
9716 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 9717 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
9718 holding them in local variables. Use a larger hash table whose
9719 size depends on glyph matrix sizes. Don't use bzero to clear the
9720 hash table; instead, clear used slots only.
9721
9722 * fns.c (next_almost_prime): Make it externally visible.
9723
9724 * lisp.h (next_almost_prime): Add prototype.
9725
d5483ab1
GM
9726 * s/isc4-0.h (sigunblock): Define.
9727
9728 * s/sco5.h (sigunblock): Define.
9729
93e40f40
DL
97302000-06-27 Dave Love <fx@gnu.org>
9731
9732 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
9733 (moved to osf5-0.h).
9734 [!NOT_C_CODE]: Protect string.h stuff.
9735
9736 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
9737 (sys_siglist, NSIG): Definitions moved here from osf1.h.
9738
3c4b7685
GM
97392000-06-27 Gerd Moellmann <gerd@gnu.org>
9740
97d176db 9741 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
9742 below the last line from the needed window height.
9743
32cad0aa
SM
97442000-06-26 Stefan Monnier <monnier@cs.yale.edu>
9745
9746 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
9747 (Fwidget_get): Use it.
9748 (syms_of_fns): Defsubr it.
9749
2c69ced2
GM
97502000-06-26 Gerd Moellmann <gerd@gnu.org>
9751
178c5d9c 9752 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
9753 display info for XIM.
9754 (xim_open_dpy): Likewise.
9755 (xim_close_dpy): Don't free the display info's XIM.
9756
9757 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
9758
9759 * config.in (USE_XIM): New define.
9760
3fc720e4
GM
9761 * keymap.c (get_keyelt): For menu-items containing a `:filter
9762 FILTER', apply FILTER to the menu-item's definition to get the
9763 real definition to use.
9764
9765 * lisp.h (QCfilter): External declaration.
9766
2c69ced2
GM
9767 * xfns.c (Fimage_size): New function.
9768 (syms_of_xfns): Defsubr it.
9769
f978b2a2
AS
97702000-06-26 Andreas Schwab <schwab@suse.de>
9771
9772 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
9773 Fstring_as_unibyte.
9774
94cc7892
DL
97752000-06-25 Dave Love <fx@gnu.org>
9776
52283633 9777 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
9778
9779 * Makefile.in (blockinput.h): Depend on atimer.h.
9780 (atimer.h): Depend on systime.h.
9781
52283633 9782 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 9783
52283633 9784 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
9785
9786 * lisp.h (swap_in_global_binding): Declare.
9787
b8c24556
KR
97882000-06-24 Ken Raeburn <raeburn@gnu.org>
9789
9790 * process.c (Fopen_network_stream): Turn off atimers for duration
9791 of call to connect. (Patch from Gerd.)
9792
8cf8560b
DL
97932000-06-23 Dave Love <fx@gnu.org>
9794
511c7541
DL
9795 * ralloc.c: Maybe include unistd.h
9796
8cf8560b
DL
9797 * emacs.c (setgrp): Undefine before defining.
9798 (malloc_warning, set_time_zone_rule, index): Prototype.
9799
9800 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
9801 HAVE_STRUCT_TIMEZONE.
9802
9803 * s/osf1.h: Move string.h hack here from alpha.h and make it
9804 conditional.
9805 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
9806 _XOPEN_SOURCE.
9807 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
9808 (SOCKLEN_TYPE): Don't define.
9809
9810 * m/alpha.h: Remove string.h hack.
9811
9812 * s/osf5-0.h: New file.
9813
9814 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
9815 include time.h, done by systime.h.
9816 [__FreeBSD__]: Remove redundant includes.
9817
3fc720e4 9818 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
9819 (delete_temp_file): Return Qnil to avoid warning.
9820
9821 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
9822
9823 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
9824 HAVE_X_WINDOWS.
9825
9826 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
9827
9828 * composite.h (compose_text): Declare.
9829
9830 * xterm.c: Don't include sys/types.h unconditionally. Don't
9831 protect its inclusion with !USG (following xmenu.c).
9832
ea055732
GM
98332000-06-23 Gerd Moellmann <gerd@gnu.org>
9834
9835 * xfns.c (x_create_tip_frame): Initialize frame's colors like
9836 in x_create_frame.
9837
74b01b80
EZ
98382000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
9839
9840 * coding.c (decode_eol_post_ccl): Special handling for undecided
9841 and inconsistent EOL types.
9842
64f3a166
GM
98432000-06-22 Gerd Moellmann <gerd@gnu.org>
9844
16cf31f7
GM
9845 * xrdb.c (x_load_resources): Add default resource for scroll bar's
9846 trough color and main window's background color.
9847
52283633 9848 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
9849
9850 * xterm.h (Xt_app_con): External declaration.
9851
9852 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 9853
486a103d
GM
9854 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
9855
64f3a166
GM
9856 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
9857 (handle_invisible_prop): Record the start of invisible text in
9858 it->add_overlay_start.
9859 (struct overlay_entry): Add member `overlay'.
9860 (handle_overlay_change): Simplify.
9861 (next_overlay_string): After having processed overlay strings at the
9862 end of the buffer, record that fact in
9863 it->overlay_strings_at_end_processed_p.
9864 (compare_overlay_entries): If before- and after-strings come
9865 from the same overlay, let before-strings come first.
9866 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
9867 (load_overlay_strings): Take it->add_overlay_start into account
9868 when adding overlay strings.
9869
9870 * dispextern.h (struct it): Add member add_overlay_start.
9871
bb746ea6
DL
98722000-06-22 Dave Love <fx@gnu.org>
9873
9874 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
9875
9876 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
9877
a8f573f3
KH
98782000-06-22 Kenichi Handa <handa@etl.go.jp>
9879
9880 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
9881 is greater than 0.
9882
9f2bbc92
DL
98832000-06-21 Dave Love <fx@gnu.org>
9884
178c5d9c 9885 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 9886
3ee5041c
SM
98872000-06-21 Stefan Monnier <monnier@cs.yale.edu>
9888
9889 * syntax.c (back_comment): Simplify string-parity counting (with
9890 the added benefit of handling multiple string-styles as long as
9891 they are not intertwined).
9892 Jump to the slow code as soon as a comment starter is found in
9893 a "string_lossage" position. Fixes the case: " /* " /* " */.
9894
4c343001
DL
98952000-06-21 Dave Love <fx@gnu.org>
9896
9897 * Makefile.in: Use GETLOADAVG_LIBS.
9898
9899 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
9900 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
9901
e6365855
SM
99022000-06-20 Stefan Monnier <monnier@cs.yale.edu>
9903
9904 * syntax.c (describe_syntax): Recognize the `n'estable bit.
9905 (Fforward_comment, scan_lists):
9906 Check the comstyle of single-char comment-starters.
9907 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
9908 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
9909 Check the comstyle of single-char comment-starters.
9910 Clarify control-flow around the Scomment case.
e6365855 9911
5700d2cc
DL
99122000-06-20 Dave Love <fx@gnu.org>
9913
d355bd8a
SM
9914 * fns.c (make_hash_table, maybe_resize_hash_table):
9915 Cast arg of next_almost_prime.
5700d2cc 9916
178c5d9c 9917 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
9918
9919 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
9920 and unistd.h.
9921
4a27bdfb
GM
99222000-06-20 Gerd Moellmann <gerd@gnu.org>
9923
a61d762c 9924 * keyboard.c (adjust_point_for_property): Check if display
52283633 9925 property should be treated as intangible by looking at its value.
a61d762c 9926
178c5d9c 9927 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
9928 (display_prop_intangible_p): New functions.
9929
9930 * dispextern.h (display_prop_intangible_p): Add prototype.
9931
9932 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 9933
4a27bdfb
GM
9934 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
9935 argument to sigprocmask.
9936
9937 * s/sco5.h (sigblock): Redefined to pass a pointer as second
9938 argument to sigprocmask.
9939
9940 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
9941 sigprocmask_set, and pass a pointer to it to sigprocmask.
9942
9943 * sysdep.c (sigprocmask_set): New variable.
9944
9945 * fileio.c (make_temp_name): Don't use `%s' in string passed to
9946 report_file_error.
9947
427ec082
SS
99482000-06-20 Sam Steingold <sds@gnu.org>
9949
9950 * xrdb.c: Don't declare xmalloc, xrealloc.
9951
8972fe79 99522000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
9953
9954 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
9955 (re_comp): Cast gettext return value to avoid complaints when
9956 !HAVE_LIBINTL.
9957
074b6efe
DL
99582000-06-20 Dave Love <fx@gnu.org>
9959
52283633 9960 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 9961
5700d2cc 9962 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 9963
d355bd8a 9964 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
9965
9966 * m/alpha.h: Don't declare xmalloc, xrealloc.
9967
0af4f205
DL
9968 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
9969
9970 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
9971
9972 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
9973
9974 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
9975 HAVE_GETWD.
9976
074b6efe
DL
9977 * keyboard.h (poll_for_input_1): Declare.
9978
9979 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
9980
9981 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
9982
9983 * doprnt.c: Don't declare xmalloc, xrealloc.
9984
9985 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
9986 (getenv, ctime, getwd): Removed.
9987 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
9988
9989 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
9990 x_set_tool_bar_lines.
9991
9992 * config.in: Add HAVE_GETWD. Move some definitions above
9993 machine/system includes.
9994
68a5e97b
KH
99952000-06-20 Kenichi Handa <handa@etl.go.jp>
9996
95417e1e
KH
9997 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
9998
68a5e97b
KH
9999 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
10000 contain information about ENCODING.
10001
10002 * fontset.c (FONTSET_ASCII): Use the first element of char table
10003 for an ASCII font, not defalt slot.
10004 (fontset_ref_via_base): If FONTSET doesn't contain information for
10005 C, try the default fontset.
10006 (make_fontset): Don't copy the default fontset.
10007 (fontset_font_pattern): Likewise.
10008 (accumulate_font_info): If ELT is nil, use the corresponding
10009 element in the default fontset.
10010
3b4fa1b2
DL
100112000-06-19 Dave Love <fx@gnu.org>
10012
943e731c
DL
10013 * syntax.c (Fparse_partial_sexp): Doc fix.
10014
10015 * regex.h: Test PROTOTYPES as well as __STDC__.
10016
3b4fa1b2
DL
10017 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
10018 errno, strerror. Put text after #endif in comment.
10019
52283633 10020 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
10021
10022 * xterm.c (x_frame_of_widget): Likewise.
10023
cdf0357b
GM
100242000-06-19 Gerd Moellmann <gerd@gnu.org>
10025
10026 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
10027 to Vfundamental_mode_abbrev_table.
10028
10029 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
10030 bogus objects are marked. This slows down GC by ~80 percent, but
10031 it might be worth trying when debugging GC-related problems.
10032 This feature requires conservative stack marking to be enabled.
10033
10034 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
10035 returns XLookupChars, reset `modifiers' to zero.
10036
998e9f8c
DL
100372000-06-19 Dave Love <fx@gnu.org>
10038
10039 * mktime.c: Unprotoized.
10040
18e21ce8 100412000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
10042
10043 * data.c (set_internal): If variable is frame-local,
10044 store the new value immediately into the frame parameter alist.
10045
140c4ac6
KR
100462000-06-19 Ken Raeburn <raeburn@gnu.org>
10047
14358466
KR
10048 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
10049 in the custom handler pointer.
10050
140c4ac6
KR
10051 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
10052 value, or checks for CHAR_META can fail when Lisp_Object is a
10053 union type.
10054 * keymap.c (get_keyelt): Likewise.
10055
10d7bf84
KH
100562000-06-19 Kenichi Handa <handa@etl.go.jp>
10057
10058 * ccl.h (struct ccl_program): New member eol_type.
10059 (struct ccl_spec): New member cr_carryover.
10060
10061 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
10062 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
10063
10064 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
10065 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
10066 (decode_eol_post_ccl): New function.
10067 (decode_coding): Don't detect EOL format here for CCL based coding
10068 systems.
10069 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
10070 decode_eol_post_ccl after running the CCL program.
10071 (code_convert_region): Don't detect EOL format here for CCL based
10072 coding systems.
10073 (decode_coding_string): Likewise.
10074
52e386c2
KR
100752000-06-18 Ken Raeburn <raeburn@gnu.org>
10076
10077 * charset.c (update_charset_table): Use XINT on "iso_final_char"
10078 when treating it as an integer.
10079
10080 * coding.h (encode_coding_string): Declare.
10081
10082 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
10083 it as an integer.
10084
10085 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
10086 "xkeymap" to avoid shadowing the "enum map_type" value that needs
10087 to be passed to get_local_map.
10088
10089 * sound.c (Fplay_sound): Don't call make_number on
10090 Frun_hook_with_args count argument.
10091
10092 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
10093 for lisp objects in X event structure data field, when lisp
10094 objects are represented with unions.
10095 (x_scroll_bar_to_input_event): Ditto.
10096
b357b9d4
KR
100972000-06-16 Ken Raeburn <raeburn@gnu.org>
10098
10099 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
10100 termination of string. Fix sense of test whether
10101 Vline_number_display_limit is an integer.
b357b9d4 10102
a871441d
GM
101032000-06-16 Gerd Moellmann <gerd@gnu.org>
10104
a9021acd
GM
10105 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
10106 only if HAVE_X_WINDOWS.
10107
6344985d
GM
10108 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
10109 of titles.
10110
427ec082 10111 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
10112 out of bounds.
10113
228b083e
EZ
101142000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
10115
10116 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
10117 of its headers.
10118
c25b53a2
KH
101192000-06-15 Kenichi Handa <handa@etl.go.jp>
10120
10121 * coding.c (decode_coding_emacs_mule): Always set src_base at the
10122 start of the while loop.
10123
a6981b11
GM
101242000-06-15 Gerd Moellmann <gerd@gnu.org>
10125
e9924e52
GM
10126 * atimer.c (alarm_signal_handler): Add forward declaration.
10127
a6981b11
GM
10128 * data.c (set_internal): Remove debug code.
10129
25fa6deb
GM
101302000-06-14 Gerd Moellmann <gerd@gnu.org>
10131
dce6b995
GM
10132 * Makefile.in (bootstrap-temacs): Add `-I../src'.
10133
9f817ea4
GM
10134 * unexec.c (toplevel) [COFF]: Include coff.h.
10135
10136 * s/lynxos.h: New file.
10137
10138 * keymap.c (Fsingle_key_description): Enclose function key and
10139 event symbol names in angle brackets.
10140
8a4e3c0c
GM
10141 * xdisp.c (setup_echo_area_for_printing): Call
10142 message_log_maybe_newline if message_buf_print is not set.
10143
10144 * print.c (printchar, strout): Don't check message_buf_print
427ec082 10145 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
10146 function does something useful even when message_buf_print is
10147 already set.
10148
52283633
SM
10149 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
10150 New variables.
25fa6deb
GM
10151 (ensure_echo_area_buffers): Initialize echo buffer's
10152 truncate lines setting to nil.
10153 (with_echo_area_buffer): Don't set the echo buffer's truncate
10154 lines setting here.
8a4e3c0c 10155 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
10156 of message_truncate_lines.
10157 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
10158 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
10159 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
10160
10161 * keyboard.c (read_char): Bind message-truncate-lines to t
10162 while displaying a help-echo.
10163
10164 * lisp.h (Qmessage_truncate_lines): External declaration.
10165
163dcff3
GM
101662000-06-13 Gerd Moellmann <gerd@gnu.org>
10167
1681ead6
GM
10168 * xdisp.c (Vline_number_display_limit): Renamed from
10169 line_number_display_limit.
10170 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
10171 Extend documentation string. Initialize
10172 Vline_number_display_limit to nil meaning no limit.
10173 (decode_mode_spec): Use Vline_number_display_limit with its new
10174 meaning.
10175
163dcff3
GM
10176 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
10177
18e21ce8 101782000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
10179
10180 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 10181
163dcff3
GM
10182 * xfns.c (x_set_frame_parameters): Comment fix.
10183
10184 * frame.c (store_frame_param): Call swap_in_global_binding if the
10185 variable's current binding was chosen based on this frame.
10186
10187 * data.c (swap_in_global_binding): New function.
10188
a704139d
EZ
101892000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10190
10191 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
10192 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
10193
9b6610db
EZ
101942000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10195
10196 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
10197
c68833d2
JR
101982000-06-12 Jason Rumney <jasonr@gnu.org>
10199
10200 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
10201
10202 * w32.h (EMACS_W32_H): Renamed from _NT_H_
10203
10204 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
10205
10206 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
10207
ed1056b3
GM
102082000-06-12 Gerd Moellmann <gerd@gnu.org>
10209
10210 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
10211 (syms_of_xfaces): Defsubr Sdump_colors.
10212 (x_free_colors): Don't treat b&w specially on default visual.
10213 (x_free_dpy_colors): New function.
10214 (free_face_colors): Don't check visual class; it's done
10215 in x_free_colors.
10216
10217 * xterm.c (x_frame_of_widget): New function.
10218 (x_alloc_nearest_color_for_widget): Use it.
10219 (x_copy_dpy_color): New function.
10220 (x_destroy_window): Free various colors.
10221
5050a2ef
KH
102222000-06-12 Kenichi Handa <handa@etl.go.jp>
10223
10224 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
10225
10226 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
10227
10228 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
10229
10230 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
10231
10232 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
10233
fb1b041d
DL
102342000-06-11 Dave Love <fx@gnu.org>
10235
10236 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
10237
ff96b5f4
EZ
102382000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
10239
10240 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
10241
db8eeecd
GM
102422000-06-11 Gerd Moellmann <gerd@gnu.org>
10243
ed1056b3 10244 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
10245 to `XEvent *'.
10246
49b71c5f
KH
102472000-06-10 Kenichi Handa <handa@etl.go.jp>
10248
c479bd55
KH
10249 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
10250 (regex_compile): Fix the code for handling the case of single byte
10251 char and multibyte char being mixed in a range within [...].
10252
ff6a65c2
KH
10253 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
10254 and dst_multibyte members of coding.
10255
49b71c5f
KH
10256 * charset.c (update_charset_table): Update the table
10257 bytes_by_char_head.
10258 (init_charset_once): Initialize elements of bytes_by_char_head to
10259 1 except for leading codes for private charases.
10260
10261 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 10262 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 10263
9e80b57d
KR
102642000-06-09 Ken Raeburn <raeburn@gnu.org>
10265
10266 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
10267 access the data it doesn't point to.
10268
f83fe4b4
GM
102692000-06-08 Gerd Moellmann <gerd@gnu.org>
10270
10271 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 10272 will be translated to a switch-frame event when reading the
f83fe4b4
GM
10273 event queue. This is necessary because Emacs otherwise won't
10274 perform a switch-frame to a new frame until some other event, for
10275 example a keystroke event, forces it to do so. This has various
10276 effects, one visible being that the cursor of a frame created with
10277 C-x 5 2 or switched to with a window manager key binding like
10278 A-TAB stays hollow because selected_window isn't on the newly
10279 focused frame until the switch-frame is performed.
10280
10281 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
10282 generating a switch-frame event if necessary.
10283
10284 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
10285
10286 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
10287 it's an integer.
10288
0890801b
KH
102892000-06-08 Kenichi Handa <handa@etl.go.jp>
10290
52283633 10291 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 10292
173cbca8
GM
102932000-06-07 Gerd Moellmann <gerd@gnu.org>
10294
3091c2a6
GM
10295 * window.c (displayed_window_lines): Take empty lines at
10296 the bottom of a window into account.
427ec082 10297
f38952fe
GM
10298 * window.c (displayed_window_lines): New function.
10299 (Fmove_to_window_line): Use displayed_window_lines to determine
10300 the number of lines to move, instead of using the window's height.
10301
10302 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
10303 to stop reading, even if the form read sets point to a different
10304 value when evaluated.
10305
427ec082 10306 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
10307 put the cursor.
10308
6ba6c818
KH
103092000-06-07 Kenichi Handa <handa@etl.go.jp>
10310
10311 * fileio.c (e_write): Free composition data if stored in
10312 coding->cmp_data.
10313
5f1aea9a
GM
103142000-06-06 Gerd Moellmann <gerd@gnu.org>
10315
666852af
GM
10316 * xdisp.c (display_line): Set row's and iterator's
10317 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
10318 Set cursor even if row ends in the middle of a character.
10319 (dump_glyph_row): Print values of new flags.
10320 (redisplay_window) <cursor movement in unchanged window>: When
10321 point has been moved forward, and PT is at the end of the cursor
10322 row, don't place the cursor in the next row if the cursor row ends
10323 in the middle of a character or at ZV.
10324
10325 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
10326 (struct glyph_row): Add starts_in_middle_of_char_p and
10327 ends_in_middle_of_char_p.
10328 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
10329 ends_in_middle_of_char_p flag.
10330 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
10331
d13f3e2e
GM
10332 * term.c (append_glyph): Revert change of 2000-06-06.
10333
10334 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
10335 padding glyph not fitting on line as whole character not
10336 fitting on line.
10337
5f1aea9a
GM
10338 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
10339 this isn't true for images with `:ascent 100'.
10340
10cda9b0
KH
103412000-06-06 Kenichi Handa <handa@etl.go.jp>
10342
ed00559d
KH
10343 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
10344 as modified if it is originally unmodified.
10345
10cda9b0
KH
10346 * term.c (encode_terminal_code): Change the way to check if
10347 terminal coding does any conversion.
10348 (append_glyph): Set glyph->pixel_width correctly.
10349
10350 * xdisp.c (display_line): While checking line continuation, pay
10351 attention to a padding glyph.
10352
1969fae2
GM
103532000-06-05 Gerd Moellmann <gerd@gnu.org>
10354
10355 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
10356
162ccef4
DL
103572000-06-05 Dave Love <fx@gnu.org>
10358
f19f32dd
DL
10359 * xdisp.c: Include fontset.h.
10360
10361 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
10362
10363 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10364
10365 * dispnew.c: Conditionally include term.h.
10366
10367 * coding.h: Declare code_convert_string_norecord.
10368
10369 * frame.h (struct frame): Use volatile unconditionally.
10370
10371 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
10372
10373 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
10374
10375 * systime.h: Protect against multiple inclusion.
10376 (timezone) [USG5_4]: Define as time_t.
10377
10378 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10379 (Foptimize_char_table, make_temp_name): Declare.
10380
10381 * Makefile.in (xdisp.o): Depend on fontset.h.
10382
10383 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10384
10385 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10386 (Foptimize_char_table, make_temp_name): Declare.
10387
427ec082 10388 * s/irix4-0.h:
162ccef4
DL
10389 * s/irix5-0.h:
10390 * s/netbsd.h: Don't define autoconfiscated MATHERR.
10391
2082fe81
DL
103922000-06-02 Dave Love <fx@gnu.org>
10393
10394 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
10395
dcf671d2
GM
103962000-06-02 Gerd Moellmann <gerd@gnu.org>
10397
10398 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 10399 result face, set flags in that face indicating that colors may not
dcf671d2
GM
10400 be freed.
10401
10402 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
10403 glyph, use the ASCII NUL character to determine the face.
10404
d42122a3
DL
104052000-06-02 Dave Love <fx@gnu.org>
10406
10407 * sysdep.c: Conditionally include stdlib.h, unistd.h.
10408 (VFORK_RETURN_TYPE): Remove.
427ec082 10409
d42122a3
DL
10410 * config.in: Add NO_MATHERR.
10411
dd432f16
DL
104122000-06-01 Dave Love <fx@gnu.org>
10413
90aa4ea8
DL
10414 * cmds.c (internal_self_insert): Don't check
10415 Vbefore_change_function, Vafter_change_function.
10416
10417 * insdel.c (signal_before_change, signal_after_change): Likewise.
10418
10419 * buffer.c (Vbefore_change_function, Vafter_change_function):
10420 Variables and their initializations deleted.
10421
2330c9d4
DL
10422 * callint.c (Fcall_interactively): Doc fix.
10423
dd432f16
DL
10424 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
10425
bf9e8804
DL
104262000-05-31 Dave Love <fx@gnu.org>
10427
10428 * textprop.c: Revert last change -- duplicated.
10429
3694b4ab
GM
104302000-05-31 Gerd Moellmann <gerd@gnu.org>
10431
10432 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
10433 in #if 0.
10434
10435 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
10436
f14156cd
JR
104372000-05-31 Jason Rumney <jasonr@gnu.org>
10438
8119aab8
JR
10439 * search.c (Fre_search_forward, Fre_search_backward)
10440 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
10441
f14156cd
JR
10442 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
10443
4aab9be3
JR
104442000-05-30 Jason Rumney <jasonr@gnu.org>
10445
10446 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
10447 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
10448
52283633 10449 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
10450
10451 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
10452 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
10453 expand a nil default_filename.
10454
10455 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
10456 pointer to glyph_to_pixel_coords, not a frame.
10457
10458 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
10459 coding.h to dependencies.
10460
10461 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
10462
10463 * w32console.c (glyph_to_pixel_coords): Change first parameter to
10464 window pointer to be consistent with w32term.c and xterm.c.
10465
10466 * w32fns.c: Format and doc changes to bring closer to xfns.c.
10467 (VIETNAMESE_CHARSET): Define if not defined in system headers.
10468 (Qline_spacing, Qcenter): New variables.
10469 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
10470 (x_set_line_spacing): New function.
52283633 10471 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
10472 (x_specified_cursor_type): New function.
10473 (x_set_cursor_type): Use it.
10474 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
10475 and icon strings.
10476 (validate_x_resource_name, x_get_resource_string): Measure lengths
10477 of external strings in bytes.
10478 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
10479 GetTextExtentPoint32 with NULL title.
10480 (Fx_create_frame): Initialize Qline_spacing.
10481 (w32_load_system_font): Initialize font->double_byte_p.
10482 (x_to_w32_charset): Use Vw32_charset_info_alist.
10483 (Image, busy cursor, tooltip functions): Merged changes from
10484 xfns.c. Not yet functional on Windows.
10485
10486 * w32gui.h (W32FontStruct): Add double_byte_p member.
10487
10488 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
10489 (emacs_button_translation): Use it.
10490 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
10491 in `mask' to be set.
10492
10493 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
10494 menu strings.
10495
10496 * w32term.c: Format and doc changes to bring closer to xterm.c.
10497 (w32_char_font_type): New enum.
10498 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
10499 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
10500 (w32_encode_char): New function.
10501 (x_encode_char): Removed.
10502 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
10503 x_encode_char and w32_font_is_double_byte.
10504 (x_produce_image_glyph): Use image_ascent.
10505 (x_produce_glyphs): Use new version of w32_per_char_metric and
10506 handle NULL return value. Allow extra line spacing.
10507 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
10508 (w32_get_glyph_overhangs): Remove unicode_p param. Use
10509 w32_font_type member of glyph instead.
10510 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
10511 (fast_find_position): Make sure not to consider rows not visible
10512 in the window.
10513 (w32_read_socket) [WM_MENUSELECT]: Cannot call
10514 w32_menu_display_help with input blocked, as it can abort.
10515 (x_display_and_set_cursor): Choose cursor depending
10516 on buffer-local value of cursor_type.
10517 (x_draw_bar_cursor): Add parameter WIDTH.
10518
10519 * w32term.h (CP_DEFAULT): Define.
10520 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
10521
10fc3187
GM
105222000-05-30 Gerd Moellmann <gerd@gnu.org>
10523
10524 * search.c (Fre_search_forward, Fre_search_backward)
10525 (Fposix_search_backward, Fposix_search_forward): Doc fix.
10526
d0555360
KH
105272000-05-30 Kenichi Handa <handa@etl.go.jp>
10528
10529 * coding.c (detect_coding_iso2022): Fix code for checking
10530 CODING_CATEGORY_MASK_ISO_8_2.
10531
f1ad044f
SM
105322000-05-29 Stefan Monnier <monnier@cs.yale.edu>
10533
10534 * regex.c (PREFETCH_NOLIMIT): New function.
10535 (re_match_2_internal): Use it and adjust the end_match_2 logic.
10536
84ec3b4b
GM
105372000-05-29 Gerd Moellmann <gerd@gnu.org>
10538
66254a13
GM
10539 * syntax.c (find_defun_start): Move test for
10540 open_paren_in_column_0_is_defun_start outside of the loop.
10541
49e70dec
GM
10542 * xdisp.c (redisplay_window): Really switch buffers when
10543 displaying mode lines, and temporarily set selected_frame to the
10544 frame of the window that's redisplayed.
10545
84ec3b4b
GM
10546 * xfaces.c (free_realized_faces): Block/unblock input.
10547 (free_realized_multibyte_face): Ditto.
10548
869a3a14
DL
105492000-05-29 Dave Love <fx@gnu.org>
10550
10551 * textprop.c (Qkeymap): New variable.
10552 (syms_of_textprop): Intern it.
10553
10554 * keymap.c: Include intervals.h.
10555 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
10556
10557 * Makefile.in (keymap.o): Depend on intervals.h.
10558
10559 * keyboard.c (menu_bar_items, tool_bar_items)
10560 (Fexecute_extended_command): Deal with `keymap' property.
10561 (read_key_sequence): Track map from `keymap' property as well as
10562 `local_map'.
10563
10564 * intervals.c (get_local_map): Extra arg to allow looking for
10565 `keymap' too.
10566
10567 * intervals.h (map_property): New enum.
10568 (get_local_map): Extra arg using it.
10569 (Qkeymap): Declare.
10570
84ec3b4b 10571 * lisp.h (get_local_map): Don't declare here.
869a3a14 10572
89d0c844
KH
105732000-05-29 Kenichi Handa <handa@etl.go.jp>
10574
10575 * Makefile.in (callproc.o): Depend on composite.h.
10576
10577 * callproc.c: Include composite.h.
10578 (Fcall_process): Handle composition correctly.
10579
10580 * coding.h (coding_allocate_composition_data): Extern it.
10581 (coding_restore_composition): Likewise.
10582
10583 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
10584 yet allocated, finish decoding with result
10585 CODING_FINISH_INSUFFICIENT_CMP.
10586 (coding_allocate_composition_data): Make it non-static.
10587 (coding_restore_composition): Likewise.
10588
797a084a
EZ
105892000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
10590
10591 * charset.c (syms_of_charset): Revert last change.
10592
cf872af5
EZ
105932000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
10594
10595 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
10596 charsets as unibyte, with 1-column screen width. Sent by Kenichi
10597 Handa.
cf872af5 10598
5b1ae051
EZ
105992000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
10600
10601 * charset.c (syms_of_charset): Set width of character sets
10602 eight-bit-control and eight-bit-graphic to 1 column.
10603
34ec9ebe
GM
106042000-05-26 Gerd Moellmann <gerd@gnu.org>
10605
10606 * config.in (HAVE_SPEED_T): New define.
10607
10608 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
10609 `extern speed_t'.
10610
dd854dc2
DL
106112000-05-26 Dave Love <fx@gnu.org>
10612
10613 * coding.c (shrink_decoding_region): Initialize eol_conversion.
10614
10615 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
10616 (Fsubr_arity): New function.
10617 (syms_of_data): Install them.
10618
ba9f8f95
KH
106192000-05-26 Kenichi Handa <handa@etl.go.jp>
10620
0f3e0672
KH
10621 * charset.c (init_charset_once): Set the table bytes_by_char_head
10622 correctly.
10623
cebefb44
KH
10624 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
10625 the default fontset to what Emacs uses by default.
0f3e0672
KH
10626 (check_registry_encoding): This function deleted.
10627 (Fset_fontset_font): Remove the adhoc condition for the default
10628 fontset. Allow cons in FONTNAME.
cebefb44 10629
0f3e0672
KH
10630 * fns.c (map_char_table): Ignore char-table entries for
10631 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 10632
7a18af49
KR
106332000-05-25 Ken Raeburn <raeburn@gnu.org>
10634
10635 * emacs.c (main): Initialize keyboard syms before initializing
10636 window code, so face names are available.
10637
d2af47df
SM
106382000-05-25 Stefan Monnier <monnier@cs.yale.edu>
10639
10640 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
10641 of an anchor at the beginning of a shy-group.
10642
fc6a6a4e
GM
106432000-05-25 Gerd Moellmann <gerd@gnu.org>
10644
10645 * xdisp.c (handle_invisible_prop): Don't try to skip over
10646 invisible text if end of text is already reached.
10647
005f0d35
DL
106482000-05-25 Dave Love <fx@gnu.org>
10649
02513cdd
DL
10650 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
10651
005f0d35
DL
10652 * coding.c (encode_eol): Add null statement after label.
10653
89f6ca4e
EZ
106542000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
10655
10656 * w16select.c (Fw16_set_clipboard_data): Fix the change from
10657 2000-05-20.
10658
a4e1759e
KH
106592000-05-25 Kenichi Handa <handa@etl.go.jp>
10660
10661 * ccl.c (ccl_driver): Fix previous change.
10662
eacfd7fe
KH
106632000-05-25 Kenichi Handa <handa@etl.go.jp>
10664
46ab33a9
KH
10665 * coding.c (run_pre_post_conversion_on_str): Set point to the
10666 beginning of buffer before calling coding->post_read_conversion.
10667 (decode_coding_string): Give correct args to
10668 run_pre_post_conversion_on_str.
10669 (encode_coding_string): Likewise.
10670
eacfd7fe
KH
10671 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
10672 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
10673 eight-bit-graphic correctly.
10674
f8569325
DL
106752000-05-24 Kenichi HANDA <handa@etl.go.jp>
10676
10677 * fileio.c (Finsert_file_contents): Even if a file is not found,
10678 execute codes for setting up coding system. Call
10679 after-insert-file-functions unconditionally.
10680
04545643
GM
106812000-05-24 Gerd Moellmann <gerd@gnu.org>
10682
10683 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
10684 BSD_PGRPS are not defined.
10685
747d90ea
KH
106862000-05-24 Kenichi Handa <handa@etl.go.jp>
10687
10688 * charset.c (update_charset_table): Accept nil in LONG_NAME and
10689 DESCRIPTION.
10690 (syms_of_charset): Avoid building same strings.
10691
716e3b88
GM
106922000-05-23 Gerd Moellmann <gerd@gnu.org>
10693
10694 * lread.c (Fload): Add a comment about the meaning of
10695 Vuser_init_file being t.
10696
10697 * puresize.h (BASE_PURESIZE): Increase to 675000.
10698
10699 * s/gnu-linux.h (setpgrp): Don't define it here because this
10700 prevents compilation on GNU/Linux systems with glib 2.2.
10701
10702 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
10703 as setpgid.
427ec082 10704
9aeb39fa
EZ
107052000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
10706
10707 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
10708 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
10709 version.
10710 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
10711
29ced61b
KH
107122000-05-23 Kenichi Handa <handa@etl.go.jp>
10713
52283633 10714 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 10715
3d80f24d
KH
10716 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
10717
52283633 10718 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 10719
29ced61b
KH
10720 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
10721
d7e00792
KH
107222000-05-22 Kenichi Handa <handa@etl.go.jp>
10723
c9d80d38
KH
10724 * keyboard.c (read_char): Allow character codes 128..255 to be
10725 handled by input-method-function.
10726
d7e00792
KH
10727 * insdel.c (adjust_markers_for_replace): Fix previous change.
10728 (adjust_after_replace): If PREV_TEXT is nil, call
10729 adjust_markers_for_insert, not adjust_markers_for_replace.
10730
087121cc 107312000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 10732
087121cc
GM
10733 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
10734 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
10735 [HAVE_GRANDPT]: Define.
10736 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
10737
10738 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
10739 like SYSV_PTYS.
10740
10741 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
10742
10743 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
10744
c9671f81
KH
107452000-05-20 Kenichi Handa <handa@etl.go.jp>
10746
10747 The following changes are to handle 8-bit characters in a
10748 multibyte buffer/string without facing with byte combining
10749 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
10750 eight-bit-graphic (for 0xA0..0xFF) are introduced.
10751
10752 * Makefile.in (fns.o): Depend on charset.h.
10753
10754 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
10755 convert it to unibyte.
10756 (make_string): Use parse_str_as_multibyte, not chars_in_text.
10757
10758 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
10759 apparent char boundary.
10760 (Fset_buffer_multibyte): Convert 8-bit characters in the range
10761 0x80..0x9F to/from multibyte form.
10762
10763 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
10764 to unibyte.
10765
10766 * callproc.c (Fcall_process): Always encode an argument string if
10767 it is multibyte. Setup src_multibyte and dst_multibyte members of
10768 process_coding properly.
ce75fd23 10769
c9671f81
KH
10770 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
10771 SPLIT_NON_ASCII_CHAR.
10772
10773 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
10774 as is.
10775 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
10776
52283633 10777 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 10778 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 10779 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
10780 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
10781 and eight-bit-graphic.
10782 (char_to_string): Likewise. Signal an error for too large
10783 character code.
10784 (char_printable_p): Return 0 for 8-bit characters.
10785 (update_charset_table): Update iso_charset_table only when a final
10786 character is non-negative.
10787 (find_charset_in_text): Renamed from find_charset_in_str.
10788 Arguments and return value changed. Callers changed.
10789 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
10790 be -1 if CHARSET is used only internally.
10791 (Fmake_char_internal): Handle new charsets; eight-bit-control and
10792 eight-bit-graphic.
10793 (Fcharset_after): Simplified.
10794 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
10795 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
10796 (multibyte_chars_in_text): Simplified by assuming there's no
10797 invalid multibyte sequence.
52283633
SM
10798 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
10799 (str_as_unibyte): New functions.
10800 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
10801 (init_charset_once): Initialization for
10802 LEADING_CODE_8_BIT_CONTROL.
10803 (syms_of_charset): Intern and staticpro Qeight_bit_control and
10804 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
10805 eight-bit-control and eight-bit-graphic.
10806
52283633
SM
10807 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
10808 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
10809 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
10810 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
10811 (CHARSET_REVERSE_CHARSET): Likewise.
10812 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
10813 eight-bit-graphic.
10814 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
10815 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
10816 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
10817 encounter an invalid multibyte sequence.
10818 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
10819 sequence is always valid.
10820 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 10821 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
10822 (CHAR_STRING): For 8-bit characters, call char_to_string.
10823 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
10824 multibyte sequence is always valid.
10825 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
10826 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
10827 (str_as_unibyte): Extern them.
c9671f81 10828 (BCOPY_SHORT): Fix a bug.
52283633 10829 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
10830 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
10831 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
10832 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
10833
bd4bde7f 10834 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 10835 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
10836 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
10837 (EMIT_BYTES): New macros.
10838 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
10839 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
10840 macros deleted.
10841 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
10842 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
10843 check the validity of multibyte sequence.
10844 (decode_coding_emacs_mule): New function.
10845 (encode_coding_emacs_mule): New macro.
10846 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
10847 the source.
10848 (DECODE_ISO_CHARACTER): Just return a character code.
10849 (DECODE_COMPOSITION_START): Set coding->result instead of result.
10850 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
10851 EMIT_CHAR to produced decoded characters. Exit the loop only by
10852 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
10853 block here.
10854 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
10855 only position codes for an invalid character.
10856 (encode_designation_at_bol): Return new destination pointer. 5th
10857 arg DSTP is changed to DST.
10858 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
10859 from the source by ONE_MORE_CHAR. Don't handle the case of last
10860 block here.
10861 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
10862 macros deleted.
52283633
SM
10863 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
10864 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
10865 TWO_MORE_BYTES to fetch a byte from the source.
10866 (encode_eol): Pay attention to coding->src_multibyte.
10867 (detect_coding, detect_eol): Preserve members src_multibyte and
10868 dst_multibyte.
10869 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
10870 (encoding_buffer_size): Set magnification to 3 for all coding
10871 systems that require encoding.
10872 (ccl_coding_driver): For decoding, be sure that the result is
10873 valid multibyte sequence.
10874 (decode_coding): Initialize coding->errors and coding->result.
10875 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
10876 and raw-text, always call decode_eol. Handle the case of last
10877 block here. If not coding->dst_multibyte, convert the resulting
10878 sequence to unibyte.
10879 (encode_coding): Initialize coding->errors and coding->result.
10880 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
10881 and raw-text, always call encode_eol. Handle the case of last
10882 block here.
10883 (shrink_decoding_region, shrink_encoding_region): Detect cases
10884 that we can't skip data more rigidly.
10885 (code_convert_region): Setup src_multibyte and dst_multibyte
10886 members of coding. For decoding, if the buffer is multibyte,
10887 convert the source sequence to unibyte in advance. For encoding,
10888 if the buffer is multibyte, convert the resulting sequence to
10889 multibyte afterward.
10890 (run_pre_post_conversion_on_str): New function.
10891 (code_convert_string): Deleted and divided into the following two.
10892 (decode_coding_string, encode_coding_string): New functions.
10893 (code_convert_string1, code_convert_string_norecord): Call one of
10894 above.
10895 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
10896 MAKE_NON_ASCII_CHAR.
52283633
SM
10897 (Fset_terminal_coding_system_internal)
10898 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
10899 and dst_multibyte members.
10900 (init_coding_once): Initialize iso_code_class with new enum
10901 ISO_control_0 and ISO_control_1.
10902
10903 * coding.h (enum iso_code_class_type): Member ISO_control_code is
10904 devided into ISO_control_0 and ISO_control_1.
10905 (struct coding_system): New members src_multibyte, dst_multibyte,
10906 errors, and result. Delete member fake_multibyte.
10907 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
10908 nonzero.
10909 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
10910 nonzero.
10911
10912 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
10913 (Faset): Likewise.
10914
10915 * editfns.c (Fformat): Be sure to convert 8-bit characters to
10916 multibyte form.
10917 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
10918 combining occurs.
10919 (Ftranspose_region): Delete codes for handling byte combining.
10920
10921 * fileio.c (Finsert_file_contents): Setup src_multibyte and
10922 dst_multibyte members of coding. On handling REPLACE on unibyte
10923 buffer, convert the result of decode_coding to unibyte. On
10924 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 10925 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
10926 multibyteness of the source (buffer or string).
10927
10928 * fns.c (concat): Handle 8-bit characters correctly.
10929 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
10930 unibyte in the result.
10931 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
10932 valid multibyte form in the result.
10933 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
10934 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
10935 return -1, signal an error.
10936 (base64_encode_1): New arg MULTIBYTE. Get each character by
10937 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
10938 character is found, return -1.
10939 (Fbase64_decode_region): Delete codes for handling byte-combining.
10940 Treat each decoded byte as a unibyte character.
10941 (Fbase64_decode_string): Return unibyte string.
10942 (Fcompare_strings, concat, string_byte_to_char): Use
10943 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
10944 FETCH_STRING_CHAR_ADVANCE.
10945 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
10946 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
10947
10948 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
10949 SPLIT_NON_ASCII_CHAR.
10950 (fontset_ref_via_base, fontset_set): Likewise
10951
10952 * insdel.c (adjust_markers_for_record_delete): Deleted.
10953 (adjust_markers_for_insert): Argument changed. Caller changed.
10954 (adjust_markers_for_replace): Likewise.
52283633
SM
10955 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
10956 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
10957 (copy_text): Delete unused local varialbe c_save. For converting
10958 to multibyte, be sure to make all 8-bit characters in valid
10959 multibyte form.
10960 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
10961 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
10962 (adjust_after_replace, replace_range, del_range_2)
c9671f81 10963 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
10964 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
10965 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
10966 handling byte combining.
10967 (adjust_before_replace): Deleted.
427ec082 10968
c9671f81
KH
10969 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
10970 SPLIT_NON_ASCII_CHAR.
10971 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 10972 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
10973 (Fkey_description): Likewise.
10974
10975 * lread.c (read1): On reading multibyte string, be sure to make
10976 all 8-bit chararacters in valid multibyte form.
10977 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
10978
10979 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
10980 unconditionally.
10981
10982 * process.c (Fstart_process): GCPRO current_dir before calling
10983 Ffind_operation_coding_system. Encode arguments here.
10984 (create_process): Don't encode arguments here. Setup
10985 src_multibyte and dst_multibyte members of struct coding.
10986 (read_process_output): Setup src_multibyte and dst_multibyte
10987 members of struct coding. If the output is to multibyte buffer,
10988 always decode the output of the process. Adjust the
52283633 10989 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
10990 (send_process): Setup coding->src_multibyte according to the
10991 multibyteness of the source.
10992
52283633 10993 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
10994 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
10995 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
10996
52283633 10997 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
10998
10999 * w16select.c (Fw16_set_clipboard_data): Setup members
11000 src_multibyte and dst_multibyte of coding. Adjusted for the
11001 change for find_charset_in_str.
11002 (Fw16_get_clipboard_data): Likewise.
11003
11004 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
11005 dst_multibyte of coding.
11006 (x_to_w32_font): Likewise.
11007
11008 * w32select.c (Fw32_set_clipboard_data): Setup members
11009 src_multibyte and dst_multibyte of coding. Adjusted for the
11010 change for find_charset_in_str.
11011 (Fw32_get_clipboard_data): Likewise.
11012
11013 * xdisp.c (get_next_display_element): Handle 8-bit characters
11014 correctly.
52283633
SM
11015 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
11016 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
11017
11018 * xselect.c (selection_data_to_lisp_data): Setup members
11019 src_multibyte and dst_multibyte of coding. Adjusted for the
11020 change for find_charset_in_str.
11021 (lisp_data_to_selection_data): Likewise.
11022
5f64c9e0
GM
110232000-05-19 Gerd Moellmann <gerd@gnu.org>
11024
52283633 11025 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 11026
5f64c9e0
GM
11027 * dispextern.h (Vimage_types): Add extern declaration.
11028
11029 * xdisp.c (Vimage_types): Moved here from xfns.c.
11030 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
11031
11032 * xfns.c (Vimages_types): Moved to xdisp.c.
11033 (syms_of_xfns): Move `image-types' to xdisp.c.
11034
11035 * w32fns.c (Vimage_types): Removed.
11036 (syms_of_w32fns): Remove `image-types'.
11037
813086ea
KH
110382000-05-18 Kenichi Handa <handa@etl.go.jp>
11039
11040 * fns.c (map_char_table): Pay attention to character number of
11041 charset. Check the validity of charset at the first level. For
11042 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
11043 the default value.
11044
11045 * fontset.c: Include "buffer.h".
11046 (fs_load_font): If the face has fontset, record the face ID in
11047 that fontset.
11048 (Finternal_char_font): New function.
11049 (accumulate_font_info): New function.
11050 (Ffontset_info): Rewritten for the new fontset implementation.
11051 (syms_of_fontset): Register Vdefault_fontset in the first element
11052 of Vfontset_table. Include Vdefault_fontset in
11053 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
11054 function.
11055
bdaebbf0
DL
110562000-05-16 Dave Love <fx@gnu.org>
11057
11058 * m/iris5d.h: Deleted -- unused.
11059
cb613bb8
GM
110602000-05-16 Gerd Moellmann <gerd@gnu.org>
11061
b15f3b77
GM
11062 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
11063 `invalid' instead of `illegal'.
11064
11065 * indent.c (Fmove_to_column): When ending within a tab, insert
11066 spaces first so that markers at the end of the tab get adjusted.
11067
835c1b36
GM
11068 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
11069 buffer list that wasn't selected in that frame.
11070
cb613bb8
GM
11071 * filelock.c (get_boot_time): To obtain an 8 char file name, which
11072 is needed on mescaline, use a 2 char prefix, and call
11073 make_temp_name with second arg non-zero.
11074
11075 * fileio.c (make_temp_name): New function, extracted from
11076 Fmake_temp_name.
11077 (Fmake_temp_name): Use it.
11078
f685bea9
EZ
110792000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
11080
52283633 11081 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 11082
a1b8d58b
GM
110832000-05-15 Gerd Moellmann <gerd@gnu.org>
11084
11085 * Makefile.in (lisp): Add env.elc.
11086
11087 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
11088
a265079f
GM
110892000-05-12 Gerd Moellmann <gerd@gnu.org>
11090
11091 * search.c (Freplace_match): Handle case of `\N' in the
11092 replacement when there's no group N.
11093
da4496b6
GM
110942000-05-11 Gerd Moellmann <gerd@gnu.org>
11095
0ace421a
GM
11096 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
11097 of the message to message_dolog.
11098
1172eb8d
GM
11099 * keyboard.c (read_char): Don't clear current message for help
11100 events; let the code handling help events handle this. Change
11101 code detecting help events that should be ignored.
11102
da4496b6
GM
11103 * xdisp.c (handle_single_display_prop): Don't try to set PT if
11104 we're interating over a string.
11105
0623e40f
DL
111062000-05-09 Dave Love <fx@gnu.org>
11107
11108 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
11109 that offset before writing. Move gcpro region past call of
11110 Ffile_regular_p.
11111
bae2503b
DL
111122000-05-04 Dave Love <fx@gnu.org>
11113
11114 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
11115
ec82fb2f
GM
111162000-05-04 Gerd Moellmann <gerd@gnu.org>
11117
11118 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
11119 of inserted characters when BUF equals the current buffer, and PT
11120 is in front of or equal to FROM.
11121
cbf18892
GM
111222000-05-03 Gerd Moellmann <gerd@gnu.org>
11123
4ff40dd0
GM
11124 * xdisp.c (handle_single_display_prop): If display property value
11125 is invalid, or something not supported on the frame, restore
11126 iterator's position to what it was initially. Make sure to return
11127 0 for invalid and unsupported property values.
11128
cbf18892
GM
11129 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
11130 that x_per_char_metric returns null.
11131
1b0672c3
GM
111322000-05-02 Gerd Moellmann <gerd@gnu.org>
11133
576da55d
GM
11134 * xterm.h (struct face): Add forward declaration.
11135 (struct image): Ditto.
11136 (image_ascent): Add prototype.
11137
11138 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
11139 (x_draw_image_relief, x_draw_image_foreground_1): Call function
11140 image_ascent instead of using IMAGE_ASCENT.
11141
11142 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
11143 (IMAGE_ASCENT): Removed.
11144
11145 * xfns.c (Qcenter): New variable.
11146 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
11147 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
11148 (image_ascent): New function.
11149 (lookup_image): Recognize `:ascent center'.
11150 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
11151 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
11152 (xbm_load): Don't set image's ascent here.
11153 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
11154 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
11155 check ascent values here.
11156 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
11157 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
11158 (syms_of_xfns): Initialize Qcenter.
11159
1b0672c3
GM
11160 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
11161 to the limits, increase the limits.
11162
0d7811ed
KH
111632000-05-01 Kenichi Handa <handa@etl.go.jp>
11164
11165 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 11166 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 11167
a943a5ca
GM
111682000-04-28 Gerd Moellmann <gerd@gnu.org>
11169
11170 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
11171 taller than the window.
11172
5dba1e29
KH
111732000-04-28 Kenichi Handa <handa@etl.go.jp>
11174
11175 * xfaces.c (realize_x_face): Fix the argument of the second
11176 xassert. BASE_FACE may not be a face for ASCII.
11177
353964e3
GM
111782000-04-27 Gerd Moellmann <gerd@gnu.org>
11179
c76e04a8
GM
11180 * print.c (print_object): Treat print-length < 0 as nil.
11181
11182 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
11183
11184 * s/freebsd.h (TERMCAP_OBJ): Removed.
11185 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
11186
11187 * lread.c (read1): Don't treat period followed by certain
11188 characters as symbol start.
11189
11190 * xfns.c (slurp_file): New function.
11191 (xbm_image_p): Handle case of in-memory XBM files.
11192 (xbm_scan): Rewritten to work on memory buffers instead of files.
11193 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
11194 Work on memory buffers instead of files. If DATA is null test
11195 if buffer looks like an in-memory XBM file.
11196 (xbm_load_image): Renamed from xbm_load_image_file. Work on
11197 memory buffers instead of files.
11198 (xbm_file_p): New function.
11199 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
11200
353964e3
GM
11201 * lread.c (end_of_file_error): New function.
11202 (read1): Call it instead of signaling `end-of-file' directly.
11203
427ec082 11204 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
11205 with Fprinc instead of Fprin1.
11206
24d744ac
KR
112072000-04-26 Ken Raeburn <raeburn@gnu.org>
11208
11209 * window.c (freeze_window_start): Check that minibuffer scroll
11210 window isn't nil before extracting the window structure pointer
11211 from it.
11212
11213 * undo.c (record_delete): If we hit the end of the undo list, stop
11214 picking elements apart.
11215
7464346d
GM
112162000-04-26 Gerd Moellmann <gerd@gnu.org>
11217
11218 * xdisp.c (display_line): If lines are continued, restore
11219 iterator's ascent/descent information to the values before the
11220 first glyph not fitting on the line.
11221
612839b6
GM
112222000-04-25 Gerd Moellmann <gerd@gnu.org>
11223
11224 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 11225 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
11226
11227 * dispnew.c (increment_matrix_positions): Renamed from
11228 increment_glyph_matrix_buffer_positions.
11229 (increment_row_positions): Renamed from
11230 increment_glyph_row_buffer_positions.
11231
11232 * dispextern.h: Change names of renamed functions from dispnew.c
11233 in prototypes.
11234
cc181e95
GM
112352000-04-24 Gerd Moellmann <gerd@gnu.org>
11236
abfcc168
GM
11237 * fileio.c (Fdo_auto_save): Create directories for auto-save
11238 list file if necessary.
11239
cc181e95
GM
11240 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
11241 from buffer or frame.
11242 (automatic_hscrolling_p): New variable.
11243 (hscroll_windows): Scroll windows horizontally only if automatic
11244 hscrolling is allowed.
11245 (syms_of_xdisp): New variable `automatic-hscrolling'.
11246
11247 * frame.h (struct frame): Add member extra_line_spacing.
11248
11249 * xfns.c (x_set_line_spacing): New function.
11250 (Fx_create_frame): Set line spacing from resources.
11251 (Qline_spacing): New variable.
11252 (syms_of_xfns): Initialize Qline_spacing.
427ec082 11253
cc181e95
GM
11254 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
11255
11256 * buffer.c (init_buffer_once): Handle extra_line_spacing.
11257 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 11258 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
11259 extra_line_spacing from default value.
11260 (init_buffer_once): Initialize default value of extra_line_spacing.
11261
11262 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
11263 and extra3.
11264
11265 * xterm.c (x_produce_glyphs): Remove reference to struct it's
11266 prompt_width. Add extra line spacing.
11267
11268 * term.c (produce_glyphs): Remove reference to struct it's
11269 prompt_width.
11270
11271 * dispextern.h (struct it): Remove member prompt_width, add
11272 extra_line_spacing.
11273
58827478
GM
112742000-04-22 Gerd Moellmann <gerd@gnu.org>
11275
11276 * dispnew.c (update_frame_line): When writing a whole line, make
11277 sure cursor is in the right row afterwards, otherwise a use of
11278 capability `ch' in cmgoto might leave the cursor in the row below.
11279
25a87f42
GM
112802000-04-21 Gerd Moellmann <gerd@gnu.org>
11281
11282 * lisp.h (struct Lisp_Buffer_Cons): Remove.
11283
11284 * keyboard.c (timer_check): Fix typo in comment.
11285
54edf5c2
KH
112862000-04-21 Kenichi Handa <handa@etl.go.jp>
11287
11288 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
11289 name change: ch -> character.
11290
3a64eef5
GM
112912000-04-20 Gerd Moellmann <gerd@gnu.org>
11292
11293 * keyboard.c (echo_message_buffer): New variable.
11294 (echo_now): Set echo_message_buffer to the echo area buffer used
11295 to display the echo.
11296 (cancel_echoing): Reset echo_message_buffer to nil.
11297 (read_char): Code rewritten that handles canceling an echo or
11298 echoing a dash, respectively.
11299
11300 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
11301 directory doesn't exist.
11302
6142fdcb
DL
113032000-04-19 Dave Love <fx@gnu.org>
11304
11305 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
11306 (concat): Don't allow numeric args.
11307 (Fconcat): Doc change.
6142fdcb 11308
ac6b5352
SM
113092000-04-19 Stefan Monnier <monnier@cs.yale.edu>
11310
11311 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
11312 instead define end_match(1|2) more carefully.
11313 Use GET_CHAR_BEFORE_2 for `begline'.
11314
cb9215e4
GM
113152000-04-19 Gerd Moellmann <gerd@gnu.org>
11316
5e3dac3f
GM
11317 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
11318 on 64-bit systems where NULL is defined as `0'.
11319
11320 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
11321 the `variable argument list' to make it work on Alpha.
11322
cb9215e4
GM
11323 * m/alpha.h (_LP64) [!_LP64]: Define.
11324 (ORDINARY_LINK): Define for NetBSD.
11325
11326 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 11327
f532dca0
DL
113282000-04-19 Dave Love <fx@gnu.org>
11329
c750667e
DL
11330 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
11331 change.
11332
11333 * Makefile.in (LIBS): Don't use.
11334 (GETLOADAVG_OBJ): Define again.
11335 (otherobj): Add GETLOADAVG_OBJ.
11336
f532dca0
DL
11337 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
11338
1c7e22fd
GM
113392000-04-18 Gerd Moellmann <gerd@gnu.org>
11340
f6d3257b
GM
11341 * lread.c (read_filtered_event): Cancel and start busy cursor.
11342
427ec082 11343 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
11344 that the per-character metrics may be null.
11345
e10f64e7
GM
113462000-04-17 Gerd Moellmann <gerd@gnu.org>
11347
0daee095
GM
11348 * buffer.c (clone_per_buffer_values): New function.
11349 (Fmake_indirect_buffer): Add optional argument CLONE. Call
11350 clone_per_buffer_values if CLONE is not nil.
11351
e10f64e7
GM
11352 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
11353
38687d43
DL
113542000-04-16 Dave Love <fx@gnu.org>
11355
11356 * Makefile.in: Remove obsolete localcpp stuff.
11357 (GETLOADAVG_OBJ): Don't define.
11358 (obj): Move LIBOBJS...
11359 (otherobj): ... to here.
11360 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
11361 whitespace-only lines after the continuation (Irix).
11362
c21c7262
GM
113632000-04-14 Gerd Moellmann <gerd@gnu.org>
11364
11365 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
11366
11367 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
11368
314767c0
DL
113692000-04-14 Dave Love <fx@gnu.org>
11370
11371 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
11372 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
11373 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
11374 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
11375 NLIST_STRUCT.
11376
11377 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
11378 autoconfiscated HAVE_GETLOADAVG.
11379
11380 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
11381 BROKEN_MKTIME.
11382
a2522dca
GM
113832000-04-14 Gerd Moellmann <gerd@gnu.org>
11384
11385 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 11386 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 11387
33744b5d
DL
113882000-04-14 Dave Love <fx@gnu.org>
11389
c21c7262 11390 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
11391 (INTERVAL_SRC): Convert to make variable.
11392 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
11393 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
11394 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
11395 add LIBOBJS.
11396 (SOME_MACHINE_OBJECTS): Remove interval stuff.
11397 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
11398 (shortlisp): Add facemenu, float-sup, frame.
11399 (SOME_MACHINE_LISP): Remove them from here.
11400 (LIBES): Change unused LDLIBS to autoconf LIBS.
11401
11402 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
11403
9d3d5916
KH
114042000-04-14 Kenichi Handa <handa@etl.go.jp>
11405
11406 * composite.c (update_compositions): If FROM and TO are not in a
11407 valid range, do nothing.
11408
198e3c7a
GM
114092000-04-13 Gerd Moellmann <gerd@gnu.org>
11410
52283633 11411 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 11412
52283633 11413 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
11414
11415 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
11416 as TERMCAP_OBJ.
11417
055a28c9
EZ
114182000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
11419
11420 * fileio.c (a_write): Remove redundant semi-colons.
11421 (e_write): Return -1 if failed to write all the data.
11422 This fixes the changes made at 1999-12-15.
11423
f5c75033
DL
114242000-04-12 Dave Love <fx@gnu.org>
11425
11426 * fns.c (mapcar1): Test for null vals to support mapc.
11427 (Fmapc): New function.
11428
0c3cfc51
EZ
114292000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
11430
11431 * msdos.c (NUM_MOUSE_BUTTONS): Define.
11432 (IT_frame_up_to_date): Support the buffer local value of
11433 cursor-type, if defined.
11434
33465a31
DL
114352000-04-10 Dave Love <fx@gnu.org>
11436
11437 * editfns.c (preceding-char, following-char): Doc fix.
11438
6ed56568
KR
114392000-04-10 Ken Raeburn <raeburn@gnu.org>
11440
11441 * Makefile.in (temacs): Revert 2000-03-12 change.
11442
7cf80d4e
JR
114432000-04-10 Jason Rumney <jasonr@gnu.org>
11444
11445 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
11446
34f3f342
GM
114472000-04-10 Gerd Moellmann <gerd@gnu.org>
11448
1a1b1895
GM
11449 * xdisp.c (setup_echo_area_for_printing): Choose an echo
11450 area buffer, if it's not set up yet.
11451
34f3f342
GM
11452 * indent.c (compute_motion): Set immediate_quit.
11453
be0dbdab
GM
114542000-04-09 Gerd Moellmann <gerd@gnu.org>
11455
52283633 11456 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
11457 (realize_tty_face): Suppress boldness if colors are the inverse of
11458 the default colors, and tty_suppress_bold_inverse_default_colors_p
11459 is set.
11460 (Ftty_suppress_bold_inverse_default_colors): New function.
11461 (syms_of_xfaces): Defsubr it.
11462
be0dbdab
GM
11463 * buffer.c (Frestore_buffer_modified_p): New function.
11464 (syms_of_buffer): Defsubr it.
11465
e8413c3b
KR
114662000-04-08 Ken Raeburn <raeburn@gnu.org>
11467
87f67317
KR
11468 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
11469 charset id (int) argument, not a charset (Lisp_Object).
11470
e8413c3b
KR
11471 * coding.h (code_convert_string): Declare.
11472 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
11473 object, as the fourth argument to code_convert_string.
11474
52283633 11475 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
11476 (Fset_fontset_font): Use EQ to compare lisp objects.
11477
7c752c80
KR
114782000-04-05 Ken Raeburn <raeburn@gnu.org>
11479
c0333abc
KR
11480 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
11481 a pointer that looks like a lisp object.
11482 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
11483 zero, instead see whether it's an integer object, since they can't
11484 have intervals.
11485 (GET_INTERVAL_OBJECT): Simply assign to the destination.
11486
52283633
SM
11487 * dispnew.c (allocate_matrices_for_frame_redisplay)
11488 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
11489 to convert between (unsigned) int values and lisp integers.
11490 * keyboard.c (read_key_sequence): Likewise.
11491 * lread.c (substitute_object_recurse): Likewise.
11492 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
11493 * minibuf.c (do_completion, Fminibuffer_complete_word)
11494 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
11495 * term.c (produce_special_glyphs): Likewise.
11496
11497 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
11498 * print.c (print_preprocess, print_object): Likewise.
11499
11500 * search.c (compile_pattern): Use NILP when checking for nil.
11501
74e49b38
KR
11502 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
11503 __OPTIMIZE__]: Provide a GNU C macro version that handles
11504 lisp-object unions.
11505 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
11506 field, to better cope with ENABLE_CHECKING and calls that modify a
11507 Lisp_Object using its old value.
11508
685e5ed2
GM
115092000-04-04 Gerd Moellmann <gerd@gnu.org>
11510
c407c570
GM
11511 * window.c (compare_window_configurations): Signal an error
11512 if parameters C1 or C2 aren't window configurations.
11513
685e5ed2
GM
11514 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
11515 AFTER_POTENTIAL_GC calls around calls to functions that can
11516 signal an error and thus invoke the debugger.
11517
587a49ab
GM
115182000-04-03 Gerd Moellmann <gerd@gnu.org>
11519
62f20204
GM
11520 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
11521 an error if decoding fails.
11522
587a49ab
GM
11523 * keyboard.c (lispy_mouse_names): Variable removed.
11524 (Vlispy_mouse_stem): New variable.
11525 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
11526 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
11527 for any mouse button number. Increase size of mouse_syms and
11528 button_down_location as needed. Call modify_event_symbol with
11529 different arguments.
11530 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
11531 Call modify_event_symbol with different arguments.
11532 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
11533 for any button number. Call modify_event_symbol with different
11534 arguments.
11535 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
11536 Accept a string for NAME_ALIST_OR_STEM.
11537
11538 * lisp.h (larger_vector): Add prototype.
11539
11540 * fns.c (larger_vector): Make externally visible.
11541
11542 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
11543
2d1675e4
SM
115442000-04-02 Stefan Monnier <monnier@cs.yale.edu>
11545
11546 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
11547 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
11548 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
11549 we are between str1 and str2.
11550 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
11551 (PATFETCH): Use `TRANSLATE'.
11552 (PATFETCH_RAW): Fetch multibyte char if applicable.
11553 (PATUNFETCH): Remove.
11554 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
11555 When writing a char, write it directly into the pattern buffer rather
11556 than going needlessly through a temp char-array.
11557 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
11558 multibyte magic and remove the useless `#ifdef emacs'.
11559 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
11560 buffer.
11561
11562 * regex.h (struct re_pattern_buffer): Make field `multibyte'
11563 conditional on `emacs'.
11564
11565 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
11566
cc2d8c6b
KR
115672000-04-01 Ken Raeburn <raeburn@gnu.org>
11568
11569 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
11570 non-union-type versions of XMARK and friends here, because XMARK
11571 and friends won't work on an integer field if NO_UNION_TYPE is not
11572 defined.
52283633 11573 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 11574
52283633 11575 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
11576 (syms_of_composite): Delete local var NARGS, pass an int as first
11577 argument to Fmake_hash_table.
11578
2387b382
KR
11579 * editfns.c (text_property_stickiness): Use NILP to test
11580 Lisp_Object boolean value.
11581 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
11582 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
11583 problems reading from and changing the same lisp value in an
11584 XSETSTRING call.
11585
27660e89
GM
115862000-04-01 Gerd Moellmann <gerd@gnu.org>
11587
11588 * term.c (TN_no_color_video): New variable.
11589 (term_init): Intitialize TN_no_color_video.
11590 (enum no_color_bit): New enumeration.
11591 (MAY_USE_WITH_COLORS_P): New macro.
11592 (turn_on_face): Use it to determine if attributes may be used
11593 combined with colors.
11594
3578db3c
KR
115952000-04-01 Ken Raeburn <raeburn@gnu.org>
11596
11597 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 11598 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
11599 (enlarge_window): Variable sizep now points to Lisp_Object. Use
11600 proper accessor macros.
11601 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
11602 (grow_mini_window): Fix typo getting int value of root->height.
11603
6fc556fd
KR
11604 * xdisp.c (compute_string_pos): Fix order of arguments to
11605 string_pos_nchars_ahead.
11606 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
11607 count arg to variable-arg routines like Frun_hook_with_args and
11608 Fformat.
587a49ab
GM
11609 (back_to_previous_visible_line_start)
11610 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
11611 fixed-arg routines like Fget_char_property and Fmake_string.
11612 (reconsider_clip_changes): Use XINT when comparing integer lisp
11613 objects, or passing them as int arguments.
587a49ab
GM
11614 (mark_window_display_accurate, insert_left_trunc_glyphs)
11615 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
11616 storing or passing integer values as lisp objects.
11617 (set_cursor_from_row, highlight_trailing_whitespace): Use
11618 INTEGERP, not implicit test against zero, for glyph object.
11619 (try_window_id): Don't use make_number when we want an int value.
11620
11621 * xfaces.c (xlfd_symbolic_value): Make last argument a
11622 Lisp_Object, to be consistent with callers.
11623 (Fbitmap_spec_p): Use XINT to get numeric value of height.
11624 (lface_hash): Apply XFASTINT to lisp values before folding in.
11625
11626 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
11627 fill in window width and height. Pass an int, not a lisp object,
11628 as first arg to Finsert.
11629
6e7b2457
GM
116302000-04-01 Gerd Moellmann <gerd@gnu.org>
11631
610d841e
GM
11632 * xfaces.c (realize_basic_faces): Block input while realizing
11633 the faces.
11634
6e7b2457
GM
11635 * keyboard.c (lispy_mouse_names): Add additional mouse names.
11636
11637 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
11638
aa110c0c
GM
116392000-03-31 Gerd Moellmann <gerd@gnu.org>
11640
11641 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 11642 or ASCII, handle case that per-char metric is null.
aa110c0c 11643
8801a864
KR
116442000-03-30 Ken Raeburn <raeburn@gnu.org>
11645
c6129d7e
KR
11646 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
11647
52283633
SM
11648 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
11649 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
11650 pointer, using eassert.
11651 * frame.h (XFRAME): Likewise.
11652
52283633
SM
11653 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
11654 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
11655 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 11656 * data.c (set_internal): Likewise.
52283633
SM
11657 * dispextern.h (WINDOW_WANTS_MODELINE_P)
11658 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
11659 * fileio.c (auto_save_1): Likewise.
11660 * insdel.c (check_markers): Likewise.
11661 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
11662 * undo.c (record_insert): Likewise.
11663 * vmsproc.c (child_sig): Likewise.
11664 * window.c (unshow_buffer, window_loop): Likewise.
11665 * xterm.c (x_erase_phys_cursor): Likewise.
11666
8e7af858
GM
116672000-03-30 Gerd Moellmann <gerd@gnu.org>
11668
11669 * xfns.c (free_image_cache): Free the cache structure itself
11670 last, after all its members have been freed.
11671
11672 * lisp.h (xstrdup): Add prototype.
11673
11674 * alloc.c (xstrdup): Moved here from xfaces.c.
11675 (allocating_for_lisp): Variable removed.
52283633 11676 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
11677
11678 * xfaces.c (realize_tty_face): Use find_symbol_value instead
11679 of Fsymbol_value.
11680 (xstrdup): Moved to alloc.c.
11681
e0b8c689
KR
116822000-03-29 Ken Raeburn <raeburn@gnu.org>
11683
b96f9fb7
KR
11684 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
11685
11686 * emacs.c (main): Fix sense of no-loadup test.
11687
e0b8c689
KR
11688 * config.in (ENABLE_CHECKING): Undef.
11689
11690 * lisp.h (struct interval): Replace "parent" field with a union of
11691 interval pointer and Lisp_Object; add new bitfield to use as
11692 discriminant. Change other flag fields to bitfields.
11693 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
11694 is defined and the supplied test fails, print a message and abort.
11695 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
11696
11697 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
11698 pointers; abort if the value looks like a lisp object.
52283633
SM
11699 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
11700 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
11701 Modify for new interval parent definition.
11702
52283633
SM
11703 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
11704 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
11705 addressable lisp object in the interval structure.
11706 (die): New function.
11707 (suppress_checking): New variable.
11708
11709 * intervals.c (interval_start_pos): Just return 0 if there's no
11710 parent object.
11711
f83c5440
GM
117122000-03-29 Gerd Moellmann <gerd@gnu.org>
11713
11714 * lread.c (read1): Accept `.' (period) as symbol start like in CL
11715 and earlier Emacs versions.
11716
11717 * keyboard.c (Ftop_level): Cancel busy-cursor.
11718
11719 * eval.c (call_debugger): Cancel busy-cursor.
11720
fdce64ff
KH
117212000-03-29 Kenichi Handa <handa@etl.go.jp>
11722
11723 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 11724 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 11725
f6a3f532
SM
117262000-03-28 Stefan Monnier <monnier@cs.yale.edu>
11727
11728 * regex.c (analyse_first): New function obtained by ripping out most
11729 of re_compile_fastmap and generalizing it a little bit so that it
11730 can also just return whether a given (sub)pattern can match the empty
11731 string or not.
11732 (regex_compile): Use `analyse_first' to decide whether the loop-check
11733 needs to be done or not for *, +, *? and +? (the loop check is costly
11734 for non-greedy repetition).
11735 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
11736
e9b309ac
DL
117372000-03-28 Dave Love <fx@gnu.org>
11738
52283633 11739 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 11740
e9b309ac
DL
11741 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
11742
ed0767d8
SM
117432000-03-27 Stefan Monnier <monnier@cs.yale.edu>
11744
11745 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
11746 an expression.
11747 (enum re_opcode_t): Update description of succeed_n.
11748 (PATFETCH): Always define.
11749 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
11750 operators, char classes, shy-groups and intervals).
11751 Optimize special cases of intervals so as to only use succeed_n and
11752 jump_n when really needed.
11753 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
11754 that we don't have to handle the special cases any more.
11755 Simplify on_failure_jump handling as well.
11756
e11e7e46
JR
117572000-03-28 Jason Rumney <jasonr@gnu.org>
11758
11759 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
11760
88faab89
GM
117612000-03-27 Gerd Moellmann <gerd@gnu.org>
11762
182ff242
GM
11763 * s/freebsd.h (GC_SETJMP_WORKS): Define.
11764
11765 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 11766
182ff242
GM
11767 * alloc.c (mark_maybe_object): New function.
11768 (mark_memory): Use it.
11769 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
11770 (setjmp_tested_p, longjmp_done): New variables.
11771 (test_setjmp): New function.
11772 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
11773 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
11774
c1005d06
GM
11775 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
11776 to DEC_TEXT_POS and INC_TEXT_POS.
11777
11778 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
11779 with parameter MULTIBYTE_P.
11780
52283633 11781 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 11782
7439e5b9 11783 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
11784 buffers because it looks for multibyte character byte sequences
11785 which don't exist in unibyte text.
7439e5b9 11786
d9c545da
GM
11787 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
11788
11fd416e 11789 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
11790 [DEBUG_X_COLORS]: New functions.
11791 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
11792
11793 * xfns.c (x_set_cursor_color): Get color reference counts right.
11794
11795 * xterm.c (x_copy_color): New function.
11796 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
11797
11798 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
11799 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
11800 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
11801 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
11802 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
11803 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
11804 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
11805 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
11806 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
11807 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
11808
11fd416e
GM
11809 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
11810 names for handling per-buffer variables.
d9c545da
GM
11811
11812 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
11813 instead of MAX_BUFFER_LOCAL_VARS.
11814 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
11815
11816 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
11817
88faab89
GM
11818 * xfns.c (x_specified_cursor_type): New function.
11819 (x_set_cursor_type): Use it.
11820
11821 * buffer.h (struct buffer): Add cursor_type.
11822
d80f42b7
SM
118232000-03-26 Stefan Monnier <monnier@cs.yale.edu>
11824
11825 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
11826 (print_partial_compiled_pattern, re_compile_fastmap):
11827 Handle new opcode.
d80f42b7
SM
11828 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
11829 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
11830 executing it as well as when popping it off the stack to find infinite
11831 loops in non-greedy repetition operators.
11832
89e80928
GM
118332000-03-26 Gerd Moellmann <gerd@gnu.org>
11834
3d4ff2dd
GM
11835 * doc.c (Qfunction_documentation): New variable.
11836 (syms_of_doc): Initialize Qfunction_documentation.
11837 (Fdocumentation): If FUNCTION is a symbol with non-nil
11838 `function-documentation' property, return a documentation derived
11839 from that.
11840
bd96bd79
GM
11841 * buffer.c (syms_of_buffer): Add default-cursor-type.
11842 (init_buffer_once): Don't let cursor_type have a local value
11843 in every buffer.
11844
19d1bc27
GM
11845 * xterm.c (x_display_and_set_cursor): Choose cursor depending
11846 on buffer-local value of cursor_type.
11847 (x_draw_bar_cursor): Add parameter WIDTH.
11848
11849 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
11850 (init_buffer_once): Set default cursor_type value to t.
11851 Mark cursor_type as local everywhere.
11852 (syms_of_buffer): New per-buffer variable cursor-type.
11853
89e80928
GM
11854 * buffer.h (struct buffer): Remove member local_var_flags,
11855 add local_flags.
11856 (MAX_BUFFER_LOCAL_VARS): New macro.
11857 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
11858 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
11859 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
11860 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
11861
52283633 11862 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
11863
11864 * category.c (Fset_category_table): Use new macros for per-buffer
11865 variables.
11866
11867 * buffer.c (buffer_permanent_local_flags): Make a char array.
11868 (max_buffer_local_idx): New variable.
11869 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
11870 for new handling of per-buffer variables.
11871 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
11872 (init_buffer_once): Initialize per-buffer vars differently.
11873 Set max_buffer_local_idx.
11874
11875 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
11876 variables.
11877
52283633 11878 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
11879
11880 * data.c (do_symval_forwarding, store_symval_forwarding)
11881 (find_symbol_value, set_internal, default_value, Fset_default)
11882 (Fkill_local_variable, Flocal_variable_p): Use new macros for
11883 per-buffer variables.
11884
11885 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
11886
9a0dd3dc
GM
118872000-03-24 Gerd Moellmann <gerd@gnu.org>
11888
b68c375f
GM
11889 * xterm.c (x_term_init): Unblock input around call1 of
11890 Qvendor_specific_keysyms.
11891
9a0dd3dc
GM
11892 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
11893 (find_defun_start): Consider an open parenthesis in column 0
11894 a defun start only if open_paren_in_column_0_is_defun_start is set.
11895 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
11896
7973e637
SM
118972000-03-24 Stefan Monnier <monnier@cs.yale.edu>
11898
11899 * eval.c (Fautoload): Add entry in load-history (if after dump).
11900 * lread.c (load-history): Update docstring.
11901
39210e90
GM
119022000-03-24 Gerd Moellmann <gerd@gnu.org>
11903
11904 * indent.c (Fvertical_motion): Always use the current buffer.
11905 Temporarily change the window's buffer, if necessary.
11906
72db3ab5
GM
119072000-03-23 Gerd Moellmann <gerd@gnu.org>
11908
11909 * xterm.c (fast_find_position): Make sure not to consider rows
11910 not visible in the window.
11911
990b2375
SM
119122000-03-22 Stefan Monnier <monnier@cs.yale.edu>
11913
11914 * regex.c (enum syntaxcode): Provide default for non-Emacs.
11915 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
11916
ff4df011
JR
119172000-03-22 Jason Rumney <jasonr@gnu.org>
11918
11919 * w32menu.c (single_submenu): Set help string to NULL if none.
11920 (w32_menu_show): Set help string correctly.
11921 (add-menu-item): Set help string in MIIM_DATA for menu item.
11922 Load SetMenuItemInfoA explicitly.
11923 (w32_menu_display_help): New function.
427ec082 11924
ff4df011
JR
11925 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
11926 (QCdata): Moved to xdisp.c.
11927
11928 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
11929 (Vw32_charset_to_codepage_alist): Removed.
11930 (Vw32_charset_info_alist): New variable.
52283633
SM
11931 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
11932 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
11933 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
11934 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
11935 with TODO comment.
11936 (w32_codepage_for_font): Use Vw32_charset_info_alist.
11937 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
11938 Define Vw32_charset_info_alist and w32_charset symbols.
11939
119402000-03-22 Jason Rumney <jasonr@gnu.org>
11941
11942 * makefile.nt (w32bdf.obj): Update dependencies.
11943
11944 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
11945
11946 * w32fns.c: Include fontset.h after dispextern.h.
11947 (Fx_create_frame): Do not create fontset.
11948 (w32_load_system_font): Doc fix.
11949 (Fx_close_connection): Free full_name if it is not shared.
11950
11951 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
11952 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
11953 Callers updated.
ff4df011
JR
11954 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
11955 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
11956 (w32_font_is_double_byte): New function, needs body.
11957 (x_append_glyph): Set glyph->glyph_not_available_p.
11958 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
11959 it->charset. If it->multibyte_p is zero and it->c is a multibyte
11960 character, convert it to a unibyte character.
11961 (struct glyph_string): Delete member `charset'.
11962 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
11963 calculating it is found.
11964 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
11965 the case that per char metric is not available correctly.
11966 (x_fill_glyph_string): Handle the case that the specific glyph is
11967 not available correctly.
11968 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
11969 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
11970 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
11971 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
11972 fontset. Don't call FS_LOAD_FONT.
11973
439d5cb4
KR
119742000-03-22 Ken Raeburn <raeburn@gnu.org>
11975
11976 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
11977 (INT_LISPLIKE): New macro.
11978 (NULL_INTERVAL_P): Use it.
52283633
SM
11979 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
11980 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
11981 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
11982
11983 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
11984 explicit references to "parent" field of struct interval and
11985 associated unclean type conversions.
52283633
SM
11986 * intervals.c (create_root_interval, root_interval, rotate_right)
11987 (rotate_left, balance_possible_root_interval, split_interval_right)
11988 (split_interval_left, interval_start_pos, find_interval)
11989 (next_interval, previous_interval, update_interval)
11990 (adjust_intervals_for_insertion, delete_node, delete_interval)
11991 (adjust_intervals_for_deletion, merge_interval_right)
11992 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
11993 (copy_intervals_to_string): Likewise.
439d5cb4
KR
11994 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
11995 Likewise.
11996 * syntax.c (update_syntax_table): Likewise.
11997
11998 * intervals.c (reproduce_tree_obj): New function, like
11999 reproduce_tree but takes a Lisp_Object for the parent. Declare
12000 with prototype.
12001 (graft_intervals_into_buffer): Use it when appropriate.
12002 (reproduce_tree): Declare with prototype.
12003 (balance_possible_root_interval): Check that the parent is a lisp
12004 object before trying to examine its type.
12005
ee1c5b21
GM
120062000-03-22 Gerd Moellmann <gerd@gnu.org>
12007
12008 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
12009 as strings only if both are known to be strings.
12010
12011 * s/openbsd.h (LIBS_TERMCAP): Undef.
12012
1fb352e0
SM
120132000-03-21 Stefan Monnier <monnier@cs.yale.edu>
12014
12015 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
12016 definitions for non-Emacs compilation.
12017 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
12018 outside of `#ifdef emacs'.
12019 (print_partial_compiled_pattern): Update.
12020 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
12021 (re_compile_fastmap): Merge handling of charset and charset_not (for
12022 emacs and non-emacs compilation as well).
12023 Similarly for (not)categoryspec and (not)syntaxspec.
12024 Don't use the fastmap when reaching `anychar' since the added
12025 complexity is not justified.
12026 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
12027 and (not)syntaxspec. Merge (not)categoryspec.
12028
fdaa1f77
KH
120292000-03-22 Kenichi Handa <handa@etl.go.jp>
12030
52283633
SM
12031 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
12032 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 12033 --without-x.
fdaa1f77 12034
d152fb46
DL
120352000-03-21 Dave Love <fx@gnu.org>
12036
12037 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
12038 doc string.
12039
d2cafc8c
GM
120402000-03-21 Gerd Moellmann <gerd@gnu.org>
12041
12042 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
12043 (lface_fully_specified_p): Don't check contents of
12044 LFACE_FONT_INDEX because that attribute is optional.
12045 (realize_x_face): Remove now unwarranted xassert.
12046
9111d4b5
KH
120472000-03-21 Kenichi HANDA <handa@etl.go.jp>
12048
12049 The following changes are to make font selection based on
12050 characters, not charset. In addition, they recover fontset
12051 facilities while utilizing the new font selection mechanism.
12052
6c4bfdc0
KH
12053 * Makefile.in (fontset.o): Depend on dispextern.h.
12054
12055 * alloc.c (mark_face_cache): Don't mark face->registry.
12056
9111d4b5
KH
12057 * dispextern.h (struct glyph): New member glyph_not_available_p.
12058 Use 22 bits for face_id.
12059 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
12060 (struct face): Delete member registry, new member ascii_face.
12061 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
12062 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
12063 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 12064 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
12065
12066 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
12067 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
12068 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
12069 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 12070 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
12071 (fs_free_face_fontset, fontset_font_pattern)
12072 (face_suitable_for_char_p, face_for_char)
12073 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
12074 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
12075 (FS_LOAD_FACE_FONT): New macro.
12076
12077 * fontset.c: All codes rewritten or adjusted for the change of
12078 fontset implementation. Now fontset is represented by char table.
52283633
SM
12079 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
12080 Variables removed.
9111d4b5 12081 (my_strcasecmp): Function removed.
52283633 12082 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 12083 (AREF, ASIZE): New macros.
52283633
SM
12084 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
12085 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
12086 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
12087 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
12088 (fontset_id_valid_p, font_family_registry, fontset_name)
12089 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
12090 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
12091 New functions.
12092 (fs_load_font): New arg FACE. Caller changed.
12093 (fs_query_fontset): Argument changed. Caller changed.
12094 (Fquery_fontset): call fs_query_fontset.
12095 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
12096 Functions removed.
52283633
SM
12097 (clear_fontset_elements, check_registry_encoding)
12098 (check_fontset_name): New functions.
9111d4b5
KH
12099 (syms_of_fontset): Set char-table-extra-slots property of fontset
12100 to 3. Staticpro and initialize Vfontset_table and
12101 Vdefault_fontset. Defsubr fontset_font and fontset_list.
12102
12103 * frame.h (struct frame): Member `fontset_data' removed.
12104 (FRAME_FONTSET_DATA): Macro removed.
12105
12106 * frame.c (make_frame): Don't allocate f->fontset_data.
12107 (Fdelete_frame): Don't free f->fontset_data.
12108
6c4bfdc0
KH
12109 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
12110
9111d4b5
KH
12111 * xdisp.c (charset_at_position): Function removed.
12112 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
12113 (handle_face_prop, reseat_to_string, set_iterator_to_next)
12114 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
12115 Likewise.
12116 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
12117 FACE_FOR_CHARSET.
52283633
SM
12118 (get_next_display_element, append_space)
12119 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
12120
12121 * xfaces.c (Qx_charset_registry, Vface_default_registry):
12122 Variables removed.
12123 (clear_font_table, frame_update_line_height, load_face_font):
12124 Adjusted for the change of fontset implementation.
12125 (load_face_fontset_font): Function removed.
12126 (pixel_point_size): New function.
12127 (font_list): Argument type changed. Caller changed.
12128 (LFACE_FONT): New macro.
12129 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
12130 (set_lface_from_font_name): Type of arg FONTNAME is changed to
12131 Lisp_Object. Determine the font name by actually loading a font
12132 by the specified pattern. Set LFACE_FONT (lface) to the specified
12133 pattern. Even if a font is not found, don't try alternatives.
12134 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
12135 (set_font_frame_param): If `font' is specified in lface, use it.
12136 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
12137 (lface_same_font_attributes_p): Likewise.
12138 (make_realized_face): Arguent changed. Caller changed. Set
12139 face->ascii_face to face itself.
12140 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
12141 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
12142 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
12143 (free_realized_multibyte_face): New function.
12144 (lookup_face, lookup_named_face, lookup_derived_face): Argument
12145 changed. Caller changed.
12146 (try_font_list): Argument type changed.
12147 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
12148 (choose_face_font): Argument changed. Handle fontset properly.
12149 (choose_face_fontset_font): Function removed.
12150 (realize_default_face, realize_named_face): Don't remove the
12151 former face here.
12152 (realize_face): Argument changed. Caller changed. Remove face
52283633 12153 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
12154 (realize_x_face): Argument changed. Caller changed. For a
12155 multibyte character, share fontset with base_face. For a single
52283633 12156 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
12157 (realize_tty_face): Argument changed. Caller changed.
12158 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
12159 (face_at_buffer_position): Don't check multibyte_p for returning
12160 DEFAULT_FACE_ID.
12161 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
12162 FACE_SUITABLE_FOR_CHARSET_P.
12163 (syms_of_xfaces): Remove code for Qx_charset_registry and
12164 Vface_default_registry.
12165
6c4bfdc0
KH
12166 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
12167 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
12168 (x_per_char_metric): Don't try FONT->default_char. Even if
12169 pcm->width is zero, glyph bits may exist.
12170 (x_encode_char): Always initialize char2b->byte1.
12171 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 12172 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
12173 (x_append_glyph): Set glyph->glyph_not_available_p.
12174 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12175 it->charset. Handle the case that per char metric is not
12176 available. If it->multibyte_p is zero and it->c is a multibyte
12177 character, convert it to a unibyte character.
12178 (struct glyph_string): Delete member `charset'.
12179 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12180 the case that per char metric is not available correctly.
12181 (x_fill_glyph_string): Handle the case that the specific glyph is
12182 not available correctly.
12183 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12184 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12185 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12186 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12187 fontset. Don't call FS_LOAD_FONT.
12188
12189 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
12190 (x_create_tip_frame): Likewise.
12191 (Fx_close_connection): Free full_name of font_info.
12192
12193 * fns.c (optimize_sub_char_table): New function.
12194 (Foptimize_char_table): New function.
12195 (syms_of_fns): Defsubr Soptimize_char_table.
12196
b33dd3b0
GM
121972000-03-20 Gerd Moellmann <gerd@gnu.org>
12198
12199 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
12200 only if buffer is displayed in some window.
12201
12202 * xdisp.c (handle_single_display_prop): Initialize local `value'.
12203 (try_window_reusing_current_matrix): Don't call scroll run
12204 function if run's current and desired position are the same;
12205 this prevents cursor flickering.
12206
4e8a9132
SM
122072000-03-19 Stefan Monnier <monnier@cs.yale.edu>
12208
12209 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
12210
12211 * regex.c (RE_STRING_CHAR): New macro.
12212 (GET_CHAR_AFER_2): Remove.
12213 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
12214 (enum re_opcode_t): Remove on_failure_jump_exclusive.
12215 (print_partial_compiled_pattern, re_compile_fastmap)
12216 (re_match_2_internal): Remove on_failure_jump_exclusive.
12217 (regex_compile): Turn optimizable P+ loops into PP*, so that the
12218 optimization only need to work for * (ie. can use of_keep_string_jump).
12219 Remove the special case for .*\n since it is now covered by the general
12220 optimization.
12221 (re_search_2): Don't bother with `room'.
12222 (skip_one_char): New function.
12223 (skip_noops): Simplify since `memory' is not needed any more.
12224 (mutually_exclusive_p): Restructure slightly to use `switch' and
12225 add handling for "all" remaining cases.
12226 (re_match_2_internal): Change on_failure_jump_smart to use
12227 on_failure_keep_string_jump (and redirect the end-of-loop jump)
12228 rather than on_failure_jump_exclusive.
12229
2136fdd4
GM
122302000-03-19 Gerd Moellmann <gerd@gnu.org>
12231
12232 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
12233 number of bits per RGB because it's everywhere used as the depth
12234 of the visual.
12235
12236 * term.c (calculate_costs): Remove code dealing with X frames.
12237
18e21ce8 122382000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
12239
12240 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
12241
d7b511c4
GM
122422000-03-18 Gerd Moellmann <gerd@gnu.org>
12243
12244 * lread.c (read_integer): Unread the last char not consumed.
12245
16b5d424
GM
122462000-03-17 Gerd Moellmann <gerd@gnu.org>
12247
12248 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 12249 which are in the process of being deleted.
16b5d424 12250
1fa28578
GM
122512000-03-16 Gerd Moellmann <gerd@gnu.org>
12252
83488cce
GM
12253 * Makefile.in (mostlyclean): Add `*.core'.
12254 (clean): Add `bootstrap-emacs'.
12255
1fa28578
GM
12256 * lread.c (read_integer): New function.
12257 (read1): Support read syntax #o, #x, #b, #r.
12258
99633e97
SM
122592000-03-15 Stefan Monnier <monnier@cs.yale.edu>
12260
1fa28578
GM
12261 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
12262 make sure POINTER_TO_OFFSET gives the same value before and after
12263 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
12264 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
12265 (debug): Now only active if > 0 rather than if != 0.
12266 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
12267 (print_partial_compiled_pattern): Add missing `succeed' case. Use
12268 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
12269 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
12270 (store_op1, store_op2, insert_op1, insert_op2)
12271 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
12272 (group_in_compile_stack): Move to after its arg's types are
12273 declared and add a prototype.
99633e97 12274 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 12275 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 12276 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
12277 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
12278 indentation of the greedy-op and shy-group code.
99633e97
SM
12279 (at_(beg|end)line_loc_p): Fix argument's types.
12280 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
12281 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
12282 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
12283 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
12284 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
12285 QUIT unconditionally.
99633e97 12286
699238d9
GM
122872000-03-15 Gerd Moellmann <gerd@gnu.org>
12288
12289 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
12290 a sole completion.
12291
12292 * process.c (send_process): Add a hint that the function
12293 can call Lisp code to its comment.
12294
12295 * lread.c (load_dangerous_libraries): New variable.
12296 (Vbytecomp_version_regexp): New variable.
12297 (safe_to_load_p): New function.
12298 (Fload): Handle files not compiled with Emacs specially.
12299 (syms_of_lread): New Lisp variable load-dangerous-libraries.
12300
34e23e5a
GM
123012000-03-14 Gerd Moellmann <gerd@gnu.org>
12302
9c763cca
GM
12303 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
12304
12305 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
12306 support functions only if HAVE_X11R6_XIM is defined.
12307 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
12308
12309 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
12310
12311 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 12312 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
12313 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
12314
12315 * config.in (HAVE_X_I18N): Moved here from xterm.h.
12316 (HAVE_X11R6_XIM): Define.
12317
12318 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
12319
34e23e5a
GM
12320 * xterm.c (x_term_init): Add support for X resource `synchronous'.
12321 If set, call XSynchronize.
12322
66f0296e
SM
123232000-03-13 Stefan Monnier <monnier@cs.yale.edu>
12324
34e23e5a
GM
12325 * regex.c: Declare a new type `re_char' used throughout the code
12326 for the string char type. It's `const unsigned char' to match the
12327 rest of Emacs. Consistently make sure all pointers to strings use
52283633 12328 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 12329 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
12330 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
12331 code duplication.
66f0296e
SM
12332
12333 * charset.h (GET_CHAR_AFTER_2): Remove.
12334 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
12335
854a025c
KR
123362000-03-12 Ken Raeburn <raeburn@gnu.org>
12337
12338 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
12339 variable before the invocation of YMF_PASS_LDFLAGS, in case both
12340 of them try to use backquotes.
12341
b9d2c7e2
DL
123422000-03-12 Dave Love <fx@gnu.org>
12343
12344 * unexelf.c: Restore changes of 1999-10-19.
12345 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
12346 fix its type and alignment; copy it from current process.
12347
5e5dff44
GM
123482000-03-12 Gerd Moellmann <gerd@gnu.org>
12349
9b2f3c38
GM
12350 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
12351 has been found. Fix bug not computing timer's predecessor.
12352
427ec082 12353 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
12354 file name.
12355
e1cff360
GM
12356 * window.c (Fsave_window_excursion): Doc fix.
12357
52283633 12358 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 12359
e411ce4b
EZ
123602000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
12361
12362 * msdos.c (vga_installed): New function, code moved from
12363 dos_set_window_size.
12364 (Qbar, Qcursor_type, outside_cursor): New variables.
12365 (syms_of_msdos): Intern and staticpro them.
12366 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
12367 shape used outside Emacs when called for the first time.
12368 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
12369 cursor shape used outside Emacs.
12370 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
12371 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
12372 type has changed.
12373 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
12374 parameters specify the cursor. Make qreverse a global
12375 variable (renamed to Qreverse).
12376
80460654
GM
123772000-03-09 Gerd Moellmann <gerd@gnu.org>
12378
12379 * fns.c (Fy_or_n_p): Cancel busy-cursor.
12380
95cd4c40
SM
123812000-03-08 Stefan Monnier <monnier@cs.yale.edu>
12382
12383 This is a big redesign of failure-stack and register handling, prompted
12384 by bugs revealed when trying to add shy-groups. Overall, what happened
12385 is that loops are now structured a little differently, groups can be
12386 shy and the code is a little simpler.
12387
12388 * regex.h: Update the copyright.
12389 (RE_SHY_GROUPS): New value.
12390 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
12391 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
12392
80460654
GM
12393 * regex.c (enum re_opcode_t): Remove jump_past_alt,
12394 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
12395 on_failure_jump_(exclusive, loop and smart). Also fix the comment
12396 for (start|stop)_memory since they now only take one argument (the
12397 second has becomes unnecessary).
52283633 12398 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
12399 (print_compiled_pattern): Use %ld to printf long ints and flush to
12400 make debugging a little easier.
95cd4c40
SM
12401 (union fail_stack_elt): Make the integer unsigned.
12402 (struct fail_stack_type): Add a `frame' element.
12403 (INIT_FAIL_STACK): Init `frame' as well.
12404 (POP_PATTERN_OP): New macro for re_compile_fastmap.
12405 (DEBUG_PUSH, DEBUG_POP): Remove.
12406 (NUM_REG_ITEMS): Remove.
12407 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
12408 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
12409 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 12410 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
12411 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
12412 New macros.
80460654
GM
12413 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
12414 address pushed is not the destination of the jump but the source
12415 of it instead.
95cd4c40
SM
12416 (NUM_FAILURE_ITEMS): Remove.
12417 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
12418 registers before the actual failure point). Don't hardcode any
12419 meaning for str==NULL anymore.
95cd4c40 12420 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
12421 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
12422 Remove.
95cd4c40
SM
12423 (REG_UNSET_VALUE): Use NULL (why not?).
12424 (compile_range): Remove declaration since it doesn't exist.
12425 (struct compile_stack_elt_t): Remove inner_group_offset.
12426 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
12427 (regex_grow_registers): Remove dead code.
12428 (FIXUP_ALT_JUMP): New macro.
80460654
GM
12429 (regex_compile): Add shy-groups Change loops to use
12430 on_failure_jump_smart&jump instead of
12431 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
12432 initial (dummy_failure_)jump. Remove c1_base (looks like unused
12433 variable to me). Use `jump' instead of `jump_past_alt' and don't
12434 bother with push_dummy_failure in alternatives since it is now
12435 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
12436 emacs' for (re)allocating the stack.
12437 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
12438 from loop when bufp->can_be_null rather than jumping to `done'.
12439 Avoid jumping backwards so as to ensure termination. Use
12440 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
12441 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 12442 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
12443 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
12444 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
12445 (lowest_active_reg, highest_active_reg)
12446 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
12447 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
12448 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
12449 variables. Push register (in `start_memory') on the stack rather
12450 than storing it in old_reg(start|end). Remove the cycle detection
12451 from `stop_memory', replaced by the use of on_failure_jump_loop
12452 for greedy loops. Add code for the new on_failure_jump_<foo>.
12453 Remove ad-hoc code in `on_failure_jump' to push more registers in
12454 the case of a loop. Take out code from `maybe_pop_jump' into
12455 separate functions and adapt it to the semantics of
12456 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
12457 and push_dummy_failure. Remove dummy_failure handling and
12458 handling of `failures to jump to on_failure_jump' (this last one
12459 was already dead code, it seems).
12460 (group_match_null_string_p, alt_match_null_string_p)
12461 (common_op_match_null_string_p): Remove.
95cd4c40 12462
7397acc4
DL
124632000-03-08 Dave Love <fx@gnu.org>
12464
12465 * config.in: Don't depend on __STDC__ for volatile.
12466 Add POINTER_TYPE, PTR, PROTOTYPES.
12467
12468 * hftctl.c, strftime.c: Use PROTOTYPES.
12469 * eval.c (find_handler_clause): Likewise.
12470
12471 * mem-limits.h: Use POINTER_TYPE.
12472
12473 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
12474 (memory_warnings): Declare using POINTER_TYPE.
12475
5e91ff9e
GM
124762000-03-08 Gerd Moellmann <gerd@gnu.org>
12477
feab4fba
GM
12478 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
12479
52283633 12480 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 12481
5e91ff9e
GM
12482 * xfns.c: Remove obsolete code in #if 0.
12483 (Fx_focus_frame): New function.
12484
a735b7e1
KH
124852000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
12486
12487 * coding.c (coding_category_name): Add coding-category-utf-8,
12488 coding-category-utf-16-be, coding-category-utf-16-le.
12489 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
12490 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
12491 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
12492 (detect_coding_utf_8): New function.
12493 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
12494 UTF_16_LOW_SURROGATE_P): New macros.
12495 (detect_coding_utf_16): New function
12496 (detect_coding_mask): When priorities are specified, skip any
12497 categories that have `nil' coding-system. Fix bug of returning
12498 wrong mask when PRIORITIES is specified and detect_coding_XXX()
12499 returns a mask not set in PRIORITIES.
12500 (detect_eol_type_in_2_octet_form): New function.
12501 (detect_eol): selects detect_eol_type_XXX to call according to
12502 cooding->category_idx.
12503 (detect_coding_system): Remove `nil' coding-system in the result.
12504 (Fupdate_coding_systems_internal): Update all coding-categories.
12505
52283633
SM
12506 * coding.h (CODING_CATEGORY_IDX_UTF_8)
12507 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
12508 New macros.
12509 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
12510 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
12511 (CODING_CATEGORY_IDX_UTF_16_LE)
12512 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
12513 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
12514 (CODING_CATEGORY_MASK_ANY): Include the above macros.
12515 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
12516
9994cc69
GM
125172000-03-07 Gerd Moellmann <gerd@gnu.org>
12518
e9b4e5ff
GM
12519 * doc.c (Fdocumentation_property): If value is not a string,
12520 and doesn't refer to etc/DOC, evaluate it to obtain a string.
12521
f7daf1e1
GM
12522 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
12523 close the display with XtCloseDisplay. This caused a bus error
12524 on OpenWindows.
12525
9994cc69
GM
12526 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
12527 complete but not unique.
12528
4336c705
GM
125292000-03-06 Gerd Moellmann <gerd@gnu.org>
12530
18bb0684
GM
12531 * process.c (send_process): Remove local variable `procname' that
12532 might become invalid when a GC happens. Instead, access the
12533 process name slot directly.
12534
4336c705
GM
12535 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
12536 orig_height if set.
12537
12538 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
12539 orig_height if set.
12540
515d0d0e
EZ
125412000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
12542
12543 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
12544 glyph matrices have been freed.
12545
100b3cbb
GM
125462000-03-05 Gerd Moellmann <gerd@gnu.org>
12547
50df5e5a 12548 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 12549 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
12550
12551 * xfns.c (QCdata): Moved to xdisp.c.
12552
12553 * xdisp.c (QCdata): Moved here from xfns.c.
12554 (syms_of_xdisp): Initialize QCdata.
12555
12556 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
12557
12558 * window.c (coordinates_in_window): Use
12559 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
12560 FRAME_INTERNAL_BORDER_WIDTH.
12561
100b3cbb 12562 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 12563 it is obviously invalid.
100b3cbb
GM
12564
12565 * xterm.c (x_term_init): Create a colormap if not using the
12566 default visual.
12567
12568 * xterm.h (select_visual): Change prototype.
12569
12570 * xfns.c (select_visual): Rewritten. Recognize user-specified
12571 visual classes.
12572 (visual_classes): New variable.
12573
64d739c4
GM
125742000-03-04 Gerd Moellmann <gerd@gnu.org>
12575
12576 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
12577 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
12578 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 12579 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
12580 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
12581 XtNcolormap resources.
12582 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
12583 (Fx_create_frame): Initialize color members of x_output structure.
12584 (xpm_load): Pass colormap to XPM lib.
12585
12586 * xfaces.c (x_free_colors): Access colormap of frame using
12587 FRAME_X_COLORMAP. Be paranoid about freeing black and white
12588 when default colormap is used.
12589
12590 * xterm.c (x_term_init): Set Colormap member of x_display_info
12591 structure. Copy colormap if resource `privateColormap' is
12592 specified (PseudoColor only).
12593 (x_setup_relief_color): Access colormap of frame using
12594 FRAME_X_COLORMAP.
12595
12596 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
12597 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
12598
c3cee013
JR
125992000-03-04 Jason Rumney <jasonr@gnu.org>
12600
12601 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
12602 other non-platform-specific equivalents.
64d739c4 12603 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
12604 specific functions and macros as their w32 equivalents where
12605 non-platform-specifics are not available.
12606 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
12607 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
12608 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
12609 (frame_update_line_height): Use macros to access f->output_data.
12610 (defined_color): Remove FIXME comments; fixed.
12611 (x_face_list_fonts, prepare_face_for_display): Put X specifics
12612 into #ifdef blocks. Add WINDOWSNT blocks.
12613 (Fx_list_fonts): Use macros for accessing font data.
12614 (set_lface_from_font_name): Different default fonts for X and
12615 WINDOWSNT.
12616 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
12617 scalable for backward compatibility.
64d739c4 12618 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
12619 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
12620
64d739c4 12621 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
12622 syms_of_w32faces.
12623
12624 * makefile.nt (w32faces.obj): Remove.
12625 (xfaces.obj): Add.
12626
807cc41c
JR
126272000-03-03 Jason Rumney <jasonr@gnu.org>
12628
12629 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
12630 correct parameters.
12631
0007072a
KR
126322000-03-03 Ken Raeburn <raeburn@gnu.org>
12633
12634 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
12635 standard ELF definitions here if the system header does not.
12636
71a6ba55
GM
126372000-03-03 Gerd Moellmann <gerd@gnu.org>
12638
12639 * xterm.c (PER_CHAR_METRIC): Removed.
12640 (x_per_char_metric_1, x_default_char): New functions.
12641 (x_per_char_metric): If font's default char is invalid, return
12642 metrics of a suitably chosen usable default char.
12643 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
12644 char, replace occurrences of unprintable chars with a suitably
12645 chosen usable default char.
71a6ba55 12646
900fa1f1
GM
126472000-03-02 Gerd Moellmann <gerd@gnu.org>
12648
42f55fe0
GM
12649 * xterm.c (note_mouse_highlight): Return quickly if frame's
12650 glyph matrices have been freed.
12651
12652 * dispnew.c (free_glyphs): Block input while freeing matrices.
12653
900fa1f1
GM
12654 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
12655
52283633
SM
12656 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
12657 Use x_free_colors.
900fa1f1
GM
12658
12659 * dispextern.h (x_free_colors): Add prototype.
12660
12661 * xfaces.c (x_free_colors): New function.
12662 (unload_color, free_face_colors): Use it.
12663
2f950292
EZ
126642000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
12665
12666 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
12667
12668 * window.c [MSDOS]: Include msdos.h.
12669
54d04320
DL
126702000-03-02 Dave Love <fx@gnu.org>
12671
12672 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
12673
12674 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
12675 set C_OPTIMIZE_SWITCH for gcc.
12676
0ba93ac4
KH
126772000-03-02 Kenichi Handa <handa@etl.go.jp>
12678
12679 * coding.c (coding_save_composition): Be sure to allocate
12680 composition data area in coding even if there's no composition in
12681 the current run.
12682
a2bc11d4
JR
126832000-03-01 Jason Rumney <jasonr@gnu.org>
12684
12685 * w32term.c: Equivalent changes to those made to xterm.c on
12686 2000-02-25 and 2000-02-24.
12687
12688 * w32fns.c: Equivalent changes to those made to xfns.c on
12689 2000-02-25 and 2000-02-21.
12690
12691 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
12692 correct line-end convention is followed.
12693
12694 * w32menu.c [HAVE_BOXES]: Remove #undef.
12695 (single_keymap_panes): Remove code for simulating checkmarks.
12696 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
12697 Remove code for drawing simulated checkmarks.
12698 (w32_menu_show): make unibyte help string correctly.
12699 (add_menu_item): draw standard Windows checkmarks. Draw radio
12700 buttons as radio buttons if possible.
12701
72d19d75
GM
127022000-03-01 Gerd Moellmann <gerd@gnu.org>
12703
2df636f4
GM
12704 * sysdep.c (start_of_text): Don't define this function for NetBSD
12705 with ELF.
12706
427ec082 12707 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
12708 Don't define.
12709 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
12710 (LINKER): Don't undef if __NetBSD__ is defined.
12711
12712 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
12713
12714 * fileio.c [__NetBSD__]: Define `unix'.
12715
72d19d75
GM
12716 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
12717
ed4d0512
GM
127182000-02-29 Gerd Moellmann <gerd@gnu.org>
12719
50b1039f
GM
12720 * atimer.c (start_atimer): Don't abort when timers are stopped.
12721 (append_atimer_lists): New function.
12722 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
12723 arbitrary lists of stopped and running atimers.
12724
ed4d0512
GM
12725 * atimer.c (cancel_atimer): Handle canceling an atimer when
12726 some timers are stopped.
12727
12728 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
12729 after canceling it.
12730
12731 * fns.c (maybe_resize_hash_table): Handle case of new size
12732 coming out as being the same as old size.
12733
387023ee
JR
127342000-02-27 Jason Rumney <jasonr@gnu.org>
12735
12736 * makefile.nt: Add atimer.h to dependencies.
12737 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
12738 * w32console.c: Only disable window system features for dispextern.h
12739 (initialize_w32_display): Build a display info for the console.
12740 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
12741 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
12742 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
12743 as 2 button mice.
12744 * w32gui.h (struct W32FontStruct): Revert last change after change
12745 to xdisp.c.
12746 * w32menu.c (single_submenu): Set up help string.
12747 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
12748 (w32_dialog_show): Set up help string.
12749 * w32term.c (w32_display_info_for_display): Remove unused function.
12750 (w32_draw_bitmap): Use pre-built bitmaps.
12751 (w32_initialize_display_info): New function to initialize parts of
12752 display info that are common to both GUI and console frames.
12753 (w32_term_init): Use w32_initialize_display_info. Do not set
12754 Vw32_num_mouse_buttons here, as it is not called for console
12755 frames. Build bitmaps for indicating truncated lines etc.
12756 (x_delete_display): Destroy pre-built bitmaps.
12757 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
12758 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
12759
4516715a
DL
127602000-02-27 Dave Love <fx@gnu.org>
12761
12762 * lisp.h: Add a bunch of prototypes.
12763
171ca836
KH
127642000-02-26 Kenichi Handa <handa@etl.go.jp>
12765
12766 * keyboard.c (read_char): Set `usec' correctly.
12767
4013921d
KH
127682000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
12769
12770 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
12771 `lambda', set reg[RRR] to the map index.
12772 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
12773 reg[RRR] to 0. Otherwise, set it to -1.
12774
9244a058
GM
127752000-02-25 Gerd Moellmann <gerd@gnu.org>
12776
2df636f4 12777 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 12778
18e21ce8 127792000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 12780
f43d79c1
GM
12781 * fileio.c (Ffile_symlink_p): If result starts with a `/'
12782 and contains a `:', prepend `/:'.
12783
12784 * window.c (select_window_1): If selected_window is nil,
12785 don't "swap out" the buffer's point.
12786 (Fset_window_configuration): Set selected_window to nil
12787 before calling Fselect_window.
12788 (unshow_buffer): Don't set point in buffer from window's point
12789 if another more recently selected window also shows the buffer.
12790
bed0c171
GM
127912000-02-25 Gerd Moellmann <gerd@gnu.org>
12792
449c3c52
GM
12793 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
12794
f5b58615
GM
12795 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
12796 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
12797 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
12798 New variables.
f5b58615
GM
12799 (DEFAULT_BUSY_CURSOR_DELAY): New define.
12800 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
12801 (hide_busy_cursor): New functions.
12802 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
12803
12804 * minibuf.c (read_minibuf): Cancel busy-cursor.
12805
12806 * keyboard.c (command_loop_1): Call start_busy_cursor before
12807 Fcommand_execute and cancel_busy_cursor after it.
12808 (timer_check): Remove busy-cursor code.
12809 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
12810 cursor timer.
12811
12812 * process.c (wait_reading_process_input): Remove busy-cursor code.
12813
12814 * eval.c (Fsignal): Call cancel_busy_cursor instead of
12815 Fx_hide_busy_cursor.
12816
12817 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
12818 Remove prototyoes.
12819 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
12820
12821 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
12822
12823 * xterm.c (XTread_socket): Remove busy-cursor code.
12824
4eb8436f
GM
12825 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
12826 (build_frame_matrix_from_leaf_window): Put code handling
12827 glyph row's not being a slice of a frame row in #if 0.
12828 (sync_window_with_frame_matrix_rows): New function.
12829 (frame_row_to_window): New function.
12830 (mirror_line_dance): Handle copies between windows.
12831
3cb65b0e
GM
12832 * lread.c (Fload): Use `xfree' instead of `free'.
12833 (init_obarray): Use `xmalloc' instead of `malloc'.
12834
bed0c171
GM
12835 * window.c (Fset_window_buffer): Set WINDOW to the window
12836 after decoding.
2add4349
GM
12837 (coordinates_in_window): Take frame's internal border width
12838 into account.
bed0c171 12839
42088c12
GM
128402000-02-24 Gerd Moellmann <gerd@gnu.org>
12841
12842 * xterm.c (x_display_and_set_cursor): Display cursor of
12843 non-selected windows depending on the setting of
12844 cursor_in_non_selected_windows.
12845
12846 * xdisp.c (cursor_in_non_selected_windows): New variable.
12847 (syms_of_xdisp): DEFVAR_BOOL it.
12848
d1e103b2
GM
128492000-02-23 Gerd Moellmann <gerd@gnu.org>
12850
723e779c
GM
12851 * data.c (Fstring_to_number): If number is greater than what
12852 fits into an integer, return a float.
12853
d1e103b2
GM
12854 * eval.c (specbind): Remove references to
12855 keyword_symbols_constant_flag.
12856
12857 * data.c (keyword_symbols_constant_flag): Removed.
12858 (Fmakunbound, set_internal, syms_of_data): Remove references to
12859 keyword_symbols_constant_flag.
12860
12861 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
12862
214f877f
KH
128632000-02-23 Kenichi Handa <handa@etl.go.jp>
12864
12865 * syntax.c (multibyte_syntax_as_symbol): New variable.
12866 (syms_of_syntax): Declare it as a Lisp variable.
12867 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
12868 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
12869 nonzero, treat all multibyte characters as symbol.
52283633 12870 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 12871
130adcb7
EZ
128722000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
12873
3cb65b0e 12874 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 12875 a deleted frame.
130adcb7 12876
17cbbf95
GM
128772000-02-21 Gerd Moellmann <gerd@gnu.org>
12878
12879 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
12880
12881 * xfns.c (x_window_to_frame, x_any_window_to_frame)
12882 (x_non_menubar_window_to_frame): Check the busy-cursor window.
12883
beb0bc36
DL
128842000-02-21 Dave Love <fx@gnu.org>
12885
12886 * frame.c (Vmouse_position_function): New variable.
12887 (Fmouse_position): Use it.
12888 (syms_of_frame): Install it.
12889
12890 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
12891
1d92afcd
GM
128922000-02-20 Gerd Moellmann <gerd@gnu.org>
12893
12894 * fileio.c (Finsert_file_contents): Unbind the binding of
12895 standard-output done by temp_output_buffer_setup.
329eed9f
GM
12896
12897 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
12898 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
12899 (specbind, unbind_to): Handle most common case of non-constant
12900 symbol with trivial value specially.
12901
12902 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
12903
18e21ce8 129042000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
12905
12906 * data.c (Fmake_variable_buffer_local): Doc fix.
12907 Init found_for_buffer to 0.
12908 (Fmake_variable_frame_local): If the variable has already
12909 been buffer-local, set the check_frame field.
12910
1d4311c3
EZ
129112000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
12912
12913 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
12914 produced for CODING_MODE_LAST_BLOCK requires.
12915
2dc95ddd
DL
129162000-02-18 Dave Love <fx@gnu.org>
12917
12918 * keyboard.c (echo_keystrokes): Remove declaration.
12919 (Vecho_keystrokes) New variable.
12920 (read_char, record_menu_key, read_key_sequence): Use it to allow
12921 use of float value.
12922 (syms_of_keyboard): Change Vecho_keystrokes declaration.
12923
12924 * lread.c: Undef feature selection macros before defining.
12925
f0930f35
GM
129262000-02-18 Gerd Moellmann <gerd@gnu.org>
12927
12928 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
12929 for symbols other than the symbol in question.
12930
e3d4de90
DL
129312000-02-17 Dave Love <fx@gnu.org>
12932
12933 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
12934
0b378936
GM
129352000-02-17 Gerd Moellmann <gerd@gnu.org>
12936
d621caf7
GM
12937 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
12938
0b378936
GM
12939 * alloc.c (enum mem_type): Compile unconditionally.
12940
3b451f74
EZ
129412000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
12942
12943 * xfaces.c (tty_defined_color): Don't return faulire indication
12944 for unspecified-fg and unspecified-bg pseudo-colors.
12945
10689a01
GM
129462000-02-17 Gerd Moellmann <gerd@gnu.org>
12947
1216f5e4
GM
12948 * alloc.c (mark_object): Don't mark symbol names in pure space.
12949 (gc_sweep): Don't unmark symbol names in pure space.
12950
12951 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
12952 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
12953 [GC_MARK_STACK]: New defines.
427ec082 12954 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
12955 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
12956
12957 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
12958
12959 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
12960 allocate_buffer instead of xmalloc.
12961
12962 * alloc.c (toplevel): Include setjmp.h.
12963 (PURE_POINTER_P): New define.
12964 (enum mem_type) [GC_MARK_STACK]: New enumeration.
12965 (Vdead) [GC_MARK_STACK]: New variable.
12966 (lisp_malloc): Add parameter TYPE, call mem_insert if
12967 GC_MARK_STACK is defined.
12968 (allocate_buffer): New function.
427ec082 12969 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
12970 (free_float) [GC_MARK_STACK]: Set type to Vdead.
12971 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
12972 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
12973 (MEM_NIL) [GC_MARK_STACK]: New define.
12974 (struct mem_node) [GC_MARK_STACK]: New structure.
12975 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
12976 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
12977 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
12978 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
12979 (mark_stack) [GC_MARK_STACK]: New functions.
12980 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
12981 (clear_marks): Removed.
12982 (gc_sweep): Set free conses' car, free floats' type, free
12983 symbols' function to Vdead. Use lisp_free to free buffers.
12984 (init_alloc_once): Initialize Vdead.
12985 (survives_gc_p): Return non-zero for pure objects.
12986
12987 * alloc.c: Add comments throughout the file.
12988
2503c8b1
GM
12989 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
12990 that unblocks alarms.
12991
8389e1e2
GM
12992 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
12993 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
12994 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
12995
10689a01 12996 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 12997
bfc17d18
KH
129982000-02-17 Kenichi Handa <handa@etl.go.jp>
12999
4a09dee0
KH
13000 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
13001 avoid infinite error signaling. Allocate sufficient memory for
13002 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 13003
2b927d02
SM
130042000-02-17 Stefan Monnier <monnier@cs.yale.edu>
13005
13006 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
13007 depends on the previous behavior.
13008
b49cb764
GM
130092000-02-16 Gerd Moellmann <gerd@gnu.org>
13010
13011 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
13012
99e95407
GM
130132000-02-15 Gerd Moellmann <gerd@gnu.org>
13014
13015 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
13016
13017 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 13018 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
13019 write(2).
13020
6ffd3cf7
RS
130212000-02-15 Richard M. Stallman <rms@gnu.org>
13022
13023 * data.c (set_internal): Don't make variable buffer-local
13024 if within a let-binding for the same buffer.
13025 (let_shadows_buffer_binding_p): New function.
13026
13027 * eval.c (specbind): For buffer-local value,
13028 record the current buffer also.
13029 (unbind_to): Cope with that change.
13030
cad53475
GM
130312000-02-15 Gerd Moellmann <gerd@gnu.org>
13032
13033 * window.c (Fsave_window_excursion): Doc fix.
13034
1aa963c8
SM
130352000-02-15 Stefan Monnier <monnier@cs.yale.edu>
13036
13037 * syntax.c (back_comment): Make sure we only consider comment-starters
13038 of the relevant style and return -1 in case of a failure to find the
13039 beginning of the comment.
13040 (Fforward_comment): If back_comment fails, go back to the position just
13041 after the comment-end.
13042 (scan_lists): Add comment describing a very minor bug.
13043
b9b84fd3
SM
130442000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13045
13046 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
13047 `completion-regexp-list' in the docstring.
13048
3a28db80
DL
130492000-02-14 Dave Love <fx@gnu.org>
13050
13051 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
13052
fb4a568d
SM
130532000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13054
13055 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
13056 to Emacs' syntax. Also fix the comment about set/not-set meanings
13057 since Emacs syntax is not the value 0 any more.
13058 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
13059 since it's now part of RE_SYNTAX_EMACS.
13060
1063ebb5
DL
130612000-02-12 Dave Love <fx@gnu.org>
13062
52283633 13063 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 13064
fb07a302
GM
130652000-02-12 Gerd Moellmann <gerd@gnu.org>
13066
13067 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
13068
aaf2320c
DL
130692000-02-12 Dave Love <fx@gnu.org>
13070
13071 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
13072
13073 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
13074 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
13075 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
13076
13077 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
13078
13079 * s/nextstep.h: Don't define HAVE_ALLOCA.
13080
13081 * config.in: Add vfork bits.
13082
eedf8bde
GM
130832000-02-12 Gerd Moellmann <gerd@gnu.org>
13084
13085 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
13086 unwind function to undo the effect of stopping atimers.
13087
52283633 13088 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
13089
13090 * atimer.c (stopped_atimers): New variable.
13091 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
13092 New functions.
13093
13094 * atimer.h (stop_other_atimers, run_all_atimers)
13095 (unwind_stop_other_atimers): Add function prototypes.
427ec082 13096
eedf8bde
GM
13097 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
13098
8476c2f8
KR
130992000-02-11 Ken Raeburn <raeburn@gnu.org>
13100
13101 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
13102 library may depend on jpeg.
13103 (atimer.o): Depends on atimer.c.
13104
0e85e4a3
KH
131052000-02-11 Kenichi Handa <handa@etl.go.jp>
13106
13107 * insdel.c (del_range_1): Call update_compositions.
13108 (del_range_both): Call update_compositions just once..
13109
97fa0cc8
DL
131102000-02-10 Dave Love <fx@gnu.org>
13111
13112 * xfns.c (create_frame_xic): Fix initialization of automatic
13113 aggregates for pcc.
13114
25566a3c
KH
131152000-02-09 Kenichi Handa <handa@etl.go.jp>
13116
13117 * ccl.c (CCL_MAKE_CHAR): New macro.
13118 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
13119 registers by CCL_MAKE_CHAR before calling translate_char.
13120 <CCL_TranslateCharacterConstTbl> Likewise.
13121
69da54ba
DL
131222000-02-08 Dave Love <fx@gnu.org>
13123
13124 * lread.c (__EXTENSIONS__): Define.
13125
f7136ee8
GM
131262000-02-08 Gerd Moellmann <gerd@gnu.org>
13127
13128 * puresize.h (BASE_PURESIZE): Increase to 650000.
13129
7768790b
EZ
131302000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13131
13132 * msdos.c (XMenuActivate): Turn off the cursor after displaying
13133 the help message.
13134
38fd211b
EZ
131352000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13136
13137 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
13138 md, mh, mb, mr, and me to the fake termcap entry.
13139
66e4690f
KR
131402000-02-06 Ken Raeburn <raeburn@gnu.org>
13141
13142 * sound.c (sound_cleanup): Don't call device close routine if the
13143 function pointer is null.
13144
a75dfea0
AI
131452000-02-06 Andrew Innes <andrewi@gnu.org>
13146
13147 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
13148 around image definitions and prototypes.
13149 (gamma_correct) [WINDOWSNT]: New prototype.
13150
13151 * w32term.c (x_make_frame_visible): Replace call to
13152 input_poll_signal with poll_for_input.
13153
13154 * window.c [WINDOWSNT]: Include w32term.h.
13155
13156 * xdisp.c [WINDOWSNT]: Include w32term.h.
13157
13158 * makefile.nt: Add dependencies on w32gui.h.
13159 (OBJ1): Include atimer.obj.
13160 ($(BLD)\atimer.obj): New dependency rule.
13161
13162 * w32.c (sigmask): New function (does nothing).
13163 (sigunblock): Ditto.
13164
13165 * frame.c [WINDOWSNT]: Include w32term.h.
13166
13167 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
13168
13169 * lread.c (syms_of_lread): Fix literal newlines.
13170
13171 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
13172 the string constant limit (2048 bytes) in MSVC.
13173 (main): Ditto.
13174
59ddecde
GM
131752000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
13176
52283633 13177 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
13178 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
13179 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
13180 dispatch the event.
13181
07590973
DL
131822000-02-04 Dave Love <fx@gnu.org>
13183
13184 * fileio.c: Remove some unused vars.
13185 (_GNU_SOURCE): Define (for euidaccess).
13186
13187 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
13188
13189 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
13190 gcpro1, gcpro2.
13191 (read_minibuf): Deal with allow_props correctly.
13192
649351f9
EZ
131932000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
13194
13195 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
13196
66e4690f 131972000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
13198
13199 * search.c (compile_pattern): If a cache entry has a nil regexp,
13200 fill in that entry instead of clobbering a previously cached
13201 string regexp.
13202
66e4690f 132032000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
13204
13205 * puresize.h (BASE_PURESIZE): Increase to 610000.
13206
d240a249
GM
132072000-02-02 Gerd Moellmann <gerd@gnu.org>
13208
13209 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
13210 can GC.
13211
ca91fb26
KH
132122000-02-02 Kenichi Handa <handa@etl.go.jp>
13213
25660570
KH
13214 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
13215 instead of incrementing ic directly.
13216 <CCL_WriteExprConst> Likewise.
13217 <ccl_set_expr>: Set ic to jump_address.
13218
ca91fb26
KH
13219 * fileio.c (e_write): Fix the handling of
13220 CODING_FINISH_INSUFFICIENT_SRC.
13221
2ede9689
DL
132222000-02-01 Dave Love <fx@gnu.org>
13223
13224 * editfns.c (Fpropertize): Doc fix.
13225
13226 * process.c (Fstart_process): Doc fix.
13227
13228 * eval.c: Fix various doc strings not to duplicate information
13229 from help-manyarg-func-alist.
13230
52283633 13231 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
13232
13233 * doc.c (Vhelp_manyarg_func_alist): New variable.
13234 (Fdocumentation): Use it.
13235 (syms_of_doc): Define it.
13236
b6680a0e
GM
132372000-01-31 Gerd Moellmann <gerd@gnu.org>
13238
2cb750ba
GM
13239 * xterm.c (xim_open_dpy): Remove unused local variable.
13240
52283633 13241 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
13242
13243 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
13244 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
13245
b6680a0e
GM
13246 * fns.c (sweep_weak_table): New function.
13247 (sweep_weak_hash_tables): Use it. Keep on marking until there
13248 is no more change.
13249
994c5afe
GM
132502000-01-30 Gerd Moellmann <gerd@gnu.org>
13251
13252 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
13253 that XTread_socket does not crash by trying to call XNoOp on a
13254 closed display.
427ec082 13255
f00276e3
JR
132562000-01-30 Jason Rumney <jasonr@gnu.org>
13257
13258 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13259 Change selected_frame to SELECTED_FRAME ().
13260 (w32_console_mouse_position): Remove #ifndef MULE from around
13261 `insist' parameter.
13262
13263 * makefile.nt: Remove dosfns.obj.
13264
13265 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
13266
13267 * w32fns.c (w32_defined_color): Check for valid frame before
13268 applying gamma correction. Eliminate dependency on frame elsewhere.
13269 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
13270 (w32_to_x_font): Use resx and resy not height_in and width_in.
13271 (x_to_w32_font): Doc fix.
13272 (xlfd_strip_height): New function to strip and return font height.
13273 (w32_font_match): Compare height separately from rest of xlfd
13274 spec, using xlfd_strip_height.
13275
13276 * w32term.c (w32_term_init): Swap resx and height_in, resy and
13277 width_in. Use w32_defined_color in place of defined_color.
13278
13279 * w32faces.c: Merge more of DOS and X specifics in preparation for
13280 merge with xfaces.c.
13281 (defined_color): Remove FIXME comment.
13282 (tty_color_name): Provide w32-specific function.
13283 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
13284
13285 * w32console.c (turn_on_face, turn_off_face): Removed.
13286 (w32_face_attributes): New function.
13287 (Global_variables): Reduce scope where possible.
13288 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
13289 fill attribute.
13290 (hl_mode): Don't modify text attributes.
13291 (write_glyphs): Don't do anything if len <= 0. Use
13292 w32_face_attributes to get attributes for drawing. Write
13293 terminating codes using char_attr_normal.
13294 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
13295 (update_begin, update_end): Likewise.
13296 (vga_stdcolor_name): New function.
13297 (initialize_w32_display): Remove char_attr_reverse and char_attr.
13298 (Fset_screen_color): Remove char_attr_reverse.
13299
b08e8bb2
GM
133002000-01-29 Gerd Moellmann <gerd@gnu.org>
13301
13302 * xfns.c (xic_set_preeditarea): Take window parameter and
13303 window-relative pixel-positions.
13304
13305 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
13306 is its frame's selected window.
13307 (xim_instantiate_callback): Likewise.
13308
13309 * xfns.c (x_create_im): Removed.
13310 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
13311 (supported_xim_styles): Renamed from supported_styles.
13312 (best_xim_style): Renamed from best_style.
13313 (create_frame_xic): Renamed from xic_create_frame.
13314 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 13315
b08e8bb2
GM
133162000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
13317
13318 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
13319 our frames, call XFilterEvent with 2nd parameter `None'.
13320 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
13321 returning XBufferOverflow.
52283633 13322 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
13323 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
13324 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
13325 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
13326 (xim_initialize, xim_close)
13327 [HAVE_X_I18N && HAVE_X11R6]: New functions.
13328 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
13329 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
13330 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
13331
13332 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
13333 and `xim_styles'.
13334 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
13335 `xic_style' and `xic_xfs'.
13336 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
13337 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
13338 (FRAME_XIM): Removed.
13339
13340 * xfns.c (supported_styles): New variable.
13341 (DEFAULT_STYLE, DEFAULT_FONT): New macros
13342 (xic_create_xfontset, best_style, xic_create_frame)
13343 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
13344 (xic_set_xfontset): New functions.
13345
142e109c
DL
133462000-01-28 Dave Love <fx@gnu.org>
13347
13348 * s/irix6-5.h: Revert last change after change to irix5-0.h.
13349
13350 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
13351
b02786f9
GM
133522000-01-28 Gerd Moellmann <gerd@gnu.org>
13353
d060bc9f
GM
13354 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
13355 for *scratch* if it already existed.
13356
b02786f9
GM
13357 * emacs.c (USAGE): New macro.
13358 (main): Use it to display usage information.
13359
2c52d7e4
EZ
133602000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13361
13362 Support for the menu-help feature:
13363
52283633 13364 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
13365
13366 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
13367 part of the line to the termscript file.
13368 (IT_clear_to_end): Clear the entire line, not just its beginning.
13369 (menu_help_message, prev_menu_help_message): New variables.
13370 (IT_menu_make_room): Make room for the help_text member.
13371 (IT_menu_display): New argument disp_help; all callers changed.
13372 If disp_help is non-zero, store the help text of the active menu
13373 item in menu_help_message.
13374 (XMenuAddPane): Initialize the help_text member to NULL.
13375 (XMenuAddSelection): New argument help_text. Store it in the
13376 XMenu structure.
13377 (XMenuActivate): New argument help_callback. If the value of
13378 menu_help_message has changed since the last time, display the
13379 menu help message text while waiting for the mouse to move. Clear
13380 the echo area before exiting.
13381 (XMenuDestroy): Free the help_text member.
13382
ffe0bcd1
GM
133832000-01-27 Gerd Moellmann <gerd@gnu.org>
13384
13385 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
13386 XMenuAddSelection. Pass help callback to XMenuActivate.
13387 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
13388
50dbd23f
EZ
133892000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13390
13391 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
13392 and EMACS_SET_USECS.
13393
f5941bf8
GM
133942000-01-26 Dave Love <fx@gnu.org>
13395
6c67ddee
DL
13396 * editfns.c (Fchar_after, Fchar_before): Doc fix.
13397
f5941bf8
GM
13398 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
13399 an error may be signalled.
13400
9e49c990
GM
134012000-01-26 Gerd Moellmann <gerd@gnu.org>
13402
fc3cb460
GM
13403 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
13404 LD_SWITCH_SYSTEM inherited from irix5-0.h.
13405
9e49c990
GM
13406 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
13407
d0c037d8
GM
134082000-01-25 Gerd Moellmann <gerd@gnu.org>
13409
13410 * charset.c (Fstring): If there is a multibyte char among
13411 the args, always return a multibyte string.
13412
e12489f9
GM
134132000-01-25 Gerd Moellmann <gerd@gnu.org>
13414
13415 * sysdep.c (sys_select): Turn atimers off and on instead of
13416 recording and restoring old alarm handler
13417
13418 * process.c (toplevel): Include atimer.h.
13419 (create_process_1): Rewritten.
13420 (create_process): Use atimers instead of alarm.
13421 (wait_reading_process_input) [hpux]: Turn atimers off instead
13422 of turning off SIGALRM.
13423 (wait_reading_process_input): Turn off atimers instead off
13424 calling stop_polling.
13425
13426 * emacs.c (main): Call init_atimer.
13427
13428 * keyboard.c (toplevel): Include systime.h and atimer.h.
13429 (polling_for_input): Removed because unused.
13430 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
13431 (poll_timer): New variable.
13432 (poll_for_input, poll_for_input_1): New functions.
13433 (start_polling, stop_polling): Rewritten.
13434
13435 * keyboard.h (polling_for_input): Removed.
427ec082 13436
e12489f9
GM
13437 * atimer.h, atimer.c: New files.
13438
13439 * Makefile.in (obj): Add atimer.o.
13440 (atimer.o): New target.
13441
13442 * blockinput.h (pending_atimers): Add extern declaration.
13443 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
13444
13445 * lisp.h (popup_activated_flag): Add extern declaration.
13446
13447 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 13448 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
13449 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
13450
13451 * xterm.c (toplevel): Include atimer.h.
13452 (toolkit_scroll_bar_interaction): New variable.
13453 (Fxt_process_timeouts): Removed.
13454 (x_process_timeouts): New function.
13455 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
13456 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
13457 (x_make_frame_visible): Call poll_for_input_1 instead of
13458 input_poll_signal. Don't call alarm.
13459 (x_initialize): Install timer calling x_process_timeouts.
427ec082 13460
1e5279b9
DL
134612000-01-24 Dave Love <fx@gnu.org>
13462
6c67ddee 13463 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
13464 Don't use -cckr -- apparently not now necessary.
13465
edf6aeb8
EZ
134662000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
13467
13468 * msdos.c (IT_menu_display): Truncate long menu lines at the right
13469 screen boundary.
13470
9badad41
JR
134712000-01-23 Jason Rumney <jasonr@gnu.org>
13472
13473 * w32fns.c (w32_defined_color): Apply gamma correction before
13474 trying to map to the palette.
13475 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
13476 to w32_clear_rect.
13477
13478 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
13479 here. Callers changed to always pass real device context.
13480 (w32_draw_bitmap): Likewise.
13481 (w32_get_glyph_overhangs): Likewise.
52283633 13482 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
13483 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
13484 pfnSetScrollInfo and SetScrollRange.
13485 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
13486 back into MULE characters after decoding them.
13487 (x_get_glyph_face_and_encoding): Likewise.
13488 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
13489 GetCharABCWidthsW fails, since this is defined on Windows 9x.
13490 (x_produce_glyphs): Calculate per char metrics for a character
13491 that we know exists in default font when font_not_found_p is true.
13492
63bd786b
JR
134932000-01-22 Jason Rumney <jasonr@gnu.org>
13494
13495 * makefile.nt (intervals.obj, composite.obj): New modules.
13496 (composite.h): Added as dependency where appropriate.
13497
13498 * w32gui.h (XGCValue): New struct for emulating X GCs.
13499
13500 * w32term.h (XCharStruct): New struct for emulating X.
13501
13502 * w32console.c (turn_on_face, turn_off_face): New functions.
13503 (change_line_highlight): New prototype for new redisplay.
13504 (write_glyphs): Support multibyte text. Support faces.
13505
52283633 13506 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
13507
13508 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
13509 throughout. struct frame * in place of FRAME_PTR.
13510 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 13511 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
13512 (w32_get_arg): Renamed from x_get_arg.
13513 (Fx_file_dialog): New function.
13514 (w32_list_fonts): Check cache before asking system.
13515 (Vw32_enable_synthesized_fonts): New variable.
13516 (Vw32_enable_italics): Obsolete, removed.
13517
13518 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13519 Use SELECTED_FRAME macro.
13520
13521 * w32menu.c: Add skeleton support for help strings on menus.
13522 (add_menu_item): Native checkbox and radio support added, but not
13523 yet enabled due to bugs.
13524 (push_menu_item): Add parameters type, selection and help.
13525 Callers updated.
13526 Formatting changes to reduce unnecessary diffs with xmenu.c.
13527
13528 * w32select.c (Fw32_set_clipboard_data): Update call to
13529 find_charset_in_str.
13530
13531 * w32term.c: Complete rewrite for new redisplay based on new
13532 xterm.c with necessary sections merged back in from old w32term.c.
13533
6ffd3cf7 135342000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
13535
13536 * data.c (set_internal): Further fix in same criterion.
13537
6ffd3cf7 135382000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
13539
13540 * data.c (set_internal): Fix the criteria for whether
13541 to swap out the old cached binding.
13542
60af03f1
DL
135432000-01-19 Dave Love <fx@gnu.org>
13544
13545 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
13546
f9be074f
KH
135472000-01-18 Kenichi Handa <handa@etl.go.jp>
13548
13549 * regex.c (re_compile_fastmap): While checking a range table for
13550 `charset', skip flag bits for a character class correctly.
13551
52b8dbf9
GM
135522000-01-17 Gerd Moellmann <gerd@gnu.org>
13553
d36100c9
GM
13554 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
13555
52283633 13556 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
13557
13558 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 13559 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
13560
13561 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
13562 MENU_ITEMS_ITEM_.*.
13563 (MENU_ITEMS_ITEM_HELP): New enumerator.
13564 (push_menu_item): Add parameter HELP. Record help in menu_items.
13565 (single_menu_item, single_submenu, list_of_items): Call
13566 push_menu_item with new parameter.
13567 (single_submenu): Set help string in widget value.
13568 (menu_highlight_callback): New function.
13569 (set_frame_menubar): Call lw_create_widget with new
13570 parameter list.
13571 (xmenu_show, xdialog_show): Ditto.
13572
3139018f
GM
135732000-01-13 Gerd Moellmann <gerd@gnu.org>
13574
13575 * sound.c (Fplay_sound): Improve doc string.
13576
83c8f461
RS
135772000-01-11 Richard M. Stallman <rms@gnu.org>
13578
13579 * lisp.h (set_internal): Enter the new arg.
13580
13581 * eval.c (specbind): Record buffer-local variables specially,
13582 indicating which buffer's binding was saved.
13583 (unbind_to): Restore buffer-local variables specially
13584 in the proper buffer.
13585
13586 * data.c (set_internal): New arg BUF.
427ec082 13587
83c8f461
RS
13588 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
13589 * data.c (Fset): Pass new arg to set_internal.
13590 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 13591
1fab1775
GM
135922000-01-11 Gerd Moellmann <gerd@gnu.org>
13593
52283633 13594 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 13595
83c8f461 135962000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
13597
13598 * minibuf.c (Ftry_completion): Doc fix.
13599
7a85e4df
GM
136002000-01-11 Gerd Moellmann <gerd@gnu.org>
13601
13602 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
13603 vector, too.
13604
a970dae4
AS
136052000-01-11 Andreas Schwab <schwab@suse.de>
13606
13607 * coding.c (code_convert_region): Initialize total_skip.
13608
c65d14ee
DL
136092000-01-08 Dave Love <fx@gnu.org>
13610
13611 * eval.c (Fuser_variable_p): Check customizability too.
13612
834938d2
GM
136132000-01-07 Gerd Moellmann <gerd@gnu.org>
13614
13615 * minibuf.c (Fcompleting_read): Doc fix.
13616
e0303cd6
GM
136172000-01-05 Gerd Moellmann <gerd@gnu.org>
13618
8a26744b
GM
13619 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
13620 -L /usr/local/lib.
13621
e0303cd6
GM
13622 * xfns.c (x_create_im): New function to set IM and IC of a frame.
13623 Check that input style is supported before trying to create an
13624 IC for it.
13625 (x_window): Call x_create_im.
427ec082 13626
2e471eb5
GM
136272000-01-04 Gerd Moellmann <gerd@gnu.org>
13628
560a7bd2
GM
13629 * xfns.c (current_gif_memory_src): New variable.
13630 (gif_load): Record the address of the current memory source
13631 in current_gif_memory_src.
13632 (gif_read_from_memory): Use current_gif_memory_src.
13633
f9ee84a3
GM
13634 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
13635 macros statement form.
13636
d1299cde
GM
13637 * sound.c (struct sound): Renamed from struct sound_file.
13638 (struct sound): Add members `data' and `header_size'.
13639 (enum sound_attr): Add SOUND_DATA.
13640 (current_sound, current_sound_device): Variables renamed from
13641 sound_file and sound_device.
13642 (parse_sound): Parse :data.
13643 (parse_sound): Handle sound data in strings.
13644 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 13645 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
13646 needed header size.
13647 (wav_play, au_play): Play sounds from string data.
13648
2e471eb5
GM
13649 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
13650
13651 * lisp.h: Add prototype for allocate_string_data.
13652
52283633 13653 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
13654
13655 * alloc.c (mark_buffer): Remove code in #if 0.
13656 (gc_sweep): Ditto.
13657 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
13658 (strings_consed): New variable.
13659 (allocate_string): Set it.
13660 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
13661 (Fmemory_use_counts): Return strings_consed. Use Flist.
13662
13663 * alloc.c: General cleanup in comments etc. Remove conditional
13664 compilation for `standalone'.
13665
13666 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
13667
13668 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
13669 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
13670 (DONT_COPY_FLAG): Removed.
13671 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
13672 (struct sdata, struct sblock): New
13673 (struct string_block): Rewritten.
13674 (STRINGS_IN_STRING_BLOCK): New macro.
13675 (oldest_sblock, current_sblock, total_strings, total_free_strings)
13676 (large_sblocks, string_blocks, string_free_list): New variables.
13677 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
13678 (init_strings): Rewritten.
13679 (allocate_string, allocate_string_data, compact_small_strings)
13680 (free_large_strings, sweep_strings): New functions.
13681 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
13682 (struct string_block_head, current_string_block)
13683 (first_string_block, large_string_blocks, STRING_FULLSIZE)
13684 (STRING_PAD): Removed.
13685 (make_uninit_multibyte_string, make_pure_string): Rewritten.
13686 (Fgarbage_collect): Don't set mark bit in large strings.
13687 (mark_object): Mark strings differently. Mark symbol names
13688 differently.
13689 (survives_gc_p): Test marked strings differently.
427ec082 13690 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
13691 symbol names.
13692 (compact_strings): Removed.
13693
42608ba8
EZ
136942000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
13695
13696 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
13697 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
13698
e0a09e1a
KH
136992000-01-04 Kenichi Handa <handa@etl.go.jp>
13700
dd9f0750 13701 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 13702 in a non-empty buffer.
dd9f0750 13703
3c0f3b15 13704 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 13705
44cd3ae5
GM
137062000-01-03 Gerd Moellmann <gerd@gnu.org>
13707
13708 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
13709 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
13710
13711 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
13712
c182a70f
EZ
137132000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13714
13715 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
13716 need to test for MSDOS frames.
13717
24480d5b
EZ
137182000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13719
13720 * dosfns.c (unspecified_colors): Remove.
13721 (msdos_stdcolor_idx): Use global variables unspecified_fg and
13722 unspecified_bg.
13723 (msdos_stdcolor_name): Return strings for unspecified fore- and
13724 back-ground colors.
13725
13726 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 13727 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
13728 (tty_color_name): Return Lisp strings for unspecified fore- and
13729 back-ground colors.
13730 (Finternal_set_lisp_face_attribute): Remove the special treatment
13731 for Qunspecified_{f,b}g.
52283633 13732 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 13733
047f434a
GM
137342000-01-03 Gerd Moellmann <gerd@gnu.org>
13735
13736 * xdisp.c (reseat_at_next_visible_line_start): Position before
13737 newline only if ending up on a newline.
13738 (next_element_from_ellipsis): Return success. Handle case of
52283633 13739 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
13740 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
13741 returns 0.
13742
d684c676
EZ
137432000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13744
13745 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
13746 (Fcolor_supported_p): Renamed from face-color-supported-p.
13747
5fe1d139
EZ
137482000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13749
13750 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
13751 list of colors renamed to tty-defined-color-alist.
13752 (tty_color_name): Pass the frame to tty-color-by-index.
13753 (realize_tty_face): tty-color-alist is now a function which
13754 accepts the frame as argument.
13755
52283633 13756 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 13757
816be8b8
EZ
137582000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13759
13760 * term.c (insert_glyphs): Pass glyph, not &glyph, to
13761 encode_terminal_code.
13762
b635321e
EZ
137632000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13764
13765 * dispnew.c (mode_line_string): Support termcap frames as well.
13766
9b784e96
GM
137672000-01-01 Gerd Moellmann <gerd@gnu.org>
13768
27189709
GM
13769 * syntax.c (Fforward_word): Undo previous change.
13770
13771 * editfns.c (Fconstrain_to_field): Don't constrain if
13772 inhibit-field-text-motion is non-nil.
13773 (Fline_beginning_position): Undo previous change.
13774 (Fline_end_position): Ditto.
13775
13776 * syntax.c (Fforward_word): Notice field boundaries only if
13777 inhibit-field-text-motion is nil.
13778
13779 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
13780
13781 * editfns.c (Vinhibit_field_text_motion): New variable.
13782 (inhibit-field-text-motion): New DEFVAR_LISP.
13783 (Fline_beginning_position, Fline_end_position): Notice field
13784 boundaries only if inhibit-field-text-motion is nil.
13785
45158a91
GM
13786 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
13787 All calls adjusted.
13788 (x_build_heuristic_mask): Likewise.
13789 (xbm_load_image_from_file): Change error output.
13790 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
13791 (gif_load, gs_load, x_kill_gs_process): Ditto.
13792
9b784e96
GM
13793 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
13794 color indices when accessing raster pixels.
63cec32f
GM
13795 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
13796 one of :file or :data.
13797 (enum pbm_keyword_index): Add PBM_DATA.
13798 (pbm_format): Add :data.
13799 (pbm_image_p): Allow either :file or :data.
13800 (pbm_read_file): New function.
13801 (pbm_scan_number): Rewritten to read from string.
13802 (pbm_load): Support :data.
9b784e96 13803
2cb085db 13804See ChangeLog.8 for earlier changes.
6922b018
KH
13805
13806;; Local Variables:
49b3bd82 13807;; coding: iso-2022-7bit
6922b018 13808;; End:
2a34a036
GM
13809
13810 Copyright (C) 2001 Free Software Foundation, Inc.
13811 Copying and distribution of this file, with or without modification,
13812 are permitted provided the copyright notice and this notice are preserved.