(_widget_value): Make `help' field a Lisp_Object. Add
[bpt/emacs.git] / src / ChangeLog
CommitLineData
f1a85b89
JR
12001-12-09 Jason Rumney <jasonr@gnu.org>
2
3 * w32menu.c (_widget_value): Make `help' field a Lisp_Object. Add
4 comment to explain where the struct came from.
5 (single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
6 (add_menu_item): Process pop-up menus first to avoid memory leak.
7 (add_menu_item, w32_menu_display_help): Use `help' field as
8 Lisp_Object.
9 (w32_free_submenu_strings): Only free owner-drawn strings.
10
3a62677f
PJ
112001-12-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
12
72244db2
PJ
13 * COPYING: Moved back.
14
3a62677f
PJ
15 * charset.c (char_to_string_1, translate_char, Fdefine_charset):
16 Add parentheses around && within ||.
17
18 * indent.c (compute_motion): Likewise.
19
20 * intervals.c (merge_properties_sticky): Likewise.
21
22 * coding.c (setup_coding_system, shrink_encoding_region)
23 (Fdecode_sjis_char): Likewise.
24
9d113d9d
AS
252001-12-07 Andreas Schwab <schwab@suse.de>
26
b8523839
AS
27 * xdisp.c (display_mode_element): Don't read past end of string if
28 it ends with '%'.
29
9464dea4
AS
30 * alloc.c (inhibit_garbage_collection): Don't exceed value an int
31 can hold.
32
9d113d9d
AS
33 * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum): Renamed
34 from most_positive_fixnum and most_negative_fixnum, resp., and
35 type changed to Lisp_Object.
36 (syms_of_data): DEFVAR_LISP them.
37
70ec1377
RS
382001-12-07 Richard M. Stallman <rms@gnu.org>
39
40 * callproc.c (init_callproc): Set Vdata_directory based on the source
41 location whenever Emacs was run uninstalled.
42
92f7dd37
PE
432001-12-06 Paul Eggert <eggert@twinsun.com>
44
45 * config.in (HAVE_WORKING_VFORK): New #undefs.
46 * process.c (create_process):
47 Use HAVE_WORKING_VFORK, not HAVE_VFORK.
48 * m/cnvrgnt.h (HAVE_VFORK): Remove #define.
49 * m/ibm370aix.h (HAVE_VFORK): Remove #undef.
50 * m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
51 * m/intel386.h (HAVE_VFORK): Likewise.
52 * m/mips-siemens.h (HAVE_VFORK): Likewise.
53 * m/mips.h (HAVE_VFORK): Likewise.
54 * s/freebsd.h (vfork): Remove #define.
55 * s/lynxos.h (HAVE_VFORK): Remove #undef.
56 * s/usg5-4-2.h: Fix comment about vfork.
57
c93674bb
RS
582001-12-06 Richard M. Stallman <rms@gnu.org>
59
60 * s/hpux10.h (random): Add undef.
61 (HAVE_RANDOM): Define it just once.
62
59b59892
SM
632001-12-06 Stefan Monnier <monnier@cs.yale.edu>
64
65 * eval.c: Undo last change: the standard syntax is not wanted.
66
c6ea2775
EZ
672001-12-06 Eli Zaretskii <eliz@is.elta.co.il>
68
69 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
70 scroll bars of the frame before deleting the frame itself. If the
71 frame has a widget, delete the frame with XtDestroyWidget, and do
72 not call XDestroyWindow before that.
73
91175673
KS
742001-12-06 Kim F. Storm <storm@cua.dk>
75
76 * xfns.c (x_report_frame_params): Return actual fringe widths.
77
78 * w32fns.c (x_report_frame_params): Return actual fringe widths.
79
e0fead5d
AI
802001-12-05 Andrew Innes <andrewi@gnu.org>
81
82 * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
83 excessively large.
84
85 * insdel.c (make_gap_larger): New function.
86 (make_gap_smaller): New function.
87 (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]: Call
88 make_gap_smaller if arg is negative.
89
c186cdb3
SM
902001-12-04 Stefan Monnier <monnier@cs.yale.edu>
91
92 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
93 Pass a dummy argument when calling interrupt_signal.
94 (parse_menu_item): Mark disabled items before checking for empty def.
95 (read_char_minibuf_menu_prompt): Make safety more visible.
96 (read_key_sequence): Add a `first_unbound' variable.
97 Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
98 unbound prefix as soon as we can detect it.
99
100 * doc.c (Fsnarf_documentation): Add prototype.
101 (get_doc_string): Handle negative arguments.
102 (Fdocumentation): Use AREF and ASIZE.
103 Move the calls to get_doc_string to a single place.
104 Don't confuse an interactive-spec for a docstring reference.
105 (Fdocumentation_property): Take advantage of the fact that
106 get_doc_string now ignores the sign of the docstring position.
107
108 * eval.c: Use standard syntax for usage in docstrings.
109
58cfce98
PJ
1102001-12-03 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
111
c186cdb3 112 * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief` an option.
58cfce98 113
62854fe2
PJ
1142001-12-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
115
116 * xterm.c (x_draw_image_relief): Use predefined macro instead of
117 constant when the value of `tool_bar_button_relief' is negative.
118
656f46bb
RS
1192001-12-02 Richard M. Stallman <rms@gnu.org>
120
121 * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
122 (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
123
124 * fileio.c (read_non_regular): Delete Fsignal call.
125
036e218d
SM
1262001-12-01 Stefan Monnier <monnier@cs.yale.edu>
127
128 * lisp.h (run_hook_list_with_args): Undo last change.
129
7ddb2c16
GM
1302001-12-01 Gerd Moellmann <gerd@gnu.org>
131
132 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
133
ace9b298
JR
1342001-12-01 Jason Rumney <jasonr@gnu.org>
135
90647b07
JR
136 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
137
138 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
139 [!WM_MOUSELEAVE]: Define.
140
ace9b298
JR
141 * w32menu.c (current_popup_menu, get_menu_item_info):
142 (set_menu_item_info): New vars.
143 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
144 (w32_menu_show): Set current_popup_menu.
145 (add_menu_item): Allocate new strings for owner-drawn menu items
146 and help strings.
147 Use owner-draw for disabled menu items again.
148 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
149 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
150
151 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
152 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
153 <WM_EXITMENULOOP>: Free menu strings.
154 <WM_MOUSELEAVE>: Stop tracking mouse.
155 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
156
157 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
158 and mouse face.
159
a9549909 1602001-12-01 Kim F. Storm <storm@cua.dk>
9fbc32aa
KS
161
162 The following changes add left-fringe and right-fringe
163 frame parameters to adjust fringe widths, or remove one or
164 both fringes.
036e218d 165
9fbc32aa
KS
166 * frame.h (struct frame): Remove trunc_area_pixel_width and
167 trunc_area_cols fields.
168 (Qleft_fringe, Qright_fringe): Declare.
169 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
170
171 * frame.c (Qleft_fringe, Qright_fringe): New vars.
172 (syms_of_frame): Initialize them.
173
174 * window.c (coordinates_in_window): Handle separate left and right
175 fringe widths.
176
177 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
178 and fringe_cols fields.
179 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
180 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
181 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
182 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
183 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
184 (x_compute_fringe_widths): Add prototype.
185
186 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
187 fill fringe evenly with small dashes.
188 (x_draw_fringe_bitmap): Clear background if necessary. Align and
189 clip the new ZV bitmap to avoid jitter between rows.
190 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
191 background. Don't draw fringe bitmaps if fringe width is zero.
192 (x_compute_fringe_widths): New function.
193 (x_new_font, x_set_window_size_1): Use it.
194
195 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
196 (x_set_frame_parameters): Process Process `font' parameter before other
197 parameters as fringe widths depend on it.
198 (x_set_fringe_width): New function.
199 (x_figure_window_size): Use x_compute_fringe_widths.
200 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
201 parameters.
202
203 * widget.c (set_frame_size): Use x_compute_fringe_widths.
204 (EmacsFrameSetCharSize): Ditto.
205
206 * w32term.h: Merged changes from xterm.h.
207 * w32term.c: Merged changes from xterm.c.
208 * w32fns.c: Merged changes from xfns.c.
209
0142178a
PJ
2102001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
211
212 * COPYING: Removed.
213
d4824a5d
DL
2142001-11-29 Dave Love <fx@gnu.org>
215
216 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
217 extra extra slot.
218 (detect_coding_mask): Fix call of detect_coding_iso2022.
219
b1356234
PJ
2202001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
221
222 * fileio.c (file-name-coding-system)
223 (default-file-name-coding-system): Doc fix (links to referenced
224 variables added).
225
3ce081f5
SM
2262001-11-28 Stefan Monnier <monnier@cs.yale.edu>
227
99e380ee
SM
228 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
229 Add dummy uses of gcproN variables.
230
3ce081f5 231 * category.c (describe_category, describe_category_1)
2ad56c09 232 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
3ce081f5
SM
233 (syms_of_category): Don't defsubr Sdescribe_categories.
234
66458f32
RS
2352001-11-28 Richard M. Stallman <rms@gnu.org>
236
237 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
238
239 * Makefile.in (lispdir): New variable, referring to build dir.
240 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
241
59a86c99
AI
2422001-11-28 Andrew Innes <andrewi@gnu.org>
243
244 * w32menu.c (w32_menu_display_help): Actually add the new argument
245 OWNER.
246
eb77a5f4
JR
2472001-11-28 Jason Rumney <jasonr@gnu.org>
248
249 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
250 menu items. From David Ponce <dponce@wanadoo.fr>.
251 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
252 conditionally.
253 (w32_menu_display_help): New argument OWNER. Rewritten to store a
254 help event in the owner frame's keyboard buffer.
255
256 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
257 (Fx_show_tip): Don't subtract last width from row width.
258
259 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
260 (w32_read_socket): Use EQ to compare frames.
261
bb313871
GM
2622001-11-28 Gerd Moellmann <gerd@gnu.org>
263
264 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
265 OVERLAPS_P.
266
55b43a63
PJ
2672001-11-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
268
6052529b
PJ
269 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
270 `gcpro3' and `gcpro4'.
271
3ce081f5
SM
272 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
273
2742001-11-28 Stefan Monnier <monnier@cs.yale.edu>
275
276 * ccl.c: Use AREF and ASIZE.
277
2782001-11-27 Stefan Monnier <monnier@cs.yale.edu>
279
280 * lisp.h (run_hook_list_with_args): Remove.
281 (LIST_END_P): Fix call to wrong_type_argument.
282 (make_fixnum_or_float): Use EMACS_INT rather than int.
55b43a63 283
111ed14e
SM
2842001-11-26 Stefan Monnier <monnier@cs.yale.edu>
285
9fabb2f5
SM
286 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
287 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
288
289 * eval.c: Use AREF and ASIZE.
290 (Ffetch_bytecode): Add the file name to the error message.
291
292 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
293 which match the end of the file-name.
294 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
295 is not a valid env var, but leave it as is instead.
296
111ed14e
SM
297 * keymap.c (access_keymap): Handle t bindings like nil bindings.
298 Make nil bindings in char-tables transparent.
299 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
300
2fa0eedf
RS
3012001-11-26 Richard M. Stallman <rms@gnu.org>
302
d1420435
RS
303 * textprop.c (set_text_properties_1): Allow START, END in either order.
304 Do nothing if range is empty.
305
2fa0eedf
RS
306 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
307
ebcbef4e
RS
308 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
309 (clean): Not here.
310
5c131048
SM
3112001-11-25 Stefan Monnier <monnier@cs.yale.edu>
312
313 * textprop.c (set_text_properties_1): Clearly mark that the
314 interval should not be empty.
315
316 * intervals.c (graft_intervals_into_buffer):
317 Don't call set_text_properties_1 on an empty interval.
318
96d276c3
RS
3192001-11-25 Richard M. Stallman <rms@gnu.org>
320
6108b49c
RS
321 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
322
96d276c3
RS
323 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
324 don't lose the data in it.
325
5eea19a4
RS
3262001-11-25 Juanma Barranquero <lektu@terra.es>
327
328 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
329
330 * buffer.c (Fkill_buffer): Use Frun_hooks, not Vrun_hooks.
331
332 * print.c (temp_output_buffer_setup): Use Frun_hooks, not Vrun_hooks.
333
438e57dd
SM
3342001-11-25 Stefan Monnier <monnier@cs.yale.edu>
335
336 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
337
c88e5347
EZ
3382001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
339
340 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
341 Niemitalo <kon@iki.fi>.
342
59ce1461
JR
3432001-11-25 Jason Rumney <jasonr@gnu.org>
344
345 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
346
347 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
348 (Fx_show_tip): Block input during frame creation.
349 (Fx_show_tip, Fx_hide_tip): Enable.
350
8727d588
RS
3512001-11-24 Richard M. Stallman <rms@gnu.org>
352
353 * lread.c (Fload): Detect recursive load error for more than 3
354 nestings of the same file.
355 (Vrecursive_load_depth_limit): Variable deleted.
356 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
357
cc63037e
JR
3582001-11-24 Jason Rumney <jasonr@gnu.org>
359
360 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
361 mouse position if either left or top is not specified.
362
363 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
364 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
365 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
366 (my_create_tip_window): Assign tip_window.
367 (x_create_tip_frame): Use same defaults as X.
368 (compute_tip_xy): Remove unused variable. Use full screen width.
369 (Fx_show_tip): Do not double height. Call ShowWindow directly.
370
371 * w32term.c (x_after_update_window_line): Doc fix.
372 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
373 frames.
374 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
375
376 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
377 for all Windowed systems.
378
deece6f5
EZ
3792001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
380
381 * msdos.c (IT_clear_screen): If the frame's faces are not yet
382 realized, use the initial screen colors to clear the screen.
383
1b944d9c
PJ
3842001-11-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
385
28ff4293
PJ
386 * textprop.c (Fset_text_properties): Remove unused variables
387 `unchanged', `prev_changed', `s' and `len'.
388
56167cc5
PJ
389 * search.c (Freplace_match): Remove unused variable `inslen'.
390
1b944d9c
PJ
391 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
392
ca56d953
JR
3932001-11-22 Jason Rumney <jasonr@gnu.org>
394
395 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
396 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
397 (my_create_tip_window): New function.
398 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
399 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
400
33399dce
JR
4012001-11-20 Jason Rumney <jasonr@gnu.org>
402
403 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
404 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
405
406 * w32fns.c (Vw32_system_coding_system): Remove.
407 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
408
9b46de40
SM
4092001-11-19 Stefan Monnier <monnier@cs.yale.edu>
410
6710ea06
SM
411 * fileio.c (Fwrite_region): Move choose_write_coding_system to
412 after build_annotations.
413
a395ef6a
SM
414 * syntax.c (describe_syntax): Add dummy arg.
415 (describe_syntax_1): Update call to describe_vector.
416
417 * category.c (describe_category): Add dummy arg.
418 (describe_category_1): Update call to describe_vector.
419
420 * keymap.c (Fdescribe_vector): Add `describer' parameter.
421 (describe_command, describe_translation): Add dummy second param.
422 (describe_map): Call elt_describer with two arguments.
423 (describe_vector_princ): Add `fun' parameter.
424 Call it instead of the hardcoded `princ'.
425 (describe_vector): Add arg `args'.
426 Pass it as a new second argument to elt_describer.
427
428 * keymap.h (describe_vector): Update prototype.
429
9b46de40
SM
430 * frame.c: Don't include keymap.h any more.
431 (keys_of_frame): Remove.
432
433 * lisp.h (keys_of_frame): Remove declaration.
434
435 * emacs.c (main): Don't call `keys_of_frame' any more.
436
aff37336
SS
4372001-11-14 Andreas Schwab <schwab@suse.de>
438
439 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
440 if defined, 0 otherwise.
9b46de40 441 (MAP_FAILED): Define if not defined and use it to test mmap failure.
aff37336
SS
442 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
443
b9937f07
RS
4442001-11-19 Richard M. Stallman <rms@gnu.org>
445
446 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
447
2cd23960
JR
4482001-11-18 Jason Rumney <jasonr@gnu.org>
449
450 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
451 (x_draw_bar_cursor): If the background color of the glyph under
452 the cursor equals the frame's cursor color, use the glyph's
453 foreground color for drawing the bar cursor.
454 (x_after_update_window_line): Clear internal border in different
455 circumstances.
456 (w32_set_vertical_scroll_bar): Check for width and height > 0.
457 (w32_draw_relief_rect): Correct relief by 1 pixel.
9b46de40
SM
458 (x_set_glyph_string_background_width):
459 Set extends_to_end_of_line_p if the row's fill_line_p is set and
2cd23960
JR
460 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
461 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
462 if cursor_in_non_selected_windows is false.
9b46de40 463 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
2cd23960
JR
464 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
465 Notice if cursor gets overwritten.
466 (notice_overwritten_cursor): Renamed from
467 note_overwritten_text_cursor. Rewritten to take glyph widths
468 into account, and to take X positions as parameters.
469 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
470 around call to x_draw_glyphs.
471 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
472 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
473 color to use for image glyph reliefs.
474 (x_draw_image_relief): Accept zero tool_bar_button_relief.
475 (glyph_rect): Remove unused variable `area'.
476
477 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
478 some items.
479 (x_set_internal_border_width): Set frame garbaged when window
480 doesn't exist yet.
481 (Fx_create_frame): Accept zero tool_bar_button_relief.
482 (x_clear_image_1, four_corners_best, image_background)
483 (image_background_transparent): New functions.
484 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
485 (gs_format): Add `:background' entry.
486 (lookup_image): Set IMG's background color if specified.
487 (pbm_load, xbm_load_image, png_load): Set IMG's background field
488 when appropriate.
489 (x_clear_image_1): Reset `background_valid' and
490 `background_transparent_valid' fields.
491 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
492 calculating it here. Set IMG's background_transparent field.
493 (enum xpm_keyword_index): Add XPM_BACKGROUND.
494 (enum png_keyword_index): Add PNG_BACKGROUND.
495 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
496 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
497 (enum gif_keyword_index): Add GIF_BACKGROUND.
498 (enum gs_keyword_index): Add GS_BACKGROUND.
499 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
500 Pre-calculate image background color where necessary.
9b46de40
SM
501 (x_create_x_image_and_pixmap, xbm_load, gs_load):
502 Use display info's n_cbits entry for screen depth.
2cd23960
JR
503 (Fx_show_tip): Remove unused variables `buffer', `top',
504 `left', `max_width' and `max_height'.
505
506 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
507
a4184c1c
GM
5082001-11-18 Gerd Moellmann <gerd@gnu.org>
509
510 * puresize.h (BASE_PURESIZE): Increase to 750000.
511
f6fa0866
PJ
5122001-11-18 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
513
514 * frame.c (Fframe_live_p): Doc fix.
515
f4ca4b00
RS
5162001-11-18 Richard M. Stallman <rms@gnu.org>
517
518 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
519 (message_dolog_marker3): New static variables hold three markers.
520 (syms_of_xdisp): Initialize and staticpro them.
521 (message_dolog): Use message_dolog_marker1..3 instead of
522 allocating markers each time. Unchain them when done.
523
f4e25f94
RS
5242001-11-17 Richard M. Stallman <rms@gnu.org>
525
526 * doc.c (Fsnarf_documentation): Doc fix.
527
91c153e2
AS
5282001-11-17 Andreas Schwab <schwab@suse.de>
529
530 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
531
65b7d3e7
RS
5322001-11-17 Richard M. Stallman <rms@gnu.org>
533
534 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
535
6b5f6311
JR
5362001-11-17 Jason Rumney <jasonr@gnu.org>
537
538 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
539
be676094
GM
5402001-11-17 Gerd Moellmann <gerd@gnu.org>
541
542 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
543 with invalid position.
544
032a857d
RS
5452001-11-16 Richard M. Stallman <rms@gnu.org>
546
547 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
548
549 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
550 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
551 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
552
553 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
554
b6270150
SM
5552001-11-16 Stefan Monnier <monnier@cs.yale.edu>
556
557 * fileio.c (build_annotations): Split off the tail.
558 (build_annotations_2): New fun. Extracted from build_annotations.
559 (Fwrite_region): Split the call to build_annotations into two
560 calls to build_annotations and build_annotations_2.
561
792e5cbd
PJ
5622001-11-16 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
563
98cbb9fa
PJ
564 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
565 clear_waiting_for_input with argument.
566
567 * xterm.h (x_update_cursor): Remove duplicated prototype.
568
b6270150 569 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
98cbb9fa 570
ea904403 571 * xterm.c (waiting_for_input): Remove unnecessary declaration.
98cbb9fa 572
ea904403 573 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
792e5cbd 574
fa336b91
SM
5752001-11-16 Stefan Monnier <monnier@cs.yale.edu>
576
577 * fileio.c (choose_write_coding_system): New fun, extracted
578 from Fwrite_region.
579 (Fwrite_region): Use it.
580
581 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
582 (funcall_lambda, run_hook_with_args): Make static and add prototype.
583 (ml_apply, find_handler_clause): Add prototype.
584
077907d4
EZ
5852001-11-16 Eli Zaretskii <eliz@gnu.org>
586
aa2af83a
EZ
587 * config.in: Add #undef HAVE_COFF_H.
588
077907d4
EZ
589 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
590 Required for ISC 4.1.
591
1756e2fb
EZ
5922001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
593
594 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
595 Andrew Wiseman <a.wiseman@btclick.com>.
596
06e8f738
KS
5972001-11-16 Kim F. Storm <storm@cua.dk>
598
599 The following changes are made to clean up the various internal
600 references to the fringes to actually use the term `fringe' for
601 them. Previously, they were called `flags areas', `bitmap areas',
602 `left/right side of windows', or implicitly as `flags' or
603 `bitmaps':
604
605 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
606 Comments fixed. Use renamed symbols.
fa336b91 607
06e8f738 608 * dispnew.c: Comment fix. Use renamed symbols.
fa336b91 609
06e8f738
KS
610 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
611 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
612 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
fa336b91 613
06e8f738 614 * msdos.c: Comment fix.
fa336b91 615
06e8f738 616 * w32fns.c: Use renamed symbols.
fa336b91 617
06e8f738
KS
618 * w32term.c: Comment fixes. Use renamed symbols.
619 (fringe_bitmap_type): Renamed from bitmap_type.
620 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
621 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
622 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
fa336b91 623
06e8f738
KS
624 * w32term.h: Comment fixes. Use renamed symbols.
625 (fringes_extra): Renamed from flags_areas_extra.
626 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
627 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
628 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
629 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
630 (FRAME_X_LEFT_FRINGE_WIDTH):
631 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
632 (FRAME_X_RIGHT_FRINGE_WIDTH):
633 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
634
06e8f738 635 * widget.c: Use renamed symbols.
fa336b91 636
06e8f738
KS
637 * window.c: Comment fixes. Use renamed symbols.
638 (coordinates-in-window-p): Doc fix.
fa336b91 639
06e8f738 640 * xdisp.c: Comment fixes. Use renamed symbols.
fa336b91 641
06e8f738 642 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
fa336b91 643
06e8f738 644 * xfns.c: Use renamed symbols.
fa336b91 645
06e8f738
KS
646 * xterm.c: Comment fixes. Use renamed symbols.
647 (fringe_bitmap_type): Renamed from bitmap_type.
648 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
649 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
650 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
651
652 * xterm.h: Comment fixes. Use renamed symbols.
653 (fringes_extra): Renamed from flags_areas_extra.
654 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
655 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
656 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
657 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
658 (FRAME_X_LEFT_FRINGE_WIDTH):
659 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
660 (FRAME_X_RIGHT_FRINGE_WIDTH):
661 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
06e8f738 662
9ce647f4
JR
6632001-11-15 Jason Rumney <jasonr@gnu.org>
664
665 * w32menu.c (add-menu-item): Make help_echo and radio buttons
666 work for most menu items. From David Ponce
667 <david.ponce@wanadoo.fr>.
668
9b784ab8
GM
6692001-11-15 Gerd Moellmann <gerd@gnu.org>
670
9f7e52b4
GM
671 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
672 Some x_set_* function expect to be called even if old and new
673 value are equal.
674
675 * xdisp.c (build_desired_tool_bar_string): Accept zero
676 tool_bar_button_relief.
677
678 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
679
680 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
fa336b91 681
34e5d0af
GM
682 * xterm.c (x_draw_bar_cursor): If the background color of the
683 glyph under the cursor equals the frame's cursor color, use
684 the glyph's foreground color for drawing the bar cursor.
685
9b784ab8
GM
686 * dispnew.c (direct_output_forward_char): Fix character/byte
687 position comparison.
688
89512fcd
MB
6892001-11-15 Miles Bader <miles@gnu.org>
690
691 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
692 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
693 Update arguments to find_field.
694 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
695 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
696 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
697 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
698
7d18891d
RS
6992001-11-14 Richard M. Stallman <rms@gnu.org>
700
d2936d21
RS
701 * editfns.c (Fpropertize): Allow call with 1 arg.
702
7d18891d
RS
703 * dispextern.h (image_background, image_background_transparent):
704 Conditionalize on HAVE_X_WINDOWS.
705
7062001-11-13 Richard M. Stallman <rms@gnu.org>
707
708 * print.c (Fprin1_to_string): Doc fix.
709
710 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
711
712 * floatfns.c (Fceiling, Ffloor): Doc fixes.
713
714 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
715
716 * fileio.c (Ffile_accessible_directory_p): Doc fix.
717
718 * eval.c (syms_of_eval): Doc fix.
719
720 * coding.c (syms_of_coding): Doc fix.
721
722 * doc.c (Fsnarf_documentation): Doc fix.
723
724 * dispnew.c (syms_of_display): Doc fix.
725
726 * category.c (Fget_unused_category): Doc fix.
727
728 * buffer.c (syms_of_buffer): Doc fixes.
729
9474c847
EZ
7302001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
731
732 * print.c (prin1, print): Doc fix.
733
e3059a5d
PJ
7342001-11-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
735
2b6f3c2b 736 * fontset.h: Remove declarations of variables
e3059a5d
PJ
737 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
738
739 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
740 `Vclip_large_size_font'.
741
b3700ae7
JR
7422001-11-13 Jason Rumney <jasonr@gnu.org>
743
744 * w32fns.c: Doc fix.
745
eae936e2
PJ
7462001-11-13 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
747
4bb962be
PJ
748 * xfaces.c (Fface_attributes_as_vector): Doc fix.
749
0a332240
PJ
750 * w32fns.c (Fx_synchronize): Reindent.
751
ddb67bdc
PJ
752 * fns.c: Doc fix.
753
3467c402
PJ
754 * emacs.c: Doc fix.
755
756 * coding.c: Doc fix.
757
6e1b91d7
PJ
758 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
759 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
760 `new style' [w/`doc:' keyword].
761
f6e34773
PJ
762 * xmenu.c (x-popup-menu): Reindent.
763 (x-popup-dialog): Likewise.
764
fa336b91 765 * xfaces.c (Finternal_set_alternative_font_family_alist): Reindent.
c71f3632 766
c2552f79
PJ
767 * xdisp.c (Fdump_tool_bar_row): Reindent.
768
94c7167b
PJ
769 * minibuf.c (Fminibuffer_complete_word): Reindent.
770 (Fminibuffer_complete_and_exit): Likewise.
fa336b91 771 (Fminibuffer_completion_help): Likewise.
94c7167b
PJ
772 (Fminibuffer_message): Likewise.
773
462a5e3a
PJ
774 * fns.c (Freverse): Reindent.
775
b8de5714
PJ
776 * eval.c (Fif): Reindent.
777 (Fand): Likewise.
778
deb8e082
PJ
779 * editfns.c (Fuser_real_login_name): Reindent.
780 (Finsert_buffer_substring): Likewise.
781 (Fcompare_buffer_substrings): Likewise.
782 (Fsubst_char_in_region): Likewise.
783
bacf09b4
PJ
784 * dispnew.c (Fsit_for): Reindent.
785 (Fframe_or_buffer_changed_p): Likewise.
786 (Finternal_show_cursor_p): Likewise.
787 (syms_of_display): Likewise.
788
eae936e2
PJ
789 * alloc.c (Flist): Reindent.
790 (Fvector): Likewise.
791
1c1d3d69
RS
7922001-11-12 Richard M. Stallman <rms@gnu.org>
793
794 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
795 LeaveNotify events. Only FocusIn and FocusOut do that now.
796 (x_display_and_set_cursor): Do display hollow cursors in active
797 minibuffer windows when they are not selected.
798
b6f4c7ba
JR
7992001-11-12 Jason Rumney <jasonr@gnu.org>
800
801 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
802 * w32term.c: Change doc-string comments to `new style'.
803 [w/`doc:' keyword]. Doc fixes.
804
805 * w32fns.c: Don't define max.
806 (Fx_open_connection): Only execute once.
807
a89f435d
PJ
8082001-11-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
809
810 * ccl.c: Change macros to use do-while block instead of if-else.
811 Use braces to follow GNU Coding Standards.
812
a4cd0cd7
RS
8132001-11-11 Richard M. Stallman <rms@gnu.org>
814
eafb659a
RS
815 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
816
817 * lread.c (read_escape): Use end_of_file_error for reporting eof.
818
a4cd0cd7
RS
819 * insdel.c (replace_range): Use adjust_markers_for_replace
820 instead of adjust_markers_for_delete and adjust_markers_for_insert.
821
822 * intervals.h: Declare set_text_properties and set_text_properties_1.
823
824 * textprop.c (set_text_properties_1): New subroutine
825 broken out of set_text_properties.
826 (set_text_properties): Use set_text_properties_1.
827
828 * intervals.c (graft_intervals_into_buffer):
829 Use set_text_properties_1 to clear out properties.
830
831 * search.c (Freplace_match): Use replace_range to insert
832 and delete. Don't request property inheritance from
833 surrounding text.
834
91823618
JR
8352001-11-10 Jason Rumney <jasonr@gnu.org>
836
837 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
838 vertical fonts. Allow them if face name is explicitly specified.
fa336b91 839 Do not give up if we find a font that cannot be converted to an xlfd.
91823618 840
86928dfb
GM
8412001-11-10 Gerd Moellmann <gerd@gnu.org>
842
fa336b91 843 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
86928dfb
GM
844 instead of malloc/free.
845
40ef1eda
PJ
8462001-11-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
847
ab8469eb
PJ
848 * xfaces.c (merge_face_vectors): Use braces to follow GNU
849 Coding Standards.
850 (Finternal_set_lisp_face_attribute): Likewise.
851
a78e0303
PJ
852 * buffer.c (Fbury_buffer): Likewise.
853
40ef1eda
PJ
854 * indent.c (current_column_1): Remove unused variable `prev_col'.
855
fabf4a91
PJ
856 * coding.c (encode_coding): Use precomputed value of `src'.
857 (encode_coding): Remove unused variable `src_end'.
858 (code_convert_region): Remove unused variables `count'.
859
0c99b139
JR
8602001-11-07 Jason Rumney <jasonr@gnu.org>
861
862 * w32term.c (x_display_and_set_cursor): Do not move system caret
863 if cursor_glyph is NULL.
864
830ddd77
PJ
8652001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
866
867 * keymap.c (access_keymap): Fix compilation error.
868
55c6d645
MB
8692001-11-07 Miles Bader <miles@gnu.org>
870
871 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
872
5de38842
PJ
8732001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
874
7a4564a4
PJ
875 * intervals.c (graft_intervals_into_buffer):
876 Remove #ifdef'd-out code.
877 (graft_intervals_into_buffer): Remove unused variable `middle'.
878
5de38842
PJ
879 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
880 code (eval-current-buffer).
881 Change doc-string comments to `new style' [w/`doc:' keyword].
882
4fa23df5
RS
8832001-11-06 Richard M. Stallman <rms@gnu.org>
884
885 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
886
7a6a97d7
SM
8872001-11-06 Stefan Monnier <monnier@cs.yale.edu>
888
c191d13c
SM
889 * lread.c (read1): Fix behavior with nested backquoting.
890
7a6a97d7
SM
891 * keyboard.c (make_lispy_event): Check integerness and fix
892 Lisp_Object/int mixup.
893
44dc78e0
PJ
8942001-11-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
895
896 * fns.c (copy_hash_table): Remove unused variable `v'.
897
17893c65
PJ
898 * fontset.c (fontset_font_pattern): Remove unused variable
899 `family_registry'.
900
4d994a79
PJ
901 * indent.c (current_column_1): Remove unused variable `prev_col'.
902
d5360cc7
RS
9032001-11-05 Richard M. Stallman <rms@gnu.org>
904
905 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
906
907 * buffer.c (Fkill_buffer): Don't delete auto save file
908 if buffer is modified.
909
96238a5a
AI
9102001-11-05 Andrew Innes <andrewi@gnu.org>
911
912 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
913 CHECK_NUMBER_CDR.
914
d9d54213
RS
9152001-11-05 Richard M. Stallman <rms@gnu.org>
916
917 * unexelf.c (unexec): Minor changes; clean up comments.
918
b116830b
SS
9192001-11-05 Sam Steingold <sds@gnu.org>
920
921 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
922
3297e2a1
AS
9232001-11-05 Andreas Schwab <schwab@suse.de>
924
925 * sound.c (sound_perror): Save errno from being clobbered.
926
9212319f 9272001-11-05 Dale Hagglund <rdh@yottayotta.com>
6fb8339c
EZ
928
929 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
930 the program image directly.
931
7dd73b78
PJ
9322001-11-05 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
933
934 * buffer.h (Fbuffer_local_value): Add prototype.
935
982f6c7e
RS
9362001-11-04 Richard M. Stallman <rms@gnu.org>
937
d31053f9
RS
938 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
939 and CHECK_BUFFER.
940
941 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
942 (record_char): Likewise.
943
944 * keyboard.c (make_lispy_event): Don't insist a drag event must
945 move to a different buffer position. Instead, check for moving at
946 least double_click_fuzz.
947
948 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
949
950 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
951
982f6c7e
RS
952 * indent.c (current_column_1, Fmove_to_column): Separate the code
953 for display-table glyphs from the code buffer text, to fix
954 bugs in the former.
955
830047fd
RS
9562001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
957
958 * buffer.c (Fbuffer_local_value): New function.
c191d13c 959 (syms_of_buffer): Defsubr it.
b116830b 960
830047fd
RS
961 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
962 value of `cursor-in-non-selected-windows'.
963
964 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
965 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
966 (syms_of_xdisp): Initialize it.
b116830b 967
2df5238c
PJ
9682001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
969
4e397688
PJ
970 * xfns.c (Fx_create_frame): Doc fix.
971
48b0f3ae
PJ
972 * coding.c: Change doc-string comments to `new style' [w/`doc:'
973 keyword].
974
2df5238c
PJ
975 * eval.c (top_level_value, top_level_set): Remove commented and
976 #ifdef'd-out code.
977 (Fdefvar): Fix usage in doc-string.
978
3ecaf7e5
RS
9792001-11-03 Richard M. Stallman <rms@gnu.org>
980
981 * xfns.c: Include unistd.h, if it exists.
982
983 * editfns.c: Move the include of ctype.h after unistd.h.
984
985 * gmalloc.c: Test BROKEN_PROTOTYPES.
986
8db2e33b
KR
9872001-11-03 Ken Raeburn <raeburn@gnu.org>
988
989 * lisp.h (CHECK_STRING_CAR): New macro.
990 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
991 treating XCAR and XCDR as lvalues.
992 (openp): Use CHECK_STRING_CAR.
993 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
994
aed29b97
EZ
9952001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
996
997 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
13ccc79a 998 (SIGMASKTYPE): Define.
aed29b97
EZ
999
1000 * syssignal.h (sigunblock): Don't define if already defined.
1001
6cb16f95
PJ
10022001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1003
16b45be4
EZ
1004 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
1005 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
1b1acc13
PJ
1006 Fix typos in comments.
1007
020f9b38
PJ
1008 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
1009 and #ifdef'd-out code.
1010 Fix and reindent comments.
1011
c191d13c 1012 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
020f9b38 1013
6cb16f95
PJ
1014 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
1015 argument `i' in macros.
1016
1017 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
1018 `i' in macros.
1019
16b45be4
EZ
1020 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
1021 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
1022 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
1023 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
1024 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
1025 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
1026 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
1027 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
6cb16f95
PJ
1028 in macros.
1029
1030 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
1031 casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
1032 composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
1033 eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
1034 indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
1035 minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
1036 sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
1037 w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
1038 xfaces.c, xmenu.c, xselect.c : Update usage of CHECK_ macros
1039 (remove unused second argument).
1040
7e9d3c2f
SM
10412001-11-02 Stefan Monnier <monnier@cs.yale.edu>
1042
1043 * syntax.c (describe_syntax): New wrapper.
1044 (Finternal_describe_syntax_value): Rename from describe_syntax.
1045 Don't insert space at front and \n at the end.
1046 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
1047
1048 * regex.c (re_wctype): Try to fix some warnings.
1049 (regcomp, regexec): Don't forget the __restrict.
1050
e6bff182
RS
10512001-11-02 Richard M. Stallman <rms@gnu.org>
1052
1053 * textprop.c (Fget_char_property): Doc fix.
1054
9ba48103
PJ
10552001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1056
1057 * process.c (Fstart_process): Add usage to doc-string.
1058
1059 * data.c (Fsetq_default): Ditto.
1060
1061 * callint.c (Finteractive): Ditto.
1062
c22e59e1
SM
10632001-11-01 Stefan Monnier <monnier@cs.yale.edu>
1064
1065 * macros.c: Don't include keymap.h any more.
1066
9271ed2c
RS
10672001-11-01 Richard M. Stallman <rms@gnu.org>
1068
e6bff182
RS
1069 * data.c (Fmake_local_variable): Doc fix.
1070
1071 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
1072 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
1073
9271ed2c
RS
1074 * keymap.c (Fdescribe_buffer_bindings): Print character property
1075 bindings along with or instead of the buffer local map.
1076 Make the overriding maps override what they should.
1077
8b8bd9c6
PJ
10782001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1079
1080 * window.c (grow_mini_window): Fix typo in comment.
1081
27188d11
GM
10822001-11-01 Gerd Moellmann <gerd@gnu.org>
1083
7b49b9d2
GM
1084 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
1085 (XTset_vertical_scroll_bar): Likewise.
1086
43f7c3ea
GM
1087 * xfns.c (x_build_heuristic_mask): Use four_corners_best
1088 instead of IMAGE_BACKGROUND.
c22e59e1 1089
b350c2e5
GM
1090 * xfns.c (four_corners_best): Reindent.
1091
c22e59e1 1092 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
27188d11
GM
1093 Handle :box so that it is possible to specify sexprs.
1094
d576358b
PJ
10952001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1096
1097 * xfaces.c (Finternal_merge_in_global_face): Reindent.
1098 (Fface_font): Ditto.
1099 (Finternal_set_alternative_font_registry_alist): Ditto.
1100 (Ftty_suppress_bold_inverse_default_colors): Ditto.
1101
1102 * xfns.c (x-get-resource): Reindent.
1103
bf00d461
EZ
11042001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
1105
1106 * s/hpux11.h: New file.
1107
4e10df59
PJ
11082001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1109
2b209b97
PJ
1110 * emacs.c (USAGE1): Show command line option --no-window-system
1111 instead of --no-windows in usage.
1112 (standard_args): Rename --no-windows to --no-window-system.
1113 (bug_reporting_address): Follow Emacs coding conventions.
1114
9dbc9081
PJ
1115 * eval.c (Fcommandp): Doc fix.
1116 Change doc-string comments to `new style' [w/`doc:' keyword].
1117
4e10df59
PJ
1118 * frame.c (Fframe_live_p): Doc fix.
1119
1120 * buffer.c (selective-display-ellipses): Doc fix.
1121
dd387b25
GM
11222001-10-31 Gerd Moellmann <gerd@gnu.org>
1123
fe957e65
GM
1124 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
1125
dd387b25
GM
1126 * xfaces.c (realize_x_face): If C is not a single-byte character,
1127 set the face's colors_copied_bitwise_p instead of the defaulted_p
1128 members which have a different meaning.
1129 (free_face_colors): Do nothing for a face whose colors have been
1130 copied bitwise.
1131
c22e59e1 1132 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
dd387b25 1133
2e1280f8
PJ
11342001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1135
687784e8
PJ
1136 * marker.c, mocklisp.c: Change doc-string comments to `new style'
1137 [w/`doc:' keyword].
2e1280f8 1138
b9d9a9b9
GM
11392001-10-31 Gerd Moellmann <gerd@gnu.org>
1140
1141 * fns.c (require_unwind): Return Lisp_Object.
1142
48400103
PJ
11432001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1144
fa1361cb
PJ
1145 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
1146 (last-input-char): Revert doc-string to be the same as the
1147 doc-string of `last-input-event'.
1148
48400103
PJ
1149 * xdisp.c: Fix typos in comments.
1150
eafa3196
GM
11512001-10-31 Gerd Moellmann <gerd@gnu.org>
1152
1153 * window.c (grow_mini_window): Handle case that the root
1154 window is already smaller than the nominal mininum height.
1155
747d3f2a
SM
11562001-10-30 Stefan Monnier <monnier@cs.yale.edu>
1157
bf9bb76f
SM
1158 * emacs.c (main): Don't call keys_of_macros any more.
1159
1160 * lisp.h (keys_of_macros): Remove.
1161
1162 * macros.c (keys_of_macros): Remove.
1163
747d3f2a
SM
1164 * xfaces.c (Fface_attribute_relative_p): Declare args.
1165
5e905a57
JR
11662001-10-30 Jason Rumney <jasonr@gnu.org>
1167
1168 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
1169 (enum_font_cb2): Ignore fonts with vertical orientation.
1170
3a426197
RS
11712001-10-30 Richard M. Stallman <rms@gnu.org>
1172
1173 * keyboard.c (Finput_pending_p): Doc fix.
1174
a742d646
GM
11752001-10-30 Gerd Moellmann <gerd@gnu.org>
1176
259cf6bc
GM
1177 * xterm.c (x_after_update_window_line): Don't run the code
1178 clearing in borders for rows whose visible height is 0.
1179
3f99f948
GM
1180 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
1181 resized_p flag is set. If not set, use the much less flickering
1182 method previously used.
1183
1184 * dispnew.c (change_frame_size_1): Set frame's resized_p.
1185
1186 * frame.h (struct frame) <resized_p>: New member.
1187
b4a3be43
GM
1188 * lread.c (to_multibyte): Ensure read_buffer is at least twice
1189 as large as the number of bytes to convert.
747d3f2a 1190
a742d646
GM
1191 * lread.c (to_multibyte): New function.
1192 (read1): Use it.
1193
cacbb9e9
EZ
11942001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
1195
1196 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
1197
99cb6b2f
GM
11982001-10-30 Gerd Moellmann <gerd@gnu.org>
1199
327f42ee 1200 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
1201 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
1202 if the row's fill_line_p is set and drawing the last glyph with
1203 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 1204
99cb6b2f
GM
1205 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
1206
8e8223e2
SM
12072001-10-29 Stefan Monnier <monnier@cs.yale.edu>
1208
1209 * xmenu.c: Include coding.h and charset.h.
1210 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
1211 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
1212 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
1213 Explicitly set wv->help. Use `TRUE' rather than `True'.
1214 (menu_help_callback): Use empty_string.
1215
1216 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
1217 (Fx_popup_dialog): Explicitly init f.
1218 (w32_menu_display_help): Use empty_string.
1219
4d083a8f
RS
12202001-10-29 Richard M. Stallman <rms@gnu.org>
1221
b2304472
RS
1222 * fns.c (Frequire): Detect recursive try to require the same
1223 feature 3 or more levels deep, and get error.
1224 (require_unwind): New subroutine.
1225 (require_nesting_list): New variable.
1226 (syms_of_fns): Init and staticpro it.
1227
4d083a8f
RS
1228 * print.c (print_object): Clarify indication of insertion type.
1229
2fe41216
EZ
12302001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
1231
90480000
EZ
1232 * coding.c (syms_of_coding): Document that locale-coding-system is
1233 used for decoding input on X.
1234
2fe41216
EZ
1235 * window.c (Fscroll_left, Fscroll_right): Doc fix.
1236
74e79967
PJ
12372001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1238
1239 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
1240 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
1241
60ebcfe8
GM
12422001-10-29 Gerd Moellmann <gerd@gnu.org>
1243
9a7bdceb
GM
1244 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
1245 use NO_CURSOR if cursor_in_non_selected_windows is false.
1246
3f08fcd2
GM
1247 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
1248 the slant attribute if FRAME is t.
1249
0ccfdad2
GM
1250 * xfns.c (x_set_internal_border_width): Set frame garbaged
1251 when X window doesn't exist yet.
1252
ef253080
GM
1253 * xterm.c (x_after_update_window_line): Clear internal border
1254 in different circumstances.
b116830b 1255
60ebcfe8
GM
1256 * xterm.c (XTread_socket) <KeyPress>: Don't use
1257 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
1258 <handa@etl.go.jp>.
1259
73d25f9c
EZ
12602001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
1261
1262 * m/ibms390.h: New file. From Adam Thornton
1263 <athornton@sinenomine.net>.
1264
cac1daf0
GM
12652001-10-28 Gerd Moellmann <gerd@gnu.org>
1266
053b3256 1267 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
b116830b 1268
cac1daf0
GM
1269 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
1270 a loop counter.
1271
13b1a09c
PJ
12722001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1273
186486eb
PJ
1274 * emacs.c: Use argv[0] instead of emacs when -t was specified.
1275
4707d2d0
PJ
1276 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
1277 keyword].
1278 Fix typos in comments.
b116830b 1279
d883731c
PJ
1280 * emacs.c (bug_reporting_address): New function.
1281 Use it when displaying usage message.
1282
04012254
PJ
1283 * minibuf.c (read_minibuf): Remove unused external declaration of
1284 variable `Qread_only'.
1285
13b1a09c
PJ
1286 * keymap.c (access_keymap): Remove unused variable `charset'.
1287
5bbf4378
MB
12882001-10-28 Miles Bader <miles@gnu.org>
1289
1290 * xfaces.c (merge_face_heights): Handle TO being relative as well.
1291 Remove #ifdef'd-out code.
1292 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
1293 (syms_of_xfaces): Initialize them.
1294
1ce1e4ee
JR
12952001-10-27 Jason Rumney <jasonr@gnu.org>
1296
1297 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
1298 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
1299 position using the system caret.
1300
1301 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
1302 (w32_system_caret_height, w32_system_caret_x)
1303 (w32_system_caret_y): New variables for tracking system caret.
1304 (w32_initialize): Initialize them.
c2d53558 1305 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 1306
c2d53558
SM
1307 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
1308 New messages types.
1ce1e4ee
JR
1309
1310 * w32term.c (note_mouse_highlight): Clear old help_echo.
1311
4e30ce42
PJ
13122001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1313
bb4600a4
PJ
1314 * xterm.c: Fix typo in a comment.
1315
7db35a48
PJ
1316 * emacs.c: Fix typos in comments.
1317 Remove unnecessary spaces.
1318 Change doc-string comments to `new style' [w/`doc:' keyword].
1319 (USAGE2): Fix typos in usage string.
1320
a7248e4f
PJ
1321 * xterm.c: Fix typo in a comment.
1322
4e30ce42
PJ
1323 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
1324 emacs.c.
1325
62725a92
GM
13262001-10-27 Gerd Moellmann <gerd@gnu.org>
1327
798dbe1f 1328 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 1329 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
1330 farther backward when target_y was not reached.
1331
62725a92
GM
1332 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
1333 Display errno only if non-zero.
1334 (sound_warning): New function.
1335 (vox_configure): Don't treat failing to set sample rate as error.
1336 (various places): Improve error messages.
1337
d4e34d24
EZ
13382001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
1339
944e6f60
EZ
1340 * fileio.c (Faccess_file): Run the argument filename through
1341 Fexpand_file_name, before using it.
1342
d4e34d24
EZ
1343 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
1344 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
1345
38d2af0c
GM
13462001-10-26 Gerd Moellmann <gerd@gnu.org>
1347
da80a8d5
GM
1348 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
1349
38d2af0c
GM
1350 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1351 Fix clearing in the case of scroll bars on the right.
c2d53558 1352
56f508dd
EZ
13532001-10-26 Juanma Barranquero <lektu@terra.es>
1354
1355 * w32gui.h (XImage): Add a dummy typedef.
1356
fbd5ceb2
GM
13572001-10-26 Gerd Moellmann <gerd@gnu.org>
1358
c2d53558 1359 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 1360
b23236fb
EZ
13612001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
1362
1363 * frame.c (Fframe_parameter): Fix last change.
1364
5d991fc4
EZ
1365 * fileio.c: Revert last change (which removed old commented-out
1366 version of expand-file-name). Add a comment that explains why
1367 this old version should not be removed.
1368
879eadc3
GM
13692001-10-25 Gerd Moellmann <gerd@gnu.org>
1370
75700ff2
GM
1371 * frame.c (Fframe_parameter): Fix a bug whereby some
1372 ``artificial'' frame parameters, like `minibuffer' were not
1373 obtained by calling Fframe_parameters.
1374
dfe92a6a
GM
1375 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
1376 cursor differently.
1377
879eadc3
GM
1378 * xdisp.c (move_it_vertically_backward): Compute line height
1379 differently. Add heuristic to try to be more compatible to 20.x.
1380
e1010ebe
SM
13812001-10-25 Stefan Monnier <monnier@cs.yale.edu>
1382
d73a471b
SM
1383 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
1384
d6da5a06
GM
1385 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
1386 boolean.
e1010ebe 1387
f66bd220
MB
13882001-10-25 Miles Bader <miles@gnu.org>
1389
1390 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
1391 BG is a pointer to a structure, not a structure.
1392 (gif_format, png_format): Add missing commas.
1393
d436d538
RS
13942001-10-24 Richard M. Stallman <rms@gnu.org>
1395
1396 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 1397 (syms_of_xfaces): Defsubr it.
d436d538 1398
075c507b
PJ
13992001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1400
1401 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
1402 variable `area'.
1403
d492b584
PJ
14042001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1405
c2d53558 1406 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 1407
e2a57b34
MB
14082001-10-25 Miles Bader <miles@gnu.org>
1409
1410 * dispextern.h (struct image): Add `background',
1411 `background_valid', and `background_transparent' fields.
1412 (image_background, image_background_transparent): New declarations.
1413 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
1414 * xfns.c (image_background, image_background_transparent)
1415 (four_corners_best): New functions.
c2d53558 1416 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
1417 (gs_format): Add `:background' entry.
1418 (lookup_image): Set IMG's background color if specified.
1419 (pbm_load, xbm_load_image, png_load): Set IMG's background field
1420 when appropriate.
1421 (x_clear_image_1): Reset `background_valid' and
1422 `background_transparent_valid' fields.
1423 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
1424 calculating it here. Set IMG's background_transparent field.
1425 (enum xpm_keyword_index): Add XPM_BACKGROUND.
1426 (enum png_keyword_index): Add PNG_BACKGROUND.
1427 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
1428 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
1429 (enum gif_keyword_index): Add GIF_BACKGROUND.
1430 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 1431 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
1432 Pre-calculate image background color where necessary.
1433 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
1434 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
1435 color to use for image glyph reliefs.
1436
b547b6e8
GM
14372001-10-24 Gerd Moellmann <gerd@gnu.org>
1438
d9e3b8c6
GM
1439 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
1440 in full-width rows.
c2d53558 1441
b547b6e8
GM
1442 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1443 Fix clearing of area not covered by scroll bar.
1444
2beb36f9
PJ
14452001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1446
1447 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
1448 and `real_start'.
c2d53558 1449 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
1450 (glyph_rect): Remove unused variable `area'.
1451
76cb5e06
GM
14522001-10-24 Gerd Moellmann <gerd@gnu.org>
1453
bdbdebff 1454 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
1455
1456 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
1457 (row_containing_pos): Take additional argument DY.
1458 Treat rows ending in middle of char differently.
62e33982
GM
1459 (display_line): Handle tabs on window systems differently.
1460
1461 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
1462 with additional argument.
1463
1464 * dispextern.h (row_containing_pos): Adjust prototype.
1465
76cb5e06
GM
1466 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
1467 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
1468 (try_window_id, try_window_reusing_current_matrix)
1469 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
1470 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
1471
996fee11
PJ
14722001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1473
c9e60620
PJ
1474 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
1475 gnuemacs).
1476 (HAVE_BOXES): Fix typo in comment.
1477 (push_menu_pane): Fix typo in comment.
1478
3b552d56
PJ
1479 * xdisp.c: (display_prop_string_p): Remove unused local declaration
1480 of `Qwhen'.
1481 (single_display_prop_string_p): Remove unused local declarations
1482 of `Qwhen' and `Qmargin'.
1483 (string_buffer_position): Remove unused variable `around'.
1484 (store_frame_title): Remove unused variable `width'.
1485
15c565ac
PJ
1486 * window.c: Don't define max.
1487 (coordinates_in_window): Remove unused variable `uy'.
1488
a8818eb9
PJ
1489 * widget.c: Don't define max.
1490
996fee11
PJ
1491 * process.c: Don't define max.
1492 (create_process): Remove unused variable `buffer'.
1493
496e1a5b
GM
14942001-10-23 Gerd Moellmann <gerd@gnu.org>
1495
c2d53558 1496 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 1497
5905ae8b
EZ
14982001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
1499
1500 * xfaces.c (Finternal_set_lisp_face_attribute)
1501 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
1502 frame is on a windowed display.
1503
24db49fb
GM
15042001-10-23 Gerd Moellmann <gerd@gnu.org>
1505
c2d53558
SM
1506 * dispnew.c (sync_window_with_frame_matrix_rows):
1507 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
1508 of marginal areas.
1509
c2d53558 1510 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 1511
f0487f05
EZ
15122001-10-23 Andreas Schwab <schwab@suse.de>
1513
1514 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
1515 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
1516
f0a48a01
GM
15172001-10-23 Gerd Moellmann <gerd@gnu.org>
1518
c2d53558 1519 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
1520 REAL_END. Notice if cursor gets overwritten.
1521 (notice_overwritten_cursor): Take X positions as parameters.
1522 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
1523 around call to x_draw_glyphs.
1524
a50a10a0
PJ
15252001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1526
fc11dff0
PJ
1527 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
1528 instead of C) and usage.
a50a10a0 1529
fc11dff0
PJ
1530 * editfns.c (char-to-string): Fix argument names (use CHAR instead
1531 of C) and usage.
a50a10a0
PJ
1532
1533 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
1534 `left', `max_width' and `max_height'.
1535
8738febd
GM
15362001-10-23 Gerd Moellmann <gerd@gnu.org>
1537
1538 * xdisp.c (display_line): For a tab continued to the next line,
1539 set row's ends_in_middle_of_char_p.
1540
653c329b
GM
15412001-10-22 Gerd Moellmann <gerd@gnu.org>
1542
1543 * xdisp.c (display_line): Fix computation of continuation lines
1544 width for TABs.
1545
f958c5ac
PJ
15462001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1547
7ba51063
PJ
1548 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
1549 `Qlaplace'.
1550
f958c5ac
PJ
1551 * fileio.c: Remove unused code.
1552
eb360291
MB
15532001-10-22 Miles Bader <miles@gnu.org>
1554
1555 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
1556 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
1557 Remove `DOC_STRINGS_IN_COMMENTS' cases.
1558
98515cf0
JR
15592001-10-21 Jason Rumney <jasonr@gnu.org>
1560
1561 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
1562
93026d88
EZ
15632001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
1564
1565 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
1566 (Finsert_string): Avoid the multi-line string literals warning.
1567
c9a95b79
MB
15682001-10-22 Miles Bader <miles@gnu.org>
1569
1570 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
1571 (Fdocumentation): Don't use it.
1572 (syms_of_doc): Don't initialize it.
1573
1574 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
1575 * print.c (Fwith_output_to_temp_buffer): Likewise.
1576 * window.c (Fsave_window_excursion): Likewise.
c2d53558 1577 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 1578 (Fsave_restriction): Likewise.
c2d53558
SM
1579 * eval.c (Frun_hooks, Frun_hook_with_args)
1580 (Frun_hook_with_args_until_failure)
1581 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
1582 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
1583 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
1584 (Funwind_protect, Fcondition_case): Likewise.
1585 * coding.c (Ffind_operation_coding_system): Likewise.
1586 * keyboard.c (Ftrack_mouse): Likewise.
1587
a3b10252
MB
15882001-10-21 Miles Bader <miles@gnu.org>
1589
c2d53558 1590 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
1591 (Fmake_hash_table): Add usage: string to doc string.
1592 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 1593 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
1594 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
1595 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
1596 (Fml_prefix_argument_loop): Likewise.
1597
c6f73eec
PJ
15982001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1599
c2d53558 1600 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 1601
c6f73eec
PJ
1602 * sysdep.c (init_sys_modes): Change doc-string comments to `new
1603 style' [w/`doc:' keyword].
1604
1605 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
1606 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
1607 comments to `new style' [w/`doc:' keyword].
1608
3cf3436e
JR
16092001-10-21 Jason Rumney <jasonr@gnu.org>
1610
1611 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
1612
c169b8f1
JR
1613 * w32term.c (remember_mouse_glyph): New function.
1614 (w32_mouse_position): Use it.
1615 (note_mouse_movement): If the mouse moved off the glyph, remember
1616 its new position.
c2d53558 1617
4fdd691b
JR
1618 * w32term.h (struct w32_output): Correct spelling of x_compatible.
1619 (w32_display_info): Add mouse_face_overlay.
1620
c169b8f1
JR
1621 * w32term.c (notice_overwritten_cursor): Renamed from
1622 note_overwritten_text_cursor. Rewritten to take glyph widths into
1623 account.
1624 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1625 (fast_find_string_pos): New function.
1626 (fast_find_position): Return the correct vpos. Add parameter
1627 STOP. In the final row, stop before glyphs having STOP as object.
1628 Don't consider glyphs that are not from a buffer.
1629 (fast_find_position) [0]: Add a presumably more correct version
1630 for after 21.1.
1631 (expose_window_tree, expose_frame): Don't compute intersections here.
1632 (expose_window): Do it here instead.
1633 (expose_window_tree, expose_window, expose_line): Return 1 when
1634 overwriting mouse-face.
1635 (expose_window): If W is the window currently being updated, mark
1636 the frame garbaged.
1637 (expose_frame): If mouse-face was overwritten, redo it.
1638 (x_use_underline_position_properties): New variable.
1639 (syms_of_xterm): DEFVAR_BOOL it.
1640 (x_draw_glyph_string): Add comment to use it in future.
1641 (x_draw_glyph_string): Restore clipping after drawing box.
1642 Fix a computation of the underline position.
1643 (w32_get_glyph_string_clip_rect): Minor cleanup.
1644 (x_fill_stretch_glyph_string): Remove an assertion.
1645 (x_produce_glyphs): Don't convert multibyte characters
1646 to unibyte characters in unibyte buffers.
1647 (cursor_in_mouse_face_p): New function.
1648 (x_draw_stretch_glyph_string): Use it to choose a different GC
1649 when drawing a cursor within highlighted text. Don't draw
1650 background again if it has already been drawn.
1651 (x_draw_glyph_string_box): Don't draw a full-width
1652 box just because the glyph row's full_width_p flag is set.
1653 (x_draw_glyphs): Fix computation of rightmost x for
1654 full-width rows.
1655 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1656 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
1657 change bottom shadow accordingly. Some cleanup.
1658 (x_update_window_end): Handle overwritten mouse face
1659 also for tool bar windows.
1660 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1661 DRAW is DRAW_IMAGE_RAISED.
1662 (clear_mouse_face): Return 1 if text with mouse face was
1663 actually redrawn. Make the function static. Reset
1664 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
1665 optimize away highlighting if we pass over that same overlay again.
1666 (note_mouse_highlight): Call mouse_face_overlay_overlaps
1667 to detect a case where we have to highlight a different region
1668 despite not having left the currently highlighted region.
1669 Set mouse_face_overlay in the x_display_info. Avoid changing the
1670 mouse pointer shape when show_mouse_face has already done it, or
1671 there is no need. Handle mouse-face and help-echo in strings.
1672 (glyph_rect): New function.
1673 (w32_mouse_position): Use it to raise the threshold for mouse
1674 movement event generation.
1675 (w32_initialize_display_info): Initialize the x_display_info's
1676 mouse_face_overlay.
1677 (w32_set_vertical_scroll_bar): Don't clear a zero height
1678 or width area.
1679 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1680 a widget to zero height.
1681
3cf3436e 1682 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 1683 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
1684 equivalents in menu_items.
1685 (w32_menu_show): Don't overwrite an item's name with its key
1686 description in case the description is a multibyte string.
1687 (single_submenu): Some cleanup.
1688
1689 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
1690 (postprocess_image): New function.
1691 (lookup_image): Call it for all image types except PostScript.
1692 (x_kill_gs_process): Call postprocess_image.
1693 (tiff_error_handler, tiff_warning_handler): New functions.
1694 (tiff_load): Install them as handlers.
1695 (x_kill_gs_process): Recognize if someone has cleared the image
1696 cache under us.
1697 (valid_image_p): Protect better against invalid image
1698 specifications. Previous code could signal an error.
1699 (Fx_hide_tip, Fshow_tip): Doc fix.
1700 (Fv_max_tooltip_size): New variable.
1701 (syns_of_xfns): DEFVAR_LISP it.
1702 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
1703 window buffer to *tip* right after creating the frame. Set frame's
1704 window_width. Use a maximum tooltip size specified by
1705 Vx_max_tooltip_size, if that has valid contents.
1706 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1707 Make sure the tooltip is completely visible.
1708 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
1709 (Fx_create_frame): Adjust the frame's height for presence
1710 of the tool bar before calling x_figure_window_size.
1711 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
1712 when the window gets smaller.
1713 (x_set_foreground_color): Set frame's cursor_pixel.
1714 (x_set_foreground_color, x_set_background_color): Cleaned up.
1715 (x_set_font): Handle case of x_new_fontset returning the same name
1716 as before, although there was a change in fontsets.
1717
386ca361
MB
17182001-10-21 Miles Bader <miles@gnu.org>
1719
c2d53558 1720 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
1721 (Flogxor): Add usage: string to doc string.
1722 * charset.c (Fstring): Likewise.
1723 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
1724 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
1725
14ff1ee0
PJ
17262001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1727
03be2694
PJ
1728 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
1729
1730 * alloc.c: Reindent DEFUNs with doc: keywords.
1731
1732 * abbrev.c (Finsert_abbrev_table_description): Reindent.
1733
14ff1ee0
PJ
1734 * frame.c: Change doc-string comments to `new style' [w/`doc:'
1735 keyword].
1736
71431a0e
GM
17372001-10-20 Gerd Moellmann <gerd@gnu.org>
1738
6aa97356 1739 * (Version 21.1 released.)
71431a0e 1740
39f624fa
PJ
17412001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1742
c2d53558 1743 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
1744
1745 * xdisp.c (invisible_text_between_p): Put prototype inside #if
1746 0 because unused.
1747
1748 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
1749 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
1750 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 1751
abcce93a
MB
17522001-10-20 Miles Bader <miles@gnu.org>
1753
1754 The following changes remove the glyph_row `inverse_p' field,
1755 which is never set anymore, due to other changes:
1756
1757 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
1758 (reassert_line_highlight, change_line_highlight): Declarations removed.
1759 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
1760 (line_hash_code, row_equal_p, fake_current_matrices)
1761 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
1762 (update_frame_line, update_frame_line, update_frame_line):
1763 Don't use `inverse_p' field.
1764 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
1765 change_line_highlight_hook.
1766 (XTreassert_line_highlight, x_change_line_highlight):
1767 Functions removed.
c2d53558 1768 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1769 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1770 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
1771 `inverse_p' field.
c2d53558 1772 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1773 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1774 (w32_reassert_line_highlight, x_change_line_highlight):
1775 Functions removed.
1776 * w32console.c (reassert_line_highlight, change_line_highlight):
1777 Functions removed.
1778 (initialize_w32_display): Don't set reassert_line_highlight_hook
1779 or change_line_highlight_hook.
1780 (hl_mode): Function removed.
c2d53558
SM
1781 (reset_terminal_modes, set_terminal_modes, update_begin)
1782 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
1783 (clear_frame, ins_del_lines): Don't call it.
1784 * termhooks.h (reassert_line_highlight_hook)
1785 (change_line_highlight_hook): Declarations removed.
1786 * term.c (reassert_line_highlight_hook)
1787 (change_line_highlight_hook): Variables removed.
1788 (reassert_line_highlight, change_line_highlight): Functions removed.
1789 * msdos.c (IT_reassert_line_highlight)
1790 (IT_change_line_highlight): Functions removed.
1791 (internal_terminal_init): Don't set reassert_line_highlight_hook
1792 or change_line_highlight_hook.
1793 (highlight): Variable removed.
c2d53558 1794 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
1795 (IT_set_terminal_modes): Don't set or use it.
1796
1797 The following changes remove inverse-video support for terminals
1798 that use a `magic cookie' standout mode. Due to changes in the
1799 way mode-lines are displayed, such support no longer works
1800 anyway, and it's probable that almost no one uses such terminals
1801 anymore:
1802
1803 * term.c (standout_requested): Variable removed.
1804 (update_end, highlight_if_desired): Don't use it.
1805 (chars_wasted, copybuf): Variables removed.
1806 (write_standout_marker): Function removed.
c2d53558 1807 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
1808 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
1809 Don't use `chars_wasted' or `copybuf'.
1810 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
1811 Set `costs_set' to true.
1812 (cursor_to, clear_end_of_line): Test `costs_set' instead of
1813 `chars_wasted'.
1814 (clear_end_of_line): Function removed.
1815 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
1816 (clear_to_end): Call `clear_end_of_line' instead of
1817 `clear_end_of_line_raw'.
54800acb
MB
1818 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
1819 (term_init): Don't set them.
1820 Turn off any standout/underline modes that require magic cookies.
c2d53558 1821 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
1822 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
1823 Remove special processing for magic-cookie standout modes.
1824 (turn_off_face, turn_on_face): Remove special processing for
1825 underline magic-cookie glitch.
abcce93a 1826
0b5f679f
RS
18272001-10-19 Richard M. Stallman <rms@gnu.org>
1828
1829 * eval.c (syms_of_eval): Doc fixes.
1830
5a4a5bd4
GM
18312001-10-19 Gerd Moellmann <gerd@gnu.org>
1832
1833 * xdisp.c (redisplay_internal): Don't clear echo area if the
1834 mini-window is selected.
1835
79f1f96c
MB
18362001-10-19 Miles Bader <miles@gnu.org>
1837
b57c2708
MB
1838 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
1839 doesn't take precedence if the affected property's value is nil.
1840
1841 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
1842
79f1f96c
MB
1843 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
1844 with fields and suggest using `forward-line' to avoid them.
1845 * editfns.c (Fline_beginning_position, Fline_end_position):
1846 Clarify documentation.
1847
ef879104
SM
18482001-10-18 Stefan Monnier <monnier@cs.yale.edu>
1849
1850 * keymap.c (current_minor_maps): `override' only shadows its
1851 correspondent in minor-mode-map-alist, not the whole tail.
1852
97f4db8c
AI
18532001-10-18 Andrew Innes <andrewi@gnu.org>
1854
1855 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
1856 optimization. The fontp->encoding array was not being initialized
1857 correctly when compiled with optimizations by MSVC.
1858
e6b70fd8
GM
18592001-10-18 Gerd Moellmann <gerd@gnu.org>
1860
30903479 1861 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 1862
0e804d38
AI
18632001-10-17 Andrew Innes <andrewi@gnu.org>
1864
1865 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
1866
1867 * w32fns.c (w32_load_system_font): Cache codepage for font, in
1868 font_info.charset field.
1869
1870 * w32term.c (w32_encode_char): Get cached codepage from font_info,
1871 rather than working it out by calling w32_codepage_for_font for
1872 every glyph.
1873
66e5868a
AI
18742001-10-17 Andrew Innes <andrewi@gnu.org>
1875
1876 * w32term.c (w32_read_socket): Determine clipping rectangle for
1877 the entire frame, including areas covered by scrollbars and the
1878 menubar. This avoids internal arguments about whether a frame is
1879 fully obscured or not.
1880
15b00083
GM
18812001-10-17 Gerd Moellmann <gerd@gnu.org>
1882
23e8bd86
GM
1883 * xdisp.c (try_window_id): Undo last change. Give up if
1884 window ends in strings.
30903479 1885
9c6ba6d1 1886 * xdisp.c (try_window_id): Don't display lines after the window
30903479 1887 end if the rest of the window after the window end was already blank.
23e8bd86 1888
30903479 1889 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
1890 for the release of 21.1.
1891
30903479 1892 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 1893
945220bd
MB
18942001-10-17 Miles Bader <miles@gnu.org>
1895
1896 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
1897 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
1898 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
1899 Change doc-string comments to `new style' [w/`doc:' keyword].
1900 (DOC_STRINGS_IN_COMMENTS): Macro removed.
1901 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
1902 out make-docfile.
1903
14242528
MB
19042001-10-16 Miles Bader <miles@gnu.org>
1905
1906 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
1907
3ddf952f
GM
19082001-10-16 Gerd Moellmann <gerd@gnu.org>
1909
1910 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
1911 *scratch*.
1912
f3fbd155
KR
19132001-10-16 Ken Raeburn <raeburn@gnu.org>
1914
1915 Avoid the assumption that car and cdr slots of cons cells are
1916 addressable lvalues; this allows for easier experimentation with
1917 other lisp implementations that may not permit such accesses for
1918 various reasons. Not quite complete -- buffer.c still needs some
1919 work, and w32/mac files need rechecking -- so compile-time
1920 enforcement is left disabled for now.
1921
1922 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 1923 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
1924 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
1925 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
1926 (XSETCAR, XSETCDR): New macros.
1927 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
1928 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
1929 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
1930 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
1931 XSETCDR.
1932 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
1933 * buffer.c (record_buffer, Fbury_buffer)
1934 (swap_out_buffer_local_variables, recenter_overlay_lists)
1935 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
1936 fields of a cons cell respectively.
1937 * callint.c (quotify_args, Fcall_interactively): Likewise.
1938 * ccl.c (Fregister_code_conversion_map): Likewise.
1939 * coding.c (detect_coding_system): Likewise.
1940 * composite.c (get_composition_id, make_composition_value_copy):
1941 Likewise.
30903479
SM
1942 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
1943 (swap_in_symval_forwarding, set_internal, Fset_default)
1944 (Fmake_variable_buffer_local, Fmake_local_variable)
1945 (Fmake_variable_frame_local): Likewise.
f3fbd155 1946 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 1947 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 1948 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
1949 * minibuf.c (get_minibuffer): Likewise.
1950 * search.c (Fmatch_data): Likewise.
1951 * textprop.c (extend_property_ranges): Likewise.
c2d53558 1952 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
1953 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
1954 Likewise.
1955 * w32term.c (x_delete_display): Likewise.
1956 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
1957 Likewise.
c2d53558 1958 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 1959 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 1960 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
1961 (Fread_file_name): Use XSETCAR.
1962 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
1963 CHECK_NUMBER_CDR.
1964 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
1965 * frame.c (Fmake_terminal_frame): Use XSETCDR.
1966 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
1967 CHECK_NUMBER_CDR.
1968 * keyboard.c (read_char): Alter list traversal to avoid taking the
1969 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
1970 (parse_menu_item): Use XSETCAR and XSETCDR.
1971 (reach_char_x_menu_prompt): Use XSETCAR.
1972 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
1973 (Fcommand_execute): Use XSETCDR.
1974 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
1975 (openp): Change list traversal to avoid using XCAR as lvalue.
1976 (read_list): Use XSETCDR.
1977 * process.c (wait_reading_process_input): Change wait_for_cell
1978 handling to avoid taking addresses of cons cell slots.
30903479
SM
1979 * xselect.c (x_own_selection, x_handle_selection_clear)
1980 (x_clear_frame_selections): Use XSETCDR.
1981 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
1982 (x_handle_property_notify, x_get_foreign_selection)
1983 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 1984
502150e5
PJ
19852001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1986
018ba359
PJ
1987 * buffer.c: Put doc strings in comments.
1988
30903479 1989 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 1990
b56ba8de
SS
19912001-10-15 Sam Steingold <sds@gnu.org>
1992
1993 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
1994
6a0b793a
PJ
19952001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1996
30903479
SM
1997 * process.c (process-inherit-coding-system-flag)
1998 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
1999 in comment.
2000
a1f17501 2001 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 2002 arguments. Put doc strings in comments.
a65da641
PJ
2003
2004 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 2005
aa601ad0
GM
20062001-10-15 Gerd Moellmann <gerd@gnu.org>
2007
30903479 2008 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 2009
aa601ad0
GM
2010 * window.c (select_window_1): Unfreeze window start. Remove a
2011 doubled test for WINDOW being live.
2012
288148a1
PJ
20132001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2014
dd8d1e71
PJ
2015 * fns.c (Fmapconcat): Fix typo in a doc string.
2016
288148a1
PJ
2017 * dispnew.c (Fsleep_for): Fix typo in a doc string.
2018
9f5eb4a3
GM
20192001-10-15 Gerd Moellmann <gerd@gnu.org>
2020
2021 * xterm.c (x_draw_glyph_string): Restore clipping after
2022 drawing box.
2023
dbae44c8
PJ
20242001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2025
30903479 2026 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 2027
0c88c937
SM
20282001-10-14 Stefan Monnier <monnier@cs.yale.edu>
2029
56378db4
GM
2030 * indent.c (skip_invisible): Use new retval of
2031 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 2032
845e4cf4
SM
2033 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
2034 If a parent is reached and noinherit is set, exit immediately.
2035 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
2036
0c88c937
SM
2037 * s/ms-w32.h (EXEC_SUFFIXES):
2038 * s/msdos.h (EXEC_SUFFIXES):
2039 * process.h (EXEC_SUFFIXES): Remove.
2040
2041 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
2042 (decode_suffixes): Remove.
2043
2044 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
2045 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
2046 (invisible_ellipsis_p): Remove.
0c88c937
SM
2047
2048 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
2049 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
2050 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
2051 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
2052 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 2053
d19be8a9
PJ
20542001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2055
04d7d066
PJ
2056 * lisp.h (Ftop_level): Add prototype.
2057
d624284c
PJ
2058 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
2059 (XTread_socket): Improve style of comments to follow other
2060 comments.
2061
a87414f9
PJ
2062 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
2063 is already prototyped in included lisp.h).
2064
d19be8a9
PJ
2065 * frame.c (Fset_mouse_position): Improve style of comment to
2066 follow other comments.
2067 (Fset_mouse_pixel_position): Improve style of comment to follow
2068 other comments.
2069 (Fmake_frame_visible): Doc fix and typo in comment.
2070 (Fmake_frame_invisible): Doc fix and typo in comment.
2071 (Ficonify_frame): Fix typo in comment.
2072
c061c855
GM
20732001-10-14 Gerd Moellmann <gerd@gnu.org>
2074
37f6b5b6 2075 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 2076 * term.c, alloc.c: Put doc strings in comments.
c061c855 2077
e641b454
GM
20782001-10-13 Gerd Moellmann <gerd@gnu.org>
2079
2080 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
2081 Provide definitions for doc strings in comments.
2082
2083 * fns.c: Put doc strings in comments.
2084
51724e26
EZ
20852001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
2086
2087 * dired.c (file_name_completion): Ignore a candidate directory if
2088 it matches an element in completion-ignored-extensions that ends
2089 in a slash.
2090 (syms_of_dired) <completion-ignored-extensions>: Mention the above
2091 feature in the doc string.
2092 (Ffile_name_completion): Ditto.
2093
be5fc59b
SM
20942001-10-12 Stefan Monnier <monnier@cs.yale.edu>
2095
5a1373f3
SM
2096 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
2097
2098 * xfns.c (syms_of_xfns): Update calls to Fprovide.
2099
2100 * lisp.h (Fprovide): Update prototype.
2101 (Ffeaturep, invisible_p): Remove.
2102
bbc4a3d3 2103 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
2104 (DOLIST, LOOP_PROPVAL): New macros.
2105 (invisible_p, invisible_ellipsis_p): Use them.
2106 (invisible_noellipsis_p): New function.
2107 (syms_of_xdisp): Use empty_string.
2108
2109 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
2110
2111 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
2112 (syms_of_lread) <Vafter_load_alist>: Update docstring.
2113
2114 * print.c (Fwith_output_to_temp_buffer): Align with
2115 internal_with_output_to_temp_buffer.
2116 (print_preprocess): Use traverse_intervals_noorder.
2117 (print_object): Update call to traverse_intervals.
2118
2119 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
2120 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
2121
2122 * intervals.c (traverse_intervals_noorder): New function.
2123 (search_for_interval, count_intervals): Use it.
2124 (traverse_intervals): Use less stack space and drop `depth' arg.
2125
2126 * fns.c (Ffeaturep): Add new `subfeature' arg.
2127 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
2128 (Qsubfeatures): New var.
2129 (syms_of_fns): Initialize it.
2130
026f408d
SM
2131 * keymap.c (Fkey_description): Use empty_string.
2132 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
2133 (syms_of_keymap): Setup inheritance between maps.
2134 Don't export Sdescribe_bindings_internal any more.
2135
be5fc59b
SM
2136 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
2137
3365175e
GM
21382001-10-12 Gerd Moellmann <gerd@gnu.org>
2139
2140 * xterm.c (notice_overwritten_cursor): Renamed from
2141 note_overwritten_text_cursor. Rewritten to take glyph widths into
2142 account.
2143
2ab7765c
EZ
21442001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
2145
2146 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
2147 multi-line strings without a trailing "\n\".
2148
311346bb
PJ
21492001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2150
2151 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
2152 defined.
2153
2168e04d
SM
21542001-10-11 Stefan Monnier <monnier@cs.yale.edu>
2155
026f408d
SM
2156 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
2157
c0ec53ad
SM
2158 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
2159 * w32proc.c (sys_spawnve):
2160 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
2161 * w32.c (check_windows_init_file):
2162 * sound.c (Fplay_sound):
026f408d 2163 * emacs.c (init_cmdargs):
c0ec53ad
SM
2164 * process.c (Fstart_process): Update calls to openp.
2165
2166 * callproc.c (Vexec_suffixes): New var.
2167 (Fcall_process): Update call to openp.
2168 (decode_suffixes): New function.
2169 (syms_of_callproc): Init exec-suffixes.
2170
2171 * lread.c (Vload_suffixes, default_suffixes): New vars.
2172 (openp): Take a lisp list of suffixes.
2173 Check for file-name-handlers even if the file was absolute already.
2174 (syms_of_lread): Declare load-suffixes.
2175 (Fload): Fix up call to openp.
2176 Don't bother checking for file-name-handler at the very beginning.
2177
f6333468
SM
2178 * keymap.h (Fcopy_keymap): Don't export.
2179
2180 * lisp.h (empty_string): Declare.
c0ec53ad
SM
2181 (Vload_suffixes, Vexec_suffixes): Declare.
2182 (openp): Update prototype.
f6333468
SM
2183
2184 * emacs.c (empty_string): New var.
2185 (syms_of_emacs): Initialize it.
2186
2187 * search.c (wordify): Use it.
2188
2189 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
2190 selected window if it's not displayed there. Handle the case
2191 when the window is dedicated.
2192 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
2193
2194 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
2195
2168e04d
SM
2196 * syntax.h (struct gl_state_s): Change the meaning of b_property.
2197 Remove left_ok and right_ok.
2198 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
2199 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
2200 new meaning of b_property.
2201
2202 * syntax.c (update_syntax_table): Simplify.
2203 (Fforward_comment): Don't skip quoted chars when going backward.
2204
13d95cc0
GM
22052001-10-11 Gerd Moellmann <gerd@gnu.org>
2206
beb0990f
GM
2207 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
2208 in case I is of some unsigned type, in which case
2209 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
2210 comparison becomes bogus.
2211
cb938d46
GM
2212 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
2213 (Fuser_full_name): Fix bug treating a float as a fixnum.
2214
2215 * data.c (Fstring_to_number): Use make_fixnum_or_float.
2216
2217 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 2218
13d95cc0
GM
2219 * lisp.h (circular_list_error): Add prototype.
2220
2221 * data.c (Qcircular_list): New variable.
2222 (circular_list_error): New function.
2223 (syms_of_data): Initialize it Qcircular_list.
2224
e35f6ff7
SM
22252001-10-10 Stefan Monnier <monnier@cs.yale.edu>
2226
2227 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
2228 casefiddle.c, buffer.c: Include keymap.h.
2229
619632ac
GM
22302001-10-10 Gerd Moellmann <gerd@gnu.org>
2231
2232 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
2233 options. From Dave Love <d.love@dl.ac.uk>.
2234
5e5388f6
GM
22352001-10-09 Gerd Moellmann <gerd@gnu.org>
2236
2237 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
2238 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
2239
14a3dff7
GM
2240 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
2241 unsigned char.
2242 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 2243
76ba8daf
AI
22442001-10-08 Andrew Innes <andrewi@gnu.org>
2245
2246 * lisp.h [max]: Undef min and max before redefining them.
2247
2248 * w32gui.h: Do not undef min and max.
2249
2250 * w32heap.h: Do not undef min and max.
2251
2252 * s/ms-w32.h: Do not undef min and max.
2253
166253cb
SM
22542001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2255
2256 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
2257
0c4d9527
SS
22582001-10-08 Sam Steingold <sds@gnu.org>
2259
2260 * keymap.c (current-active-maps): Quote newlines (compilation error).
2261
14bfa771
EZ
22622001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
2263
2264 * Makefile.in (lisp, shortlisp): Replace bindings.el with
2265 bindings.elc, since otherwise doc strings in bindings.el get wrong
2266 offsets in etc/DOC.
2267
bdb7aa47
SM
22682001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2269
9985827f
SM
2270 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
2271
2272 * keyboard.h (map_prompt): Remove.
2273
2274 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 2275 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 2276
bdb7aa47
SM
2277 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2278
2279 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2280
2281 * keyboard.c (map_prompt): Remove.
2282 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
2283 Use Fkeymap_prompt.
2284
2285 * keymap.h: New file. Extracted from lisp.h.
2286
9985827f
SM
2287 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
2288 (accessible_keymaps_1): New function.
2289 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
2290 (Fwhere_is_internal): Use Fcurrent_active_maps.
2291 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
2292 Insert in current buffer rather than standard-output.
2293 Don't call `help-mode'. Export to elisp.
2294 (describe_buffer_bindings): New wrapper.
2295 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
2296 and Sdescribe_buffer_bindings.
2297
402c9a51
GM
22982001-10-08 Gerd Moellmann <gerd@gnu.org>
2299
9985827f 2300 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
2301 Remove code setting signal handler.
2302
9985827f 2303 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
2304 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
2305
3fe81fdf
PJ
23062001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2307
2308 * keyboard.c: Don't define min/max.
2309
55fa7820
GM
23102001-10-08 Gerd Moellmann <gerd@gnu.org>
2311
9985827f 2312 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 2313 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 2314 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 2315 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 2316 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
2317 Don't define min/max.
2318
2319 * lisp.h (min, max): New macros.
2320
55fa7820
GM
2321 * puresize.h (BASE_PURESIZE): Increase to 725000.
2322
1aad31e4
PJ
23232001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2324
9180dc8c
PJ
2325 * xfaces.c (free_frame_menubar): Add prototype.
2326
01f67d2c
PJ
2327 * lisp.h (init_window): Add prototype.
2328
2329 * editfns.c: Include ctype.h.
2330
2331 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 2332 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
2333 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
2334 variable `sb'.
2335
5f351ff1
PJ
2336 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
2337 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
2338 `popup_activated_flag' and `title'.
2339
479dfe87
PJ
2340 * doc.c (Fdocumentation_property): Fix typo in a doc string.
2341
dff49fc8
PJ
2342 * emacs.c (main): Remove extra `;'.
2343
248ac615
PJ
2344 * atimer.h (struct atimer): Fix typos in a comment.
2345
2346 * atimer.c: Fix typo.
2347
af232c7d
PJ
2348 * Makefile.in: Fix typo.
2349
2350 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 2351
d876f455
MB
23522001-10-07 Miles Bader <miles@gnu.org>
2353
2354 * Makefile.in (lisp, shortlisp): Add `button.elc'.
2355
0037e2f2
KR
23562001-10-07 Ken Raeburn <raeburn@gnu.org>
2357
b056f36d
KR
2358 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
2359 Lisp_Object.
2360
0037e2f2
KR
2361 * lisp.h (Ffield_end): Declare.
2362
1a4372ef
GM
23632001-10-07 Gerd Moellmann <gerd@gnu.org>
2364
a4a74e8c
GM
2365 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
2366
2367 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
2368
2369 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
2370
2371 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
2372
1a4372ef
GM
2373 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
2374 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
2375
2376 * alloc.c (inhibit_garbage_collection): Simplify.
2377 (Fmemory_use_counts): Ditto.
2378
9985827f 2379 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
2380 (syms_of_data): DEFVAR_INT most-positive-fixnum and
2381 most-negative-fixnum.
2382
9985827f 2383 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
2384 (FIXNUM_OVERFLOW_P): New macros.
2385
4650e362
MB
23862001-10-06 Miles Bader <miles@gnu.org>
2387
2388 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
2389 scroll_bar_bottom_shadow_pixel fields.
2390 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
2391 for the shadows, and tell the toolkit about them if we succeed.
2392 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
2393 Free scroll-bar shadow colors.
2394 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
2395 Free scroll-bar shadow colors when the background color changes.
2396 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
2397 Initialize scroll-bar shadow-color fields.
2398
ace64e0a
GM
23992001-10-05 Gerd Moellmann <gerd@gnu.org>
2400
2401 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
2402
ec66bdc7
MB
24032001-10-05 Miles Bader <miles@gnu.org>
2404
9985827f
SM
2405 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
2406 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 2407 New functions (were in simple.el).
9985827f 2408 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
2409 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
2410 (syms_of_minibuf): Initialize them.
2411
a0fb4492
GM
24122001-10-05 Gerd Moellmann <gerd@gnu.org>
2413
2414 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
2415 (tiff_load): Install them as error and warning handler.
2416
0bcf87c1
AI
24172001-10-04 Andrew Innes <andrewi@gnu.org>
2418
2419 * w32fns.c (x_to_w32_color): Fix argument to alloca.
2420 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 2421 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
2422 (x_to_w32_charset): Handle private format for unknown charsets.
2423 Handle wildcards in charset spec, by ignoring them.
2424 (w32_codepage_for_font): Fix argument to alloca. Don't remove
2425 "*-" prefix from charset.
2426 (x_to_w32_font): Enlarge remainder array for safety. Specifically
2427 handle the truncated font spec form constructed by font_list_1, so
2428 that we correctly identify the charset fields. Don't remove "*-"
2429 prefix from charset.
2430 (w32_list_synthesized_fonts): Fix argument to alloca.
2431
c89e4bc5
GM
24322001-10-04 Stefan Monnier <monnier@cs.yale.edu>
2433
2434 * window.h (MINI_WINDOW_P): Use NILP.
2435
2436 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
2437
2438 * termhooks.h (struct input_event): Use proper type for `kind'.
2439
24402001-10-04 Gerd Moellmann <gerd@gnu.org>
2441
2442 This handles unknown keysyms better than before. For example,
2443 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
2444 Emacs formerly completely ignored F5. With the change, it derives
2445 a key symbol from the name of the X keysym, `ccaron' in this case.
2446 Reported by Martin Buchholz.
2447
2448 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
2449 unknown keysyms.
2450
2451 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
2452 that EVENT->code isn't a function key, use the keysym's name.
2453
24542001-10-04 Gerd Moellmann <gerd@gnu.org>
2455
2456 FOREACH is a macro that should make it easier to loop over Lisp
2457 lists with checks for cycles and proper lists.
2458
2459 * lisp.h (LIST_END_P, FOREACH): New macros.
2460
24612001-10-04 Gerd Moellmann <gerd@gnu.org>
2462
2463 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
2464 called for a lost connection. Prevent dumping core in this case.
2465 Instead print the X error, and exit. On user request.
2466
2467 * xterm.c (error_msg): New variable.
2468 (x_fatal_error_signal): New function.
2469 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
2470 as fatal_error_signal_hook around the call to XtCloseDisplay.
2471
2472 * emacs.c (fatal_error_signal_hook): New variable.
2473 (fatal_error_signal): Call that function.
2474
24752001-10-04 Gerd Moellmann <gerd@gnu.org>
2476
2477 With this, Emacs prints how much pure storage it will
2478 approximately need in case pure storage overflows while dumping.
2479
2480 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
2481 New variables.
2482 (init_alloc_once): Initialize new variables.
2483 (PURE_POINTER_P): Use new variables.
2484 (pure_alloc): If pure storage overflows, allocate from the heap.
2485 (check_pure_size): New function.
2486 (Fgarbage_collect): Don't GC if pure storage has overflowed.
2487
2488 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
2489 (check_pure_size): Add prototype.
2490
2491 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
2492
24932001-10-04 Gerd Moellmann <gerd@gnu.org>
2494
2495 This adds a post-gc-hook that's run with GC inhibited.
2496 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
2497
2498 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
2499 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
2500 (Fgarbage_collect): Run post-gc-hook.
2501
25022001-10-04 Gerd Moellmann <gerd@gnu.org>
2503
2504 This adds `defvaralias' and `indirect-variable'. Changes not
2505 directly related to this feature are there to gain the same
2506 performance again as before variable aliases.
2507
2508 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
2509 code to get and set symbol values, to take defvaralias into account.
2510
2511 (Note: the new `constant' bit-flag in symbols would make it
2512 possible to define arbitrary read-only variables, e.g. with
2513 `defconst'.)
2514
2515 Documentation is in lispref/variables.texi. Added to NEWS.
2516
2517 * lisp.h (enum symbol_interned): New enumeration.
2518 (struct Lisp_Symbol): Remove member `obarray', add
2519 `indirect_variable', `constant', and `interned'.
2520 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
2521 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
2522 (indirect_variable): Add prototype.
2523
2524 * print.c (print_preprocess, print_object): Test internedness of
2525 symbols differently.
2526
2527 * lread.c (Fintern, Funintern): Set symbol's interned and constant
2528 bit-fields.
2529 (init_obarray): Likewise for t and nil.
2530
2531 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2532 (Fdefvaralias): New function.
2533 (specbind): Simplify the test if symbol is a constant.
2534 (syms_of_eval): Defsubr Fdefvaralias.
2535
2536 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2537 (Qcyclic_variable_indirection): New variable.
2538 (Fkeywordp): Check for internedness differently.
2539 (Fmakunbound): Simplify the test if symbol is a constant.
2540 (indirect_variable, Findirect_variable): New functions.
2541 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
2542 aliased symbol.
2543 (let_shadows_buffer_binding_p): Check for variable aliases.
2544 (set_internal): Simplify the test if SYMBOL is a constant.
2545 If SYMBOL has a buffer-local value and is an alias, use the aliased
2546 symbol instead.
2547 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
2548 Sindirect_variable.
2549
2550 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
2551 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
2552 set directly.
2553
2554 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
2555
2556 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
2557 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
2558 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
2559
ab952a4f
GM
25602001-10-04 Gerd Moellmann <gerd@gnu.org>
2561
2562 * Branch for 21.1.
b56ba8de 2563
ba88ff28
MB
25642001-10-03 Miles Bader <miles@gnu.org>
2565
2566 * callproc.c (syms_of_callproc): Explicitly state in the
2567 documentation for `process-environment' that earlier entries take
2568 precedence over later ones.
2569
ae1a9581
MB
25702001-10-02 Miles Bader <miles@gnu.org>
2571
2572 * textprop.c (Fnext_char_property_change)
2573 (Fprevious_char_property_change): Remove reference to non-existant
2574 argument OBJECT from doc-string.
2575
257e3f57
GM
25762001-10-01 Gerd Moellmann <gerd@gnu.org>
2577
2578 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
2579 (try_window_id): Skip back over lines ending in a newline from a
2580 string.
2581
2582 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
2583 New bit flag
2584
c1f29759
RS
25852001-10-01 Richard M. Stallman <rms@gnu.org>
2586
2587 * search.c (Freplace_match): Doc fix.
2588
c30dce3d
AI
25892001-09-28 Andrew Innes <andrewi@gnu.org>
2590
2591 * w32menu.c (set_frame_menubar): Take into account that
2592 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2593 <raeburn@gnu.org>.
2594
03be5931
EZ
25952001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
2596
2597 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
2598
75bec752
PJ
25992001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2600
2601 * s/gnu-linux.h: Fix a typo in comment.
2602
83100e0a
AS
26032001-09-28 Andreas Schwab <schwab@suse.de>
2604
2605 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
2606 nocombreloc, in case -z combreloc is the default.
2607
a74b48cf
GM
26082001-09-28 Gerd Moellmann <gerd@gnu.org>
2609
2610 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
2611 really going on here.
2612
09c4719e
SM
26132001-09-27 Stefan Monnier <monnier@cs.yale.edu>
2614
2615 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
2616
f7d5d963
EZ
26172001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
2618
2619 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
2620 utf-8, menu-bar, and latin-N.
2621 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
2622 unconditionally now.
2623 (lisp): Add latin-N, since they are preloaded.
2624
9240e746
GM
26252001-09-27 Gerd Moellmann <gerd@gnu.org>
2626
14531065
GM
2627 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
2628 to the left. Some cleanup.
2629
9240e746
GM
2630 * xdisp.c (display_mode_element): One more case where a string's
2631 multibyteness should be used for display.
2632
edd1e654
GM
26332001-09-26 Gerd Moellmann <gerd@gnu.org>
2634
b02439c8
GM
2635 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
2636 reading at EOF.
2637
032906b1 2638 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 2639 of the only temporarily set echoing flag for deciding when
032906b1
GM
2640 the cancel echoing.
2641
2642 * keyboard.c (echo_kboard): Make externally visible.
2643
2644 * lisp.h (echo_kboard): Declare extern.
2645
cb617e7c 2646 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 2647 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
2648 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
2649 this round of redisplay if make_cursor_line_fully_visible fails.
2650 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 2651 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
2652
2653 * dispextern.h (required_matrix_width, required_matrix_height):
2654 Add prototypes.
2655
09c4719e
SM
2656 * dispnew.c (required_matrix_width, required_matrix_height):
2657 New functions.
cb617e7c 2658 (allocate_matrices_for_window_redisplay)
09c4719e
SM
2659 (allocate_matrices_for_frame_redisplay: Use them.
2660 Remove parameters CH_DIM.
cb617e7c 2661
edd1e654
GM
2662 * xdisp.c (display_mode_lines): Temporarily set selected_frame
2663 and selected_window to the frame of the window whose mode-lines
2664 are displayed, and to the window itself.
2665 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 2666 here.
edd1e654 2667
924b604c
GM
26682001-09-25 Gerd Moellmann <gerd@gnu.org>
2669
daba7643
GM
2670 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
2671 the image cache under us.
2672
b7a22712 2673 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 2674 with a string value, use that string's multibyteness for displaying.
b7a22712 2675
ad648212
GM
2676 * keyboard.c (read_char): Don't clear a message for a switch-frame
2677 event. From Stefan Monnier <monnier@cs.yale.edu>.
2678
9f8531e5
GM
2679 * xterm.c (fast_find_position) [0]: Add a presumably more correct
2680 version for after 21.1.
2681
2682 * xdisp.c (row_containing_pos): Make externally visible.
2683
2684 * dispextern.h (row_containing_pos): Add prototype.
2685
924b604c
GM
2686 * process.c (send_process): Disable composition if from_byte < 0.
2687 From Kenichi Handa <handa@etl.go.jp>.
2688
6f3f0db4
GM
26892001-09-24 Gerd Moellmann <gerd@gnu.org>
2690
c69c0ebc
GM
2691 * xterm.c (refreshicon): Function removed.
2692
d1182bc4
GM
2693 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
2694
2695 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
2696
2697 * xterm.c (toplevel): Remove includes in #if 0.
2698
6f3f0db4
GM
2699 * process.c (sigchld_handler) [LINUX]: Don't return from
2700 the signal handler at the end of the loop.
2701
59957f85
GM
27022001-09-21 Gerd Moellmann <gerd@gnu.org>
2703
09c4719e
SM
2704 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
2705 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 2706
a0528984
EZ
27072001-09-21 Markus Rost <rost@math.ohio-state.edu>
2708
2709 * Makefile.in (shortlisp): Add ../lisp/env.elc.
2710
db92b288
GM
27112001-09-20 Gerd Moellmann <gerd@gnu.org>
2712
3fed8ad5
GM
2713 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
2714 since this function can be called during GC.
2715
db92b288
GM
2716 * callproc.c (Fcall_process): Handle errors from pipe(2).
2717 (child_setup): Delete code in #ifdef vipc.
2718
7121b85a
GM
27192001-09-19 Gerd Moellmann <gerd@gnu.org>
2720
72f62cb5
GM
2721 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
2722 (display_mode_element): Display the string from decode_mode_spec
2723 depending on its multibyteness.
2724
a2697022
GM
2725 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
2726
7121b85a
GM
2727 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
2728
bfc97351
GM
27292001-09-18 Gerd Moellmann <gerd@gnu.org>
2730
c9063433
GM
2731 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
2732 recursive_edit_unwind.
2733 (recursive_edit_unwind): Set kboard state according to
2734 SINGLE-KBOARD.
2735
3fbdba3e
GM
2736 * buffer.c (modify_overlay): Don't do nothing if START == END;
2737 This can still be a modification, for example when an overlay has
2738 a before-string or after-string.
2739 (Fdelete_overlay): Prevent redisplay optimizations when deleting
2740 an overlay with before-string or after-string.
2741
1270031d
GM
2742 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
2743 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
2744
bfc97351
GM
2745 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
2746 first_unchanged_at_end_row is in front of
2747 last_unchanged_at_beg_row. This code should be removed after the
2748 release of 21.1.
2749
d8a973aa
GM
27502001-09-17 Gerd Moellmann <gerd@gnu.org>
2751
e18c8b8d
GM
2752 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
2753 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
2754
d8a973aa
GM
2755 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
2756 versions >= 2.95.
2757
ed7d6ba4
EZ
27582001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
2759
2760 * dired.c (Ffile_attributes): Doc fix.
2761
551629f9
GM
27622001-09-14 Gerd Moellmann <gerd@gnu.org>
2763
2764 * fileio.c (Ffile_symlink_p): Fix last change.
2765
2766 * filelock.c (current_lock_owner): Fix last change.
2767
4c8c7926
GM
27682001-09-13 Gerd Moellmann <gerd@gnu.org>
2769
620c4704
GM
2770 * filelock.c (current_lock_owner): If readlink returns ERANGE,
2771 take that to mean that the buffer is too small.
2772
81c3310d
GM
2773 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
2774 that to mean that the buffer is too small.
2775
06fd3792
GM
2776 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
2777 current buffer's multibyteness when discarding the iterator's
2778 stack.
2779
4c8c7926
GM
2780 * xfns.c (Fx_window_property): Handle case that property gets
2781 deleted between the two calls to XGetWindowProperty.
2782
9a72e4c1
GM
27832001-09-11 Gerd Moellmann <gerd@gnu.org>
2784
bd819d14 2785 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 2786
a41edd99
GM
2787 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
2788 in addition to read-only.
2789
2790 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
2791 to t in addition to read-only.
2792
2793 * lisp.h (Qinhibit_modification_hooks): Declare.
2794
2795 * insdel.c (Qinhibit_modification_hooks): New variable.
2796 (syms_of_insdel): Initialize and staticpro it.
2797
d4881c6a
GM
2798 * textprop.c (verify_interval_modification): Don't run
2799 modification-hooks if inhibit_modification_hooks.
2800
2801 * dispnew.c (set_window_cursor_after_update): Fix code
2802 finding glyph row containing cursor when cursor_in_echo_area
2803 is >= 0.
2804
9a72e4c1
GM
2805 * xdisp.c (init_from_display_pos): Put some code in #if 0.
2806 (add_to_log): Use bcopy instead of strcpy.
2807 (init_from_display_pos): Use an explicit loop over bytes in
2808 overlay strings instead of calling index.
2809
f4a374a1
GM
28102001-09-10 Gerd Moellmann <gerd@gnu.org>
2811
300e57bd
GM
2812 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
2813
2814 * dispnew.c (direct_output_for_insert): Don't change IT's
2815 stop_charpos to something in front of its current position.
2816
f4a374a1
GM
2817 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
2818 `format'.
2819
7e4cbc91
RS
28202001-09-10 Richard M. Stallman <rms@gnu.org>
2821
2822 * frame.c (Fmouse_position): Doc fix.
2823
6afad91e
GM
28242001-09-07 Gerd Moellmann <gerd@gnu.org>
2825
2826 * xdisp.c (init_from_display_pos): Don't compare the result
2827 of calling index with NULL.
2828
f76e0368
GM
28292001-09-06 Gerd Moellmann <gerd@gnu.org>
2830
2831 * xfns.c (x_set_background_color): Don't change the colors
2832 of the X window of scroll bar widgets.
2833
9ead1b60
AI
28342001-09-05 Andrew Innes <andrewi@gnu.org>
2835
2836 * w32fns.c (w32_createwindow): Undo last change.
2837
c3b497b3
GM
28382001-09-05 Gerd Moellmann <gerd@gnu.org>
2839
08e1d6df
GM
2840 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
2841
c3b497b3
GM
2842 * xdisp.c (string_buffer_position): Use *single_char_property*
2843 functions instead of the *single_property* functions.
b56ba8de 2844
8f860180
AI
28452001-09-04 Andrew Innes <andrewi@gnu.org>
2846
9a72e4c1
GM
2847 * w32term.c (w32_read_socket): Add more information to debugging
2848 output.
8f860180
AI
2849
2850 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
2851 from Emacs frames, so that calls to GetClipBox in w32term.c
2852 correctly report when part of a frame is visible (including
2853 scrollbars, etc). This prevents repeated redrawing of frames when
2854 only a scrollbar is visible.
2855 (w32_wnd_proc): Add more frame information to debugging output.
2856
2ee1aa00
SM
28572001-09-03 Stefan Monnier <monnier@cs.yale.edu>
2858
2859 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
2860
e3b22517
GM
28612001-09-03 Gerd Moellmann <gerd@gnu.org>
2862
7e376260
GM
2863 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
2864 help-echo for a string which doesn't have help-echo itself, use
2865 get-char-property to obtain the help-echo from the string's buffer
2866 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
2867 have mouse-face, look ``under'' the string for mouse-face from an
2868 overlay.
2869 (fast_find_position): Add parameter STOP. In the final row, stop
2870 before glyphs having STOP as object. Don't consider glyphs that
2871 are not from a buffer.
2872
e3b22517
GM
2873 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
2874
9a249bba
EZ
28752001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
2876
2877 * fns.c (Fmd5): Doc fix.
2878
c9979669
GM
28792001-08-31 Gerd Moellmann <gerd@gnu.org>
2880
2881 * composite.c (update_compositions): Do nothing if
2882 inhibit-modification-hooks is set.
2883
9584e63a
GM
28842001-08-30 Gerd Moellmann <gerd@gnu.org>
2885
986ec8f2 2886 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 2887 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
2888 glyph matrices etc. in a core dump.
2889
92a25631
GM
2890 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
2891 (syms_of_xdisp): Initialize them.
2892 (handle_single_display_prop): Don't change point, bind `object',
2893 `position', and `buffer-position' instead to the object having the
2ee1aa00 2894 `display' property, position in the object and position in the buffer.
92a25631 2895
9584e63a
GM
2896 * fileio.c (Finsert_file_contents): Don't change the multibyteness
2897 of the buffer if REPLACE is non-nil.
2898
d38633a3
GM
28992001-08-29 Gerd Moellmann <gerd@gnu.org>
2900
2901 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
2902
f4fccc1e
EZ
29032001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
2904
2905 * w32term.c (x_set_glyph_string_background_width)
2906 (show_mouse_face): Track the last changes in xterm.c.
2907
eaaa65b0
GM
29082001-08-28 Gerd Moellmann <gerd@gnu.org>
2909
7b0870b2
GM
2910 * xterm.c (x_set_glyph_string_background_width): Set the glyph
2911 string's background width so that multi-line mouse-face is drawn
2912 to the right edge of the window.
2913 (show_mouse_face): Set the row's mouse_face_p flag after drawing
2914 glyphs.
2915
6b6e2422 2916 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 2917 before inserting/writing glyphs.
6b6e2422 2918
eaaa65b0
GM
2919 * xdisp.c (display_mode_element): Use string_byte_to_char to
2920 determine character positions in strings, use chars_in_text
2921 instead of strwidth.
2922 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
2923 a matrix as parameter; this is easier to use from GDB.
2924
9ad62cf8
MB
29252001-08-28 Miles Bader <miles@gnu.org>
2926
2ee1aa00
SM
2927 * textprop.c (Fprevious_single_char_property_change)
2928 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 2929
32171635
GM
29302001-08-27 Gerd Moellmann <gerd@gnu.org>
2931
47d57b22
GM
2932 * fileio.c (Finsert_file_contents): Allocate, restore, and
2933 free composition data in the case of REPLACE not being nil.
2934
2935 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
2936 there exist overlay strings with newlines at POS.
2937 (text_outside_line_unchanged_p): Return 0 if changes start at
2938 START and overlays exist at START. Likewise for END.
2939 (try_window_id): Give up if init_to_row_end returns 0.
2940
32171635
GM
2941 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
2942 unconditionally.
2943
e1249666
GM
29442001-08-24 Gerd Moellmann <gerd@gnu.org>
2945
33954c45
GM
2946 * keymap.c (access_keymap): Return the cdr of the binding of
2947 a generic character instead of its definition (KEY . BINDING).
2948
e1249666
GM
2949 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
2950 to 0 also in the REPLACE case.
2951
fb4c6c96
AC
29522001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
2953
2954 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
2955 open to determine whether file is readable (as for DOS_NT).
2956
59ecf80b
GM
29572001-08-23 Gerd Moellmann <gerd@gnu.org>
2958
2959 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
2960 coding.type is coding_type_no_conversion or coding_type_raw_text,
2961 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
2962 non-nil instead of just setting enable_multibyte_characters in the
2963 buffer to nil.
2964
40e33037
GM
29652001-08-22 Gerd Moellmann <gerd@gnu.org>
2966
374388c3
GM
2967 * dispextern.h (struct face_cache): Add member
2968 menu_face_changed_p.
2969
2970 * xfaces.c (menu_face_changed_default): New variable.
2971 (menu_face_changed_count): Variable removed.
2972 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
2973 the menu_face_changed_default flag, otherwise set the FRAME's
2974 menu_face_changed_p flag if the `menu' face has been changed.
2975 Prevent calling set_font_frame_param if FRAME is t.
2976 (make_face_cache): Initialize cache's menu_face_changed_p
2977 from menu_face_changed_default.
2978 (realize_basic_faces): Look into the frame's face cache to
2979 determine if the menu appearance needs updating.
2980
40e33037
GM
2981 * keymap.c (access_keymap): Fix last change to not consider
2982 IDX when it has modifiers.
2983
859ea4b8
GM
29842001-08-21 Gerd Moellmann <gerd@gnu.org>
2985
2986 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
2987 . BINDING) exists, where GENERIC-CHAR is the generic character of
2988 the charset of IDX, return BINDING unless there exists a binding
2989 for IDX itself.
2990
e8660d73
GM
29912001-08-16 Gerd Moellmann <gerd@gnu.org>
2992
cca1b1d7
GM
2993 * xrdb.c (SYSV): Don't define on Solaris 2.
2994 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
2995
e8660d73 2996 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 2997 of the screen line, not text line, containing IT's current position.
e8660d73 2998
93aba6fc
GM
29992001-08-15 Gerd Moellmann <gerd@gnu.org>
3000
288d4e06
GM
3001 * window.c (window_scroll_pixel_based): Don't recenter if
3002 PT is partially visible in the window.
3003
3452efc2
SM
3004 * xterm.c (expose_window_tree, expose_window, expose_line):
3005 Return 1 when overwriting mouse-face.
82f053ab
GM
3006 (expose_frame): If mouse-face was overwritten, redo it.
3007
93aba6fc
GM
3008 * xfaces.c (x_update_menu_appearance): Don't call
3009 set_frame_menubar, let the next redisplay do it.
3010
858a55c1
AI
30112001-08-14 Andrew Innes <andrewi@gnu.org>
3012
3013 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
3014 drawing glyph string.
3015
3a990b67
EZ
30162001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
3017
3018 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
3019 running HI-UX/MPP.
3020
04386463
GM
30212001-08-14 Gerd Moellmann <gerd@gnu.org>
3022
3023 * xfaces.c (x_update_menu_appearance): Save and restore value of
3024 interrupt_input_blocked.
3025
3e6385a4
GM
30262001-08-13 Gerd Moellmann <gerd@gnu.org>
3027
b0e619b4
GM
3028 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
3029 a line start, move back to the line start.
3452efc2 3030
0de73d5a
GM
3031 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
3032 exactly when a mini-buffer is active.
3033
3e6385a4
GM
3034 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
3035 in units of 1/8 character on non window-system frames.
3036 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
3037
d1b5f629
EZ
30382001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
3039
3040 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
3041 a doc string.
3042
eaa2319f
GM
30432001-08-09 Gerd Moellmann <gerd@gnu.org>
3044
8e3189f0
GM
3045 * keyboard.c (Vpre_help_message): New variable.
3046 (syms_of_keyboard): Initialize and staticpro it.
3047 (show_help_echo): Record current message before displaying a
3048 help-echo, and restore that message when clearing the help.
3049
eaa2319f
GM
3050 * xfns.c (x_create_im): Remove prototype.
3051
3052 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
3053
3054 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 3055
eaa2319f
GM
30562001-08-08 Gerd Moellmann <gerd@gnu.org>
3057
3058 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 3059 windows whose height has changed, disable partially visible lines.
eaa2319f 3060
17fdcfc8
GM
30612001-08-07 Gerd Moellmann <gerd@gnu.org>
3062
22d01aed 3063 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 3064 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 3065
17fdcfc8
GM
3066 * xdisp.c (start_display): Don't try to determine the continuation
3067 lines width if lines are truncated. It's superfluous and leads to
3068 incorrect results if POS is not visible in the window after
3069 reseating the iterator at the previous line start.
3070
8e3fe78e
GM
30712001-08-06 Gerd Moellmann <gerd@gnu.org>
3072
3073 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
3074
98a8938c
GM
30752001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
3076
3077 * alloc.c (init_stack): Remove declaration.
3078
18f9986a
GM
30792001-08-03 Gerd Moellmann <gerd@gnu.org>
3080
5e1f85e0
GM
3081 * keyboard.c (read_key_sequence): Check that key is an integer
3082 before comparing it with quit_char.
3083 (add_command_key): Use larger_vector.
3084 (read_char_x_menu_prompt): Instead of converting symbol and
3085 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 3086 which cannot be confused with valid events.
5e1f85e0
GM
3087 (read_char): When reading from Vunread_command_events, check for
3088 events of the form (EVENT . disabled) instead of
3089 (EVENT . nil).
3090
18f9986a
GM
3091 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
3092 a float, determine the max height from the frame's height.
3093
fbc7f2a6
GM
30942001-08-02 Gerd Moellmann <gerd@gnu.org>
3095
3096 * xdisp.c (redisplay_internal): Take message_cleared_p into
3097 account only if minibuf_level == 0.
3098
81b1a79d
GM
30992001-08-01 Gerd Moellmann <gerd@gnu.org>
3100
e5c60873
GM
3101 * xdisp.c (redisplay_internal): Add a check for the last
3102 displayed message.
3452efc2 3103
6e019995
GM
3104 * xdisp.c (message_cleared_p): New variable.
3105 (clear_message): Set message_cleared_p when clearing the current
3106 message.
3107 (redisplay_internal): Look at message_cleared_p to capture
3108 the case that the echo area should be cleared.
3109
308a74d8
GM
3110 * keyboard.c (command_loop_1): Fix spelling of
3111 resize_echo_area_exactly.
3112
3452efc2 3113 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
3114
3115 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
3116
81b1a79d
GM
3117 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
3118 current matrix when the window gets smaller.
3119
ada329e6
EZ
31202001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
3121
3122 * print.c (strout): Cast the character passed to insert_char to
3123 unsigned char, to avoid sign extension when it is promoted to int.
3124
ed86208c
GM
31252001-07-31 Gerd Moellmann <gerd@gnu.org>
3126
3127 * fileio.c (Finsert_file_contents): Don't treat a return value
3128 of 0 from emacs_read as an IO error.
3129
6594ac22
GM
31302001-07-30 Gerd Moellmann <gerd@gnu.org>
3131
cef68af5
GM
3132 * keyboard.c (abs): New macro.
3133 (double_click_fuzz): New variable.
3134 (make_lispy_event): Use it to determine what makes a double-click.
3135 (syms_of_keyboard): DEFVAR_INT it.
3136
6594ac22
GM
3137 * xmenu.c (set_frame_menubar): Take into account that
3138 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
3139 <raeburn@gnu.org>.
3140
75c5350a
GM
31412001-07-27 Gerd Moellmann <gerd@gnu.org>
3142
3143 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
3144
3145 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
3146 of row's visible height.
3147
3148 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
3149 deal with the first overlay string having an image `display' property.
3150 (try_window_reusing_current_matrix, compute_line_metrics):
3151 Fix computation of row's visible height for the case that part of the
75c5350a
GM
3152 row is invisible above and part of the row is at the same time
3153 invisible below the window.
3154
ac49effe
GM
31552001-07-26 Gerd Moellmann <gerd@gnu.org>
3156
3157 * xfns.c (x-show-tip): Doc fix.
3452efc2 3158
ac49effe
GM
3159 * xfns.c (Vx_max_tooltip_size): New variable.
3160 (syms_of_xfns): DEFVAR_LISP it.
3161 (Fx_show_tip): Set frame's window_width to the width of the
3162 window. Use a maximum tooltip size specified by
3163 Vx_max_tooltip_size, if that has valid contents.
3164 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 3165
8c3b00cb
AI
31662001-07-26 Andrew Innes <andrewi@gnu.org>
3167
3168 * w32term.c (x_display_list): New variable.
3169 (w32_term_init): Set it.
3170
3171 * w32term.h (x_display_list): New extern.
3172
16098288
GM
31732001-07-26 Gerd Moellmann <gerd@gnu.org>
3174
3175 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
3176 is non-nil, instead of when redisplaying_p is non-zero.
3177 See comment there.
16098288
GM
3178 (mark_window_display_accurate_1): Add an assertion.
3179
64c5be50
GM
31802001-07-25 Gerd Moellmann <gerd@gnu.org>
3181
e743f599
GM
3182 * dispextern.h (struct it): Increase size of ctl_chars to 16.
3183
563b384d
GM
3184 * xfns.c (Fx_file_dialog): Block/unblock input while processing
3185 events so that we get a chance of processing expose events.
3186
64c5be50
GM
3187 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
3188
296808a5
GM
31892001-07-24 Gerd Moellmann <gerd@gnu.org>
3190
3191 * xfns.c (valid_image_p): Protect better against invalid image
3192 specifications. Previous code could signal an error.
3193
5247262a
GM
31942001-07-23 Gerd Moellmann <gerd@gnu.org>
3195
3452efc2 3196 * indent.c (current_column): Fix column computation in the
f1004faf
GM
3197 presence of display table entries.
3198 (current_column_1, Fmove_to_column, compute_motion): Likewise.
3199
dd42b31a
GM
3200 * dispnew.c (adjust_glyph_matrix): In the optimization for
3201 windows whose height has changed, use the new window height
3202 to compute which rows to invalidate.
3203
9e5a7f2a
GM
3204 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
3205 (MAX_10_EXP): New macro.
3206 (Fformat): Use it.
3207
5247262a
GM
3208 * coding.c (code_convert_region): Handle the multibyte case if
3209 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
3210
177ab8ce
GM
32112001-07-20 Gerd Moellmann <gerd@gnu.org>
3212
6e07c0a5
GM
3213 * dispextern.h (struct face): Change type of `stipple' to
3214 int; it's an ID.
3215
177ab8ce
GM
3216 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
3217
b5b80599
GM
32182001-07-19 Gerd Moellmann <gerd@gnu.org>
3219
4e2a256b
GM
3220 * dispnew.c (update_window): Don't set the cursor at the end
3221 of the update if display update has been paused.
3222
3452efc2 3223 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 3224
c1fd9232
KR
32252001-07-18 Ken Raeburn <raeburn@gnu.org>
3226
3227 * fns.c (Fset_char_table_default): Check that a charset is defined
3228 before checking its dimension.
3229
928a85c1
KR
32302001-07-17 Ken Raeburn <raeburn@gnu.org>
3231
3232 * coding.c (setup_coding_system): Don't do any designation based
3233 on reg_bits if charset is not yet defined.
3234
fb4c6c96 3235 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
3236 pointer, using eassert.
3237
de11c1ea
GM
32382001-07-17 Gerd Moellmann <gerd@gnu.org>
3239
3452efc2
SM
3240 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
3241 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 3242
467f1209
GM
32432001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
3244
3245 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
3246
c3d6be34
GM
32472001-07-16 Gerd Moellmann <gerd@gnu.org>
3248
c1d61a7d
GM
3249 * fileio.c (unwind_read): Function removed.
3250 (read_non_regular, read_non_regular_quit): New functions.
3251 (Finsert_file_contents): When reading from non-regular files,
3252 arrange to catch a `quit' and terminate the loop. Rearrange
3253 code so that a `quit' when reading from a regular file doesn't
3254 insert text in the buffer.
3255
c3d6be34
GM
3256 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
3257 Clear faces afterwards.
3258 (clear_font_table): Take a x_display_info parameter. Don't free
3259 fonts being the default font of any frame on the given display.
3260
e06aa1f9
GM
32612001-07-13 Gerd Moellmann <gerd@gnu.org>
3262
3263 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
3264 instead of CHAR_STRING which can signal an error.
3265
3266 * charset.c (char_to_string_1): Extracted from char_to_string.
3267 Return -1 instead of signaling an error.
3268 (char_to_string): Use it.
3269
3270 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
3271
176c92e6
SM
32722001-07-12 Stefan Monnier <monnier@cs.yale.edu>
3273
3274 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
3275 is t, don't try to append anything to it.
3276
1c56232f
EZ
32772001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
3278
3279 * dired.c (file_name_completion): Pass dp->d_name to
3280 Fstring_match, not elt, which is always nil here.
3281
1d2b2268
GM
32822001-07-12 Gerd Moellmann <gerd@gnu.org>
3283
3284 * xselect.c (x_decline_selection_request): Handle errors
3285 caused by receivers that have vanished.
3286
3287 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
3288 ignoring events on foreign windows in #if 0. Always dispatch
3289 the event after checking it with x_handle_property_notify.
3290
3291 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
3292 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
3293 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
3294 (toplevel): Add prototypes for file-local functions.
3295 (x_atom_to_symbol): Remove DPYINFO parameter.
3296
fe5a0162
SM
32972001-07-11 Stefan Monnier <monnier@cs.yale.edu>
3298
3299 * w32menu.c (menubar_selection_callback, w32_menu_show):
3300 Initialize `entry' to nil.
3301 (w32_dialog_show): Remove unused `save_wv' variable.
3302 (name_is_separator): Recognize "--:foo" and "--foo-bar".
3303
a777242c
GM
33042001-07-11 Gerd Moellmann <gerd@gnu.org>
3305
8ee5b6a3
GM
3306 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
3307
d0e2444e
GM
3308 * fileio.c (unwind_read): Print a message when discarding inserted
3309 text or switching the buffer to unibyte. Change parameter.
3310 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 3311
a777242c
GM
3312 * fileio.c (unwind_read): New function.
3313 (Finsert_file_contents): Record it as unwind-function for
3314 the case that reading is interrupted by C-g.
3315
ae794295
GM
33162001-07-10 Gerd Moellmann <gerd@gnu.org>
3317
fe5a0162 3318 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
3319 update when scrolling_window returns 0.
3320
6b05fae3
GM
3321 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
3322
3323 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 3324 for the case that x_decode_color signals an error.
6b05fae3 3325
ae794295
GM
3326 * xdisp.c (add_to_log): Do nothing if called asynchronously.
3327
bb6e8cee
GM
33282001-07-09 Gerd Moellmann <gerd@gnu.org>
3329
3330 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
3331 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
3332 around ioctls.
3333
36b40a8a
EZ
33342001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
3335
24b97d4b
EZ
3336 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
3337 doc string line for dos-timezone-offset.
3338
36b40a8a
EZ
3339 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
3340 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
3341 (syms_of_msdos): Add \n\ at the end of a line in the doc string
3342 line for dos-unsupported-char-glyph.
36b40a8a
EZ
3343
3344 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
3345
0967b4b0
GM
33462001-07-05 Gerd Moellmann <gerd@gnu.org>
3347
f25cfe53
GM
3348 * sound.c: Include Emacs' header files with #include "...".
3349
0967b4b0
GM
3350 * eval.c (specbind): Additionally record the buffer that was
3351 current when a buffer-local or frame-local variable was bound.
3352
c347a1c3
GM
33532001-07-04 Gerd Moellmann <gerd@gnu.org>
3354
3355 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
3356 to unibyte characters in unibyte buffers.
3357
6332ca8a
GM
33582001-07-03 Gerd Moellmann <gerd@gnu.org>
3359
38472d44
GM
3360 * eval.c (specbind): If SYMBOL has a frame-local binding, record
3361 the frame on the binding stack. Change format of entries for
3362 local bindings on the binding stack to '(SYMBOL . WHERE)'.
3363 (unbind_to): Handle unbinding a frame-local variable.
3364
6332ca8a 3365 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 3366 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
3367 (dump_glyph_row): Print row's continuation_lines_width.
3368 (try_window_id): Take the shortcut if ZV is visible in the
3369 window, but there are actually no changes at ZV.
3370
63d1b174
GM
33712001-07-02 Gerd Moellmann <gerd@gnu.org>
3372
4c175203
GM
3373 * xterm.h (x_free_dpy_colors): Add prototype.
3374
3375 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
3376 right number of arguments.
3377
0b54ce28
GM
3378 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
3379 ($(lwlibdir)TAGS): New target.
4c175203 3380 (TAGS): Fix dependency list.
0b54ce28 3381
63d1b174
GM
3382 * xterm.c (x_list_fonts): Make sure XFreeFont is called
3383 with input blocked.
3384
d827466c
GM
33852001-06-30 Gerd Moellmann <gerd@gnu.org>
3386
3387 * emacs.c (main): Remove extern declaration for sys_nerr, which
3388 isn't used and causes a compilation error with GCC 3.0 on
3389 FreeBSD 4.3.
3390
b5cb1ada
GM
33912001-06-27 Gerd Moellmann <gerd@gnu.org>
3392
a5d3ec3f 3393 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 3394 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
3395 (toplevel): Include <signal.h> and syssignal.h.
3396
b5cb1ada
GM
3397 * sound.c (vox_configure, vox_close): Turn off atimers
3398 around ioctls.
3399
d9bad487
GM
34002001-06-26 Gerd Moellmann <gerd@gnu.org>
3401
fdbb67fe
GM
3402 * keyboard.c (read_char) <non_reread>: Record the previous idle
3403 start time before calling timer_stop_idle.
3404 (read_char) <reread_first>: After processing a help-echo event,
3405 restore the previous idle start time.
3406
d9bad487
GM
3407 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
3408 the start of invisible text.
3409 (setup_for_ellipsis): New function.
3410 (next_overlay_string): After all overlay strings have been
3411 processed, display an ellipsis if necessary.
3412 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
3413 (push_it): Initialize display_ellipsis_p on the iterator's stack.
3414
3415 * dispextern.h (struct iterator_stack_entry): Add member
3416 display_ellipsis_p.
3417
2b9c25e0
GM
34182001-06-25 Gerd Moellmann <gerd@gnu.org>
3419
80de57df
GM
3420 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
3421 on the value of the wait-for-wm frame parameter.
3422
3423 * xterm.h (struct x_output): Add member wait_for_wm.
3424
3425 * xfns.c (Qwait_for_wm): New variable.
3426 (x_frame_parms): Add entry for `wait-for-wm".
3427 (x_set_wait_for_wm): New function.
3428 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
3429 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
3430
2b9c25e0
GM
3431 * xdisp.c (try_window_id) <all changes below window end>: Don't
3432 take this shortcut if ZV is visible in the window.
3433 (try_window_id): When checking for window start being in changed
3434 text, don't check that the buffer's size has changed.
3435
f772775c
RS
34362001-06-23 Richard M. Stallman <rms@gnu.org>
3437
3438 * minibuf.c (Fcompleting_read): Doc fix.
3439
fa9090b8
GM
34402001-06-19 Gerd Moellmann <gerd@gnu.org>
3441
3442 * composite.c (Ffind_composition_internal): Accept ZV
3443 and a string's end position as POS.
3444
f6f1beba
GM
34452001-06-18 Gerd Moellmann <gerd@gnu.org>
3446
3447 * composite.c (Ffind_composition_internal): Check POS
3448 for validity.
3449
0ae83348
EZ
34502001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
3451
3452 * editfns.c (Fmessage_box): If the frame is not under a window
3453 system, output the message in the echo area.
3454
e4cdc335
RS
34552001-06-14 Richard M. Stallman <rms@gnu.org>
3456
3457 * xdisp.c (try_window_id): When EOB is visible, don't treat
3458 insertion at EOB as if it were "off the bottom of the screen."
3459
a55a5f3c
AI
34602001-06-11 Andrew Innes <andrewi@gnu.org>
3461
3462 * w32proc.c (create_child): Add new parameter is_gui_app.
3463 (w32_executable_type): Add new parameter is_gui_app.
3464 (sys_spawnve): Use it.
3465 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
3466 SIGQUIT. This matches better how the signals are interpreted by
3467 MSVC compiled programs.
3468 (syms_of_ntproc): Update docstring.
3469
1b85dc1c
SM
34702001-06-02 Stefan Monnier <monnier@cs.yale.edu>
3471
3472 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
3473 well otherwise note_mouse_highlight might optimize away highlighting
3474 if we pass over that same overlay again.
3475
b75f8eab
EZ
34762001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
3477
3478 * lread.c (Fload): Document that the argument is run via
3479 substitute-in-file-name.
3480
94843cc1
GM
34812001-05-31 Gerd Moellmann <gerd@gnu.org>
3482
b14659e6
GM
3483 * Makefile.in (bootstrap-doc): New target.
3484 (bootstrap-emacs): Depend on it.
3485
0894672f
GM
3486 * fileio.c (Fdo_auto_save): Don't try to create the directory of
3487 auto-save-list-file-name when shutting down Emacs, because
3488 creating the directory might signal an error, and leaves
3489 Emacs in a strange state.
3490
94843cc1
GM
3491 * term.c: (tty_cursor_hidden): New variable.
3492 (update_begin): Don't call tty_hide_cursor. Clean up.
3493 (update_end, set_terminal_window, set_scroll_region): Clean up.
3494 (ring_bell, reset_terminal_modes): Clean up.
3495 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
3496 on tty_cursor_hidden.
3497 (write_glyphs): Call tty_hide_cursor.
3498
db3a49a6
SM
34992001-05-30 Stefan Monnier <monnier@cs.yale.edu>
3500
3501 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
3502
8bd189fb
GM
35032001-05-30 Gerd Moellmann <gerd@gnu.org>
3504
6f1be3b9
GM
3505 * xfns.c (enum image_value_type): New enumerator
3506 IMAGE_STRING_OR_NIL_VALUE.
3507 (parse_image_spec): Handle it.
3508 (xbm_format, pbm_format): Use it for :foreground and :background.
3509 (xbm_load, pbm_load): Check for nil color names.
3510
8bd189fb
GM
3511 * xterm.c (note_mouse_highlight): If an overlapping overlay
3512 exists, but we find that we highlight the same overlay as before,
3513 don't do the highlighting again.
3514
7bdba03c
GM
35152001-05-29 Gerd Moellmann <gerd@gnu.org>
3516
4c329aa8
GM
3517 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
3518 Protect unibyte strings created by replacing their multibyte
3519 equivalents in menu_items.
3520
e15e2828
GM
3521 * keymap.c (Fsingle_key_description): NUL-terminate the string
3522 buffer before calling build_string.
3523
7bdba03c
GM
3524 * callproc.c (Fcall_process): Deal with decode_coding returning
3525 CODING_FINISH_INCONSISTENT_EOL.
3526
89c8dc6c
GM
35272001-05-28 Gerd Moellmann <gerd@gnu.org>
3528
db3a49a6 3529 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
3530 an item's name with its key description in case the description
3531 is a multibyte string.
3532
3533 * keymap.c (Fsingle_key_description): Create a multibyte string
3534 only if necessary.
3535
eb04d6cd
GM
3536 * macros.c (Fstart_kbd_macro): Doc fix.
3537
8bd6307f
GM
3538 * xterm.c (cursor_in_mouse_face_p): New function.
3539 (x_draw_stretch_glyph_string): Use it to choose a different GC
3540 when drawing a cursor within highlighted text.
3541
e26c4089
GM
3542 * editfns.c (char_property_eq): Put in #if 0.
3543
3544 * indent.c (string_display_width): Put in #if 0.
3545
3546 * lread.c (Fload): Remove unused label.
3547
89c8dc6c
GM
3548 * termcap.c (speeds): Put in #if 0.
3549
9a1211f2
GM
35502001-05-18 Gerd Moellmann <gerd@gnu.org>
3551
29148a3f
GM
3552 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
3553
9a1211f2
GM
3554 * xfaces.c (xlfd_point_size): Don't divide pixel size from
3555 transformation matrix by 10.
3556
09393d07
GM
35572001-05-16 Gerd Moellmann <gerd@gnu.org>
3558
3559 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
3560 only if it's equal to the former foreground pixel color.
db3a49a6 3561 (x_set_foreground_color, x_set_background_color)
09393d07
GM
3562 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
3563
460e6bae
GM
35642001-05-16 Dave Love <fx@gnu.org>
3565
3566 * insdel.c (signal_before_change, signal_after_change): Consider a
3567 local change hook which changes the buffer.
99c78ce8
GM
3568
3569 * process.c (read_process_output): Don't call signal_after_change
3570 and update_compositions after insert_from_string_before_markers.
3571
dbcf3c03
GM
35722001-05-16 Gerd Moellmann <gerd@gnu.org>
3573
a90b3d3c
GM
3574 * xfaces.c (split_font_name): Use the right field when
3575 checking for `[...]' syntax.
3576
1b7818b4
GM
3577 * buffer.c (copy_overlays): New function.
3578 (clone_per_buffer_values): Use it.
3579
3580 * buffer.h (OVERLAY_PLIST): New macro.
3581
9bae8781
GM
3582 * keymap.c (Fsingle_key_description): Replace a build_string with
3583 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
3584
dbcf3c03
GM
3585 * fontset.c (Ffontset_info): Check that face is non-null
3586 before accessing its fields.
3587
8a1ae4dd
GM
35882001-05-15 Gerd Moellmann <gerd@gnu.org>
3589
18a0a39e
GM
3590 * keyboard.c (read_key_sequence): Prevent generating a fake
3591 prefix key twice.
3592
e335b66a
GM
3593 * xfaces.c (split_font_name): Handle `[...]' for the right
3594 font name fields.
3595
8a1ae4dd
GM
3596 * ccl.c (ccl_driver): Don't copy remaining bytes in case
3597 of CCL_STAT_INVALID_CMD.
3598
3cf80731
SM
35992001-05-14 Stefan Monnier <monnier@cs.yale.edu>
3600
33568849
SM
3601 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
3602 in <var> has no default value yet.
3603
3cf80731
SM
3604 * xfaces.c (try_alternative_families): First try the FAMILY.
3605 And if nothing is found in the end, try again with scalable fonts.
3606 (try_font_list): Let try_alternative_families do a bit more of
3607 the work. Only use FAMILY if it is not nil.
3608 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
3609
933b0249
GM
36102001-05-14 Gerd Moellmann <gerd@gnu.org>
3611
58e5af83
GM
3612 * xterm.c (note_mouse_highlight): Avoid changing the mouse
3613 pointer shape when show_mouse_face has already done it.
33568849 3614
58e5af83 3615 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
3616 full-width rows.
3617
7b16a6bf
GM
3618 * xfaces.c (split_font_name): Make sure to leave the loop
3619 with the right value of `i'.
3cf80731 3620
933b0249
GM
3621 * xfaces.c (split_font_name): Handle matrix transformations
3622 in the pixel and point size fields of XLFD font names.
3623 (xlfd_point_size): Likewise.
3624
dddcbf00
EZ
36252001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
3626
3cf80731 3627 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
3628 (x_to_w32_font): Add prototype.
3629
7689ef0b
EZ
3630 * regex.c (malloc, realloc, free) [emacs]: Undefine before
3631 redefining, to avoid compiler warnings.
3632
e7c15bba
EZ
3633 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
3634
dddcbf00
EZ
3635 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
3636 (w32_get_bdf_glyph): Cast between unsigned char and char when
3637 passing arguments to subroutines, to shut up compiler warnings.
3638 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
3639 GET_HEX_VAL.
3640
3641 * xfaces.c: Include keyboard.h before frame.h, not after it.
3642
3643 * widget.c: Include keyboard.h before frame.h.
3644
3645 * w32term.h (struct image, struct face): Forward declaration, to
3646 avoid compiler warnings.
3647
7bd2d083
GM
36482001-05-11 Gerd Moellmann <gerd@gnu.org>
3649
47e72862
GM
3650 * keyboard.c (read_key_sequence): Don't modify events when
3651 generating fake prefix keys (mode-line, scroll-bar, ...) since
3652 this prevents proper processing of such events when pushed back
3653 into unread-command-events.
3654
dd5f324b
GM
3655 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
3656 actually redrawn. Make the function static.
3657 (note_mouse_highlight): Fix a case where the mouse cursor
3658 was changed back to the text cursor.
3659
3660 * xterm.h (clear_mouse_face): Remove prototype.
3661
d88a79d4
GM
3662 * xdisp.c (try_window_id): Fix the fix and set the right
3663 window_end_vpos.
3664
3665 * xdisp.c (try_window_id): Fix computation of window end in the
3666 case that lines were deleted at the end of the window. Add some
3667 more debug_method_adds.
0416532f 3668
7bd2d083
GM
3669 * xfaces.c (try_alternative_families): New function.
3670 (try_font_list): Use it. If ATTRS specifies a family, check
3671 fonts from that family first.
3672 (choose_face_font): Remove code setting the family part of
3673 the pattern to nil.
3674
23fca891
GM
36752001-05-10 Gerd Moellmann <gerd@gnu.org>
3676
ff9aa2ca
GM
3677 * xdisp.c (try_window_id): Fix case of all changes before
3678 the window start.
7b2654b5 3679
23fca891
GM
3680 * xdisp.c (try_window_id): Add some xasserts.
3681
e9726794
GM
36822001-05-09 Gerd Moellmann <gerd@gnu.org>
3683
3684 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
3685
9e53a675
GM
36862001-05-09 Dave Love <fx@gnu.org>
3687
3688 * xdisp.c (GIVE_UP): Fix for K&R C.
3689
0d487c52
GM
36902001-05-09 Gerd Moellmann <gerd@gnu.org>
3691
fe88d421
GM
3692 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
3693
0d487c52
GM
3694 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
3695 back to the text cursor shape without need.
3696
1e9fc92e
GM
36972001-05-07 Gerd Moellmann <gerd@gnu.org>
3698
a2a6232e
GM
3699 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
3700
3701 * dispextern.h (inverse_video): Declare extern.
3702
1e9fc92e
GM
3703 * keyboard.c (delete_kboard): Handle the case that selected_frame
3704 has been deleted in the course of x_connection_closed.
3705
12949a7f
EZ
37062001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
3707
7b2654b5
SM
3708 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
3709 Fix the change from 2001-04-30.
12949a7f 3710
2fa2f461
GM
37112001-05-03 Gerd Moellmann <gerd@gnu.org>
3712
a779d213
GM
3713 * xfns.c (file_dialog_unmap_cb): New function.
3714 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
3715 where a dialog is closed via the window manager.
3716
7b2654b5 3717 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
3718 the window start or all below the window end mostly rewritten.
3719 (redisplay_window): Move the tests if try_window_id is
3720 applicable to try_window_id.
3721 (GIVE_UP): New macro.
3722
3356df63
GM
37232001-05-02 Gerd Moellmann <gerd@gnu.org>
3724
a39202f6 3725 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
3726 currently being updated, mark the frame garbaged.
3727 Fix computation of rows intersecting the exposed rectangle.
a39202f6 3728 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 3729
3356df63
GM
3730 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
3731 again if it has already been drawn.
3732
a9d2fd1d
SM
37332001-05-01 Stefan Monnier <monnier@cs.yale.edu>
3734
3735 * syntax.c (update_syntax_table): Check that oldi has the same
3736 properties as old_prop before deciding not to invalidate.
3737
c95fc5f1
GM
37382001-04-30 Gerd Moellmann <gerd@gnu.org>
3739
a9793e45
GM
3740 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
3741 read-only text that is so because of text properties.
3742
c95fc5f1 3743 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 3744 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
3745 windows that are components of a Lucid menu bar.
3746
5a5d9185
GM
37472001-04-27 Gerd Moellmann <gerd@gnu.org>
3748
3749 * term.c (turn_on_face): Fix reverse video handling on terminals
3750 that don't support colors.
3751
ba973f7a
GM
37522001-04-26 Gerd Moellmann <gerd@gnu.org>
3753
3754 * editfns.c (save_excursion_restore): Don't use XBUFFER on
3755 a non-buffer.
3756
8c56a983
GM
37572001-04-25 Gerd Moellmann <gerd@gnu.org>
3758
a728644c
GM
3759 * term.c (toggle_highlight): New function.
3760 (turn_on_face): Change handling of reverse video.
3761
7b2654b5
SM
3762 * process.c (wait_reading_process_input):
3763 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 3764
bfd8410f
GM
3765 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
3766 of the number of overlays to check.
3767
be2488ca
GM
3768 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
3769
8c56a983
GM
3770 * xdisp.c (try_window_id): Fix a case where window_end_pos
3771 and window_end_bytepos were not adjusted.
3772
522d42f7
GM
37732001-04-23 Gerd Moellmann <gerd@gnu.org>
3774
3775 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
3776 zero instead of -1.
3777
78c1afb6
EZ
37782001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
3779
a9d2fd1d
SM
3780 * process.c (wait_reading_process_input) [!subprocesses]:
3781 Don't reference waiting_for_user_input_p, it's not defined in the
3782 branch without async subprocesses support.
78c1afb6 3783
a2fab450
GM
37842001-04-19 Gerd Moellmann <gerd@gnu.org>
3785
a122a38e
GM
3786 * keyboard.c (delete_kboard): Prevent a dangling reference
3787 from current_kboard to KB, which is freed.
3788
a9d2fd1d
SM
3789 * process.c (wait_reading_process_input):
3790 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
3791 read_key_sequence aware of buffer changes from under it.
3792
0f8d6dc7
GM
37932001-04-18 Gerd Moellmann <gerd@gnu.org>
3794
eeffb293
GM
3795 * xfaces.c (Qscalable_fonts_allowed): New variable.
3796 (realizing_basic_faces_p): Removed.
2fa2f461
GM
3797 (x_face_list_fonts): Special handling for realizing_basic_faces_p
3798 removed.
eeffb293 3799 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
3800 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
3801 for scalable-fonts-allowed to t.
eeffb293 3802
0f8d6dc7
GM
3803 * fileio.c (Finsert_file_contents): If the file size returned from
3804 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 3805 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 3806
eec2d1de
EZ
38072001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
3808
3809 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
3810 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
3811 (__memalign_hook): Make the two prototypes consistent.
3812
f4f480bd
GM
38132001-04-17 Gerd Moellmann <gerd@gnu.org>
3814
3815 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
3816 matrix of mini-windows.
3817
52283633
SM
38182001-04-12 Stefan Monnier <monnier@cs.yale.edu>
3819
3820 * intervals.c (find_interval): Don't rebalance during signal handling.
3821
ec2423c9
GM
38222001-04-11 Gerd Moellmann <gerd@gnu.org>
3823
30cb0001 3824 * fns.c: Include blockinput.h.
52283633 3825
ec2423c9
GM
3826 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
3827
719d83ad
GM
38282001-04-10 Gerd Moellmann <gerd@gnu.org>
3829
60f8d735
GM
3830 * fns.c (Fcompare_strings): Fix return values.
3831
afffeb57
GM
3832 * window.c (window_scroll): Change the meaning of N to mean
3833 N screen-fulls or N lines.
3834 (window_scroll_pixel_based, window_scroll_line_based)
3835 (scroll_command, Fscroll_other_window): Change accordingly.
3836
52283633
SM
3837 * window.c (window_scroll_pixel_based, Frecenter):
3838 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
3839 height of the window.
3840
3841 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
3842 instead of using it.last_visible_y for the height of the window.
52283633 3843
719d83ad 3844 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 3845 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
3846
3847 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
3848 able to write to hidden and system files. From Dan Holmsand
3849 <dan@eyebee.com>.
719d83ad 3850
8ddf3ee1
GM
3851 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
3852 Holmsand <dan@eyebee.com>.
719d83ad 3853
522ed7fb
GM
38542001-04-09 Gerd Moellmann <gerd@gnu.org>
3855
9170e5d4
GM
3856 * fns.c (Fplist_get, Fplist_put): Add QUITs.
3857
522ed7fb
GM
3858 * window.c (window_internal_height): Return 1 less if the
3859 window has a header line.
3860
3861 * xdisp.c (try_window_id): When scrolling on a terminal, take
3862 the change of window_internal_height into account.
3863
ceeb3d7d
EZ
38642001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
3865
3866 * gmalloc.c (align): If the argument SIZE would overflow
3867 __malloc_ptrdiff_t, fail right away.
3868
63685b9d
GM
38692001-04-06 Gerd Moellmann <gerd@gnu.org>
3870
3871 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
3872 Make sure the tooltip is completely visible.
3873 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
3874
3875 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
3876
3877 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
3878
3ffb33bb
DL
38792001-04-06 Dave Love <fx@gnu.org>
3880
52283633
SM
3881 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
3882 Fix test of `from'.
3ffb33bb 3883
869fb12c
GM
38842001-04-06 Gerd Moellmann <gerd@gnu.org>
3885
52283633 3886 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 3887
869fb12c
GM
3888 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
3889
441bf856
GM
38902001-04-05 Gerd Moellmann <gerd@gnu.org>
3891
4d664b04
GM
3892 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
3893
52283633 3894 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 3895
30ca89f5
GM
3896 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
3897 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
3898
3899 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
3900 shell widget's position only if it is non-null.
3901
52283633
SM
3902 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
3903 Set f->output_data.x->widget to null after destroying it.
30ca89f5 3904
81a81c0f
GM
3905 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
3906 FILENAME to bring it in synch with the documentation.
3907
441bf856
GM
3908 * xfaces.c (realizing_basic_faces_p): Renamed from
3909 realize_default_face_p.
3910 (realize_basic_faces): Set/clear realizing_basic_faces_p.
3911 (realize_default_face): Don't set the flag.
3912
702a1e8e
GM
39132001-04-04 Gerd Moellmann <gerd@gnu.org>
3914
1013f4e3
GM
3915 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
3916
52283633
SM
3917 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
3918
1013f4e3
GM
3919 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
3920 the buffer that was used for echoing.
3921
702a1e8e
GM
3922 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
3923 (first_font_matching): Removed unused function.
3924 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
3925 (may_use_scalable_font_p): Remove parameter FONT; rename
3926 parameter NAME to FONT.
3927 (x_face_list_fonts): Fix missing bounds check.
3928 (realizing_default_face_p): New variable.
3929 (realize_default_face): Set and clear that flag.
3930 (x_face_list_fonts): When called during the realization of the
3931 default face, and no matching fonts are found when ignoring
3932 scalable fonts and fonts matching a regexp from
3933 face-ignored-fonts, try without ignoring fonts.
3934
f9dbcda4
GM
39352001-04-03 Gerd Moellmann <gerd@gnu.org>
3936
ad18ffb1
GM
3937 * xfns.c (postprocess_image): New function.
3938 (lookup_image): Call it for all image types except PostScript.
3939 (x_kill_gs_process): Call postprocess_image.
3940
f9dbcda4
GM
3941 * xterm.c (x_use_underline_position_properties): New variable.
3942 (x_draw_glyph_string): Use it.
3943 (syms_of_xterm): DEFVAR_BOOL it.
3944
651f03b6
GM
39452001-04-02 Gerd Moellmann <gerd@gnu.org>
3946
3947 * xterm.c (x_alloc_nearest_color_1): New function.
3948 (x_alloc_nearest_color): Use it.
3949 (x_color_cells): Take a Display as argument, instead of a frame.
3950 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
3951 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
3952 (x_initialize): Register cvt_string_to_pixel as resource converter
3953 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
3954
73d75a62
GM
39552001-03-30 Gerd Moellmann <gerd@gnu.org>
3956
b2046df8
GM
3957 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
3958 (set_iterator_to_next): If a string from a display property ends,
3959 consider the case that this might also be the end of an
3960 overlay string having the display property.
3961
52283633 3962 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 3963
87d8eba4
GM
3964 * xdisp.c (reseat_to_string): Undo last change.
3965
73d75a62
GM
3966 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
3967 matrix of a window when the header line changes, when
3968 new rows are allocated, or when the width changes.
3969
911a2406
EZ
39702001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
3971
52283633 3972 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 3973
aea51abe
EZ
39742001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
3975
3976 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
3977 deprecated.
3978
176bc847
GM
39792001-03-29 Gerd Moellmann <gerd@gnu.org>
3980
ed31fabf
GM
3981 * data.c (Fsubr_interactive_form): New function.
3982 (syms_of_data): Defsubr it.
3983
176bc847
GM
3984 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
3985 (live_float_p, live_misc_p): Return 1 only if the offset of the
3986 pointer in its block is >= 0.
3987
e59d0e9d
GM
39882001-03-28 Paul Eggert <eggert@twinsun.com>
3989
3990 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
3991 microseconds calcuation. Avoid double-rounding problem.
3992 In doc string, warn that the result is approximate.
3993
f827b862
GM
39942001-03-28 Gerd Moellmann <gerd@gnu.org>
3995
30a3f61c
GM
3996 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
3997 bind `inhibit-eval-during-redisplay' to t.
3998
3999 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
4000
4001 * xdisp.c (inhibit_eval_during_redisplay)
4002 (Qinhibit_eval_during_redisplay): New variables.
4003 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
4004 don't eval, return nil instead.
4005 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
4006 Initialize Qinhibit_eval_during_redisplay.
4007
e719f5ae
GM
4008 * xdisp.c (reseat_to_string): If STRING is multibyte, set
4009 the iterator's multibyte_p flag.
4010
deb2613a
GM
4011 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
4012 instead of setting it to zero; it's incremented for each frame
4013 where the menu face is changed.
4014
52283633
SM
4015 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
4016 change bottom shadow accordingly.
4017
4018 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
4019 intersections here.
4020 (expose_window): Do it here instead.
52283633 4021 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 4022
f827b862
GM
4023 * bytecode.c (BYTE_CODE_QUIT): New macro.
4024 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
4025
4bde0ebb
GM
40262001-03-27 Gerd Moellmann <gerd@gnu.org>
4027
607ec83c
GM
4028 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
4029 Give up if matrix starts in an ellipsis.
4030 (init_from_display_pos): Do nothing if POS doesn't specify
4031 a dpvec_index but the iterator has such a position.
4032
0245398f
GM
4033 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
4034
aba25348
GM
4035 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
4036 x/y position is (0, 0) after destroying the menu bar, restore
4037 its original position.
4038
4bde0ebb
GM
4039 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
4040 (init_from_display_pos): Use it.
4041 (try_window_reusing_current_matrix): Don't use cursor_row_p.
4042
8cdb267e
GM
40432001-03-26 Gerd Moellmann <gerd@gnu.org>
4044
4045 * xdisp.c (try_window_id): Undo last change.
4046
9948db79
EZ
40472001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
4048
4049 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
4050
4051 * buffer.c (syms_of_buffer): Doc fix.
4052
2eddf899
GM
40532001-03-26 Gerd Moellmann <gerd@gnu.org>
4054
4055 * xfaces.c (x_update_menu_appearance): Use local variable
4056 popup_path for setting font resources.
4057
6c145d35
EZ
40582001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
4059
6a65b1b5
EZ
4060 * frame.c (Fframe_list): Don't reference tip_frame if
4061 HAVE_WINDOW_SYSTEM is not defined.
4062
6c145d35
EZ
4063 * emacs.c (main): Update the copyright year. From Werner LEMBERG
4064 <wl@gnu.org>.
4065
d74c1900
GM
40662001-03-25 Gerd Moellmann <gerd@gnu.org>
4067
20fbd925
GM
4068 * xdisp.c (init_from_display_pos): Test invisible property
4069 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 4070
927c5b3b
GM
4071 * xdisp.c (redisplay_internal) <update one window>: Make sure
4072 last_arrow_position and last_arrow_string are set.
4073
d74c1900
GM
4074 * frame.c (Fframe_list): Don't return a tooltip frame.
4075
091f8878
GM
40762001-03-23 Gerd Moellmann <gerd@gnu.org>
4077
52283633
SM
4078 * xdisp.c (mark_window_display_accurate_1): New function,
4079 extracted from mark_window_display_accurate.
4080 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
4081 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
4082 (mark_window_display_accurate): Use it.
4083 (redisplay_internal): Use it for the selected window.
4084 (redisplay_internal): Avoid duplicate mark_window_display_accurate
4085 for the selected frame.
4086
ac90c44f
GM
4087 * xdisp.c Use make_number, for readability.
4088 (try_window_id): Disable rows below the window end.
4089 (try_window_reusing_current_matrix): Use cursor_row_p.
4090 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
4091 of rows.
4092 (init_from_display_pos): If POS specifies a position in a display
4093 vector, maybe get the iterator set up for that ellipsis.
43c09969 4094
091f8878
GM
4095 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
4096
991786dd
EZ
40972001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
4098
4099 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
4100
6c29b43c
GM
41012001-03-23 Gerd Moellmann <gerd@gnu.org>
4102
4103 * xfaces.c (x_update_menu_appearance): Use a different path
4104 for Lucid popup menus.
4105
d8731202
SM
41062001-03-22 Stefan Monnier <monnier@cs.yale.edu>
4107
4108 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
4109
4110 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
4111 (string_buffer_position): Use `make_number'.
4112
f61a541b
GM
41132001-03-22 Gerd Moellmann <gerd@gnu.org>
4114
3c9e997b
GM
4115 * xfaces.c (x_update_menu_appearance): Renamed from
4116 x_set_menu_face_resources. Use different resources for popups.
4117
4118 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
4119 (GC_CHECK_STRING_BYTES): Don't define.
4120
364cd450
GM
4121 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
4122 Removed, together with subroutines.
4123 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 4124 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 4125
d8731202
SM
4126 * dispextern.h (x_set_menu_resources_from_menu_face):
4127 Remove prototype.
364cd450 4128
d8731202 4129 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
4130 Remove calls to x_set_menu_resources_from_menu_face.
4131
d8731202
SM
4132 * xfaces.c (xm_set_menu_resources_from_menu_face):
4133 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
4134
4135 * xmenu.c: Include widget.h.
4136 (single_submenu): Return int. Some cleanup.
4137 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
4138
140330de
GM
41392001-03-21 Gerd Moellmann <gerd@gnu.org>
4140
4141 * xterm.c (x_update_window_end): Handle overwritten mouse face
4142 also for tool bar windows.
4143 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
4144 DRAW is DRAW_IMAGE_RAISED.
4145
1741905c
GM
41462001-03-20 Gerd Moellmann <gerd@gnu.org>
4147
fa88947e
GM
4148 * print.c (syms_of_print): Doc fixes.
4149
1741905c
GM
4150 * fns.c (Fmd5): Doc fix.
4151
ade0bee1
GM
41522001-03-19 Gerd Moellmann <gerd@gnu.org>
4153
357e7376
GM
4154 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
4155 Clear area of the frame not occupied by the scroll bar.
4156
c2c097cc
GM
4157 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
4158 tip frame's root window buffer to *tip* right after creating
4159 the frame.
4160
ade0bee1
GM
4161 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
4162 is an integer don't have to be for space characters.
4163
88c6e37e
GM
41642001-03-16 Gerd Moellmann <gerd@gnu.org>
4165
52283633
SM
4166 * indent.c (current_column, current_column_1, Fmove_to_column)
4167 (compute_motion): Handle characters from display vectors differently.
88c6e37e 4168
c62eed76
KH
41692001-03-15 Kenichi Handa <handa@etl.go.jp>
4170
4171 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
4172 drawing glyph string.
4173
c899e7e6
GM
41742001-03-15 Gerd Moellmann <gerd@gnu.org>
4175
d0bbfc99
GM
4176 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
4177 (command_loop_1): Undo last change.
4178
03d1a189
GM
4179 * xterm.c (fast_find_position): Return the correct vpos.
4180
c899e7e6 4181 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 4182 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
4183 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
4184 Call store_symval_forwarding with BUF null.
4185 (set_internal): Call store_symval_forwarding with the BUF
4186 parameter passed to set_internal. Formerly, the value was always
4187 set in the current buffer; the buffer recorded in specbind for
4188 this case wasn't used.
4189 (arith_driver): Reindent.
4190
52283633
SM
4191 * buffer.c (swap_out_buffer_local_variables):
4192 Call store_symval_forwarding with BUF null.
c899e7e6
GM
4193
4194 * lisp.h (store_symval_forwarding): Change prototype.
4195
4196 * eval.c (specbind): Call store_symval_forwarding with BUF null.
4197
57ac7c81
GM
41982001-03-14 Gerd Moellmann <gerd@gnu.org>
4199
697617d9
GM
4200 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
4201 FOR_DELETION. Avoid resizing the mini-window of the selected
4202 frame if FOR_DELETION is set.
4203 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
4204 (Fmake_frame_invisible): Change calls to do_switch_frame for new
4205 signature.
4206
4207 * window.c (Fset_window_configuration): Change call to
4208 do_switch_frame to new format.
4209
4210 * keyboard.c (quit_throw_to_read_char): Change call to
4211 do_switch_frame to new format.
4212
4213 * lisp.h (do_switch_frame): Change prototype.
4214
819dce0f
GM
4215 * frame.c (Fframe_parameters): In the `buffer-list' frame
4216 parameter, store the buffer list of FRAME, not the list of the
4217 selected frame.
4218
57ac7c81
GM
4219 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
4220 box just because the glyph row's full_width_p flag is set.
4221
65008712
GM
42222001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
4223
4224 * xdisp.c (highlight_trailing_whitespace): On character terminals,
4225 skip the padding blanks inserted in extend_face_to_end_of_line,
4226 before checking for trailing whitespace.
4227
159cf431
GM
42282001-03-13 Gerd Moellmann <gerd@gnu.org>
4229
52283633 4230 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
4231 Remove special handling for LessTif/Motif.
4232 (toplevel): Don't include Xm/Xm.h.
4233
52283633
SM
4234 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
4235 Remove workaround code for LessTif; it doesn't work anymore.
4236
2564ea1b 4237 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 4238 Xm/ScrollBarP.h.
afcdc0a1 4239
52283633
SM
4240 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
4241 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
4242 contemporary LessTif.
4243
52283633
SM
4244 * xfaces.c (xm_set_menu_resources_from_menu_face):
4245 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 4246
159cf431
GM
4247 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
4248 removing button grabs.
4249
c6f7429a
KH
42502001-03-13 Kenichi Handa <handa@etl.go.jp>
4251
cb82d767
KH
4252 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
4253 and clip-large-size-font as obsolete.
4254
c6f7429a
KH
4255 * lread.c (read_multibyte): Check the validity of multibyte
4256 sequence. If invalid, return the first byte.
4257
760cefb5
GM
42582001-03-12 Gerd Moellmann <gerd@gnu.org>
4259
4260 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
4261 before running the command; timer functions or process
4262 filters may have set it.
4263
5141f9d0
EZ
42642001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
4265
4266 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
4267 Doc fix.
4268
b6a15240
GM
42692001-03-12 Gerd Moellmann <gerd@gnu.org>
4270
4271 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
4272 to sprintf.
4273
95522746
GM
42742001-03-09 Gerd Moellmann <gerd@gnu.org>
4275
db14cfc5
GM
4276 * dispextern.h (string_buffer_position): Add prototype.
4277
52283633 4278 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
4279 (single_display_prop_string_p): New functions.
4280
4281 * xterm.c (note_mouse_highlight): If there's no help-echo on
4282 a string, look at the buffer text ``under'' it.
4283
4284 * keyboard.c (make_lispy_event): Add string info to the event,
4285 analogous to what's done on mode lines.
4286 (read_key_sequence): For a click on a string, consider `local-map'
4287 and `keymap' of that string.
4288
52283633
SM
4289 * keyboard.c (make_lispy_event, make_lispy_movement):
4290 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
4291
4292 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
4293
4294 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
4295 POS; return void.
4296
95522746
GM
4297 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
4298 flags argument to emacs_open; it seems to conflict with O_EXCL.
4299
898a399d
KH
43002001-03-09 Kenichi Handa <handa@etl.go.jp>
4301
28cd4910
KH
4302 * composite.h (struct composition): Change types of members;
4303 glyph_len to unsigned, width to unsigned short.
898a399d 4304
4cdf6a6c
AI
43052001-03-08 Andrew Innes <andrewi@gnu.org>
4306
4307 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
4308 menu titles.
4309
129004d3
GM
43102001-03-08 Gerd Moellmann <gerd@gnu.org>
4311
221dd3e7
GM
4312 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
4313 instead of nil.
4314
52283633 4315 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
4316 help-echo in strings.
4317 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
4318 (fast_find_string_pos): New function.
4319
52283633
SM
4320 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
4321 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
4322
4323 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
4324 Handle `mouse-face'.
4325
4326 * dispextern.h (face_at_string_position): Change prototype.
4327
52283633 4328 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 4329
129004d3
GM
4330 * keyboard.c (make_lispy_event): Avoid generating drag events
4331 if the mouse hasn't actually moved to another buffer position.
52283633 4332
80c8ab8c
DL
43332001-03-08 Dave Love <fx@gnu.org>
4334
129004d3 4335 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 4336
989521fd
GM
43372001-03-08 Gerd Moellmann <gerd@gnu.org>
4338
4339 * process.c (Fset_process_window_size): Fix a typo.
4340
bb5c338d
KH
43412001-03-08 Kenichi Handa <handa@etl.go.jp>
4342
4343 * coding.c (detect_coding_sjis): Do more rigid check.
4344 (detect_coding_big5): Likewise.
4345 (decode_coding_sjis_big5): Likewise.
4346 (Fdetect_coding_region): Call detect_coding_system with tailing
4347 anchor byte `\0' for more rigid detection.
52283633 4348 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
4349 (Fdetect_coding_string): Likewise.
4350
8b8f9197
SM
43512001-03-07 Stefan Monnier <monnier@cs.yale.edu>
4352
4353 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
4354 a string before extracting its data.
4355
3bdf2660
GM
43562001-03-07 Gerd Moellmann <gerd@gnu.org>
4357
4358 * window.c (Frecenter): Rewrite code handling negative values
4359 of ARG on graphical frames.
4360
43612001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
4362
4363 * window.c (displayed_window_lines): If W->start is outside the
4364 accessible portion of the buffer, call start_display with BEGV or
4365 ZV instead of W->start.
4366
471f86b9
GM
43672001-03-07 Gerd Moellmann <gerd@gnu.org>
4368
2ab62c6c
GM
4369 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
4370
471f86b9
GM
4371 * process.c (Fset_process_filter): Don't crash if the input
4372 file descriptor of PROCESS is closed.
4373 (Fset_process_window_size): Likewise.
4374
101922c3
GM
43752001-03-06 Kenichi Handa <handa@etl.go.jp>
4376
4377 * xterm.c (XTflash): Make the timeout of select shorter, and call
4378 select repeatedly until the desired time expires.
4379
45d051a7
GM
43802001-03-06 Gerd Moellmann <gerd@gnu.org>
4381
4382 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
4383
4384 * xfns.c (Fx_create_frame): Clear Vwindow_list.
4385
4386 * lisp.h (Vwindow_list): Declare extern.
4387
8f372c46
EZ
43882001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
4389
4390 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
4391
f16a7aa5
GM
43922001-03-06 Gerd Moellmann <gerd@gnu.org>
4393
157ae273
GM
4394 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
4395 to detect a case where we have to highlight a different region
4396 despite not having left the currently highlighted region.
4397 Set mouse_face_overlay in the x_display_info.
45d051a7 4398 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
4399
4400 * xterm.h (struct x_display_info): Add mouse_face_overlay.
4401
4402 * buffer.c (mouse_face_overlay_overlaps): New function.
4403
4404 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
4405 (Qmouse_face): Declare extern.
4406
f16a7aa5
GM
4407 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
4408 if face_change_count is non-zero.
4409
827afcac
KH
44102001-03-06 Kenichi Handa <handa@etl.go.jp>
4411
4412 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
4413 that the source is unibyte.
4414
14c7242e
DL
44152001-03-05 Dave Love <fx@gnu.org>
4416
827afcac 4417 * xterm.c (XTmouse_position): Fix typo.
14c7242e 4418
c28b847b
GM
44192001-03-05 Gerd Moellmann <gerd@gnu.org>
4420
4421 * minibuf.c (read_minibuf): Clean up the binding stack if
4422 called noninteractively.
4423
b86644f2
KH
44242001-03-05 Kenichi Handa <handa@etl.go.jp>
4425
4426 * coding.c (syms_of_coding): Docstring modified.
4427
203682cc 44282001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
4429
4430 * charset.c (char_to_string): If a single byte char has modifier
4431 bits that can't be reflected to the character code, ignore them
45d051a7 4432 instead of signaling an error.
b86644f2 4433
e30bd7b7
EZ
44342001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
4435
4436 * s/msdos.h: Update copyright notice.
4437
4438 * dosfns.h: Update copyright notice.
4439
4440 * dosfns.c: Update copyright notice.
4441
4442 * msdos.c: Update copyright notice.
4443
b52b65bd
GM
44442001-03-02 Gerd Moellmann <gerd@gnu.org>
4445
4446 * xterm.c (glyph_rect): New function.
4447 (XTmouse_position): Use it to raise the threshold for mouse
4448 movement event generation.
4449
53c4b1e6
EZ
44502001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
4451
4452 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
4453 specifies (reverse . t), reverse the initial screen colors.
4454 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
4455 but we are reversing the colors, set bg_set, not fg_set.
4456 Likewise for setting background-color and reversing: set fg_set.
4457 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
4458 in effect.
4459
4460 * xfaces.c (Finternal_set_lisp_face_attribute)
4461 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
4462 parameters alist.
4463
f964b4d7
GM
44642001-03-02 Gerd Moellmann <gerd@gnu.org>
4465
ef53d75e
GM
4466 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
4467 to a single slash in the middle of file names.
4468
52283633 4469 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
4470 Accept only alphanumeric time zone names.
4471
f964b4d7
GM
4472 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
4473 or width area.
4474 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
4475 a widget to zero height.
52283633 4476
c3c45f65
GM
44772001-03-01 Gerd Moellmann <gerd@gnu.org>
4478
4479 * window.c (Fwindow_end): Call move_it_past_eol only if
4480 ending up on a partially visible line.
4481
028d739a
DL
44822001-03-01 Dave Love <fx@gnu.org>
4483
4484 * ccl.c (Fccl_execute): Doc fix.
4485
57c5889c
GM
44862001-03-01 Gerd Moellmann <gerd@gnu.org>
4487
35f59f6b
GM
4488 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
4489 of the tool bar before calling x_figure_window_size.
4490
f84ff02c
GM
4491 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
4492 NULL after destroying it, otherwise XTread_socket can access a
4493 destroyed widget when input is unblocked.
4494
8b8f9197 4495 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 4496
57c5889c
GM
4497 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
4498 same name as before, although there was a change in fontsets.
4499
224227d1
KR
45002001-02-28 Ken Raeburn <raeburn@gnu.org>
4501
4560730a
KR
4502 * lisp.h (Fframe_parameter): Declare.
4503
224227d1 4504 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 4505 Lisp_Object.
224227d1 4506
ece93c02
GM
45072001-02-28 Gerd Moellmann <gerd@gnu.org>
4508
11ef99b9
GM
4509 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
4510 NULL instead.
4511
4512 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
4513 NULL instead.
4514
ece93c02
GM
4515 * alloc.c (toplevel): Include process.h.
4516 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
4517 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
4518 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
4519 (allocate_vector, allocate_hash_table, allocate_window)
4520 (allocate_frame, allocate_process, allocate_other_vector):
4521 New functions.
ece93c02
GM
4522 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
4523 (mark_maybe_pointer): New function.
52283633 4524 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
4525 remain and not Lisp_Objects.
4526 (min_heap_address, max_heap_address): New variables.
4527 (mem_find): Return MEM_NIL if START is below min_heap_address or
4528 above max_heap_address.
4529 (mem_insert): Compute min_heap_address and max_heap_address.
4530
4531 * process.c (make_process): Use allocate_process.
4532
4533 * frame.c (make_frame): Use allocate_frame.
4534
4535 * window.c (make_window, make_dummy_parent): Use allocate_window.
4536 (Fcurrent_window_configuration): Use allocate_other_vector.
4537
4538 * lisp.h (allocate_vectorlike): Remove prototype.
4539 (allocate_vector, allocate_other_vector, allocate_frame)
4540 (allocate_window, allocate_process, allocate_hash_table):
4541 Add prototypes.
4542
4543 * fns.c (Fdelete, larger_vector): Use allocate_vector.
4544 (make_hash_table, copy_hash_table): Use allocate_hash_table.
4545
063af457
KH
45462001-02-27 Kenichi Handa <handa@etl.go.jp>
4547
4548 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
4549 treat the produced bytes as a valid multibyte sequence.
4550
4551 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
4552 (ccl_driver) <CCL_WriteMultibyteChar2>:
4553 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
4554 <ccl_finish>: Set ccl->eight_bit_control properly.
4555
4556 * ccl.h (struct ccl_program): New member eight_bit_control.
4557
f58c6494
SM
45582001-02-26 Stefan Monnier <monnier@cs.yale.edu>
4559
4560 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
4561 accessible_keymaps_char_table.
4562 (accessible_keymaps_char_table): Obey `is_metized'.
4563 (where_is_internal, Fwhere_is_internal): Don't confuse int and
4564 Lisp_Object.
4565
c596c392
GM
45662001-02-26 Gerd Moellmann <gerd@gnu.org>
4567
4568 * dispnew.c: Check HAVE_TERM_H before including term.h.
4569
425de386
AI
45702001-02-24 Andrew Innes <andrewi@gnu.org>
4571
4572 * makefile.w32-in: Update copyright notice.
4573
2ba11bbd
SM
45742001-02-24 Stefan Monnier <monnier@cs.yale.edu>
4575
4576 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
4577
66c56ed1
KH
45782001-02-24 Kenichi Handa <handa@etl.go.jp>
4579
4c1593ce
KH
4580 * Makefile.in (lisp): Add international/utf-8.elc.
4581
66c56ed1
KH
4582 * fontset.c (Fnew_fontset): Fix handling of the case that an
4583 element of FONTLIST is a cons of family and registry.
4584
796ead7e
JR
45852001-02-23 Jason Rumney <jasonr@gnu.org>
4586
4587 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
4588 to height unconditionally.
4589
4590 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 4591 background face to the end of the drawing area in the text area, only.
796ead7e
JR
4592 (x_insert_glyphs): Call window_box_left to obtain the left
4593 x-coordinate of the area to shift.
4594
4595 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
4596 safe_run_hooks.
4597
f6839838
AI
45982001-02-22 Andrew Innes <andrewi@gnu.org>
4599
52283633 4600 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
4601 ($(BLD)\dispnew.obj):
4602 ($(BLD)\editfns.obj):
4603 ($(BLD)\fileio.obj):
4604 ($(BLD)\filelock.obj):
4605 ($(BLD)\keyboard.obj):
4606 ($(BLD)\w32proc.obj):
4607 ($(BLD)\process.obj):
4608 ($(BLD)\sysdep.obj): Ditto.
4609
4610 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
4611 header files.
52283633
SM
4612 ($(BLD)/dispnew.$(O)):
4613 ($(BLD)/editfns.$(O)):
4614 ($(BLD)/fileio.$(O)):
4615 ($(BLD)/filelock.$(O)):
4616 ($(BLD)/keyboard.$(O)):
4617 ($(BLD)/w32proc.$(O)):
4618 ($(BLD)/process.$(O)):
f6839838
AI
4619 ($(BLD)/sysdep.$(O)): Ditto.
4620
c224f70b
GM
46212001-02-22 Gerd Moellmann <gerd@gnu.org>
4622
51695746
GM
4623 * xdisp.c (forward_to_next_line_start): When taking the shortcut
4624 at the start of the function, check that the \n in it->c is
4625 from the iterator's current position.
52283633 4626
a61b7058
GM
4627 * xdisp.c (handle_single_display_prop): Add parameter
4628 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
4629 properties which replace the display of text with something else.
4630 (handle_display_prop): Call handle_single_display_prop with
4631 additional argument saying if we already replaced text display
4632 with something else. Use AREF.
52283633 4633 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
4634 (decode_mode_spec_coding): Use AREF and ASIZE.
4635
3473f362
GM
4636 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
4637 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
4638 * vmstime.h: Files removed.
52283633 4639
2bb58df3
GM
4640 * unexencap.c, unexfx2800.c: Files removed.
4641
c224f70b
GM
4642 * dispnew.c (direct_output_for_insert): Give up if we are showing
4643 a message or just cleared the message because we might need to
4644 resize the echo area window or display an empty echo area.
4645
ffc9ff0c
GM
46462001-02-21 Gerd Moellmann <gerd@gnu.org>
4647
0528abe1
GM
4648 * xdisp.c (redisplay_internal): Do the
4649 mark_window_display_accurate after all windows have been
4650 redisplayed because this call resets flags in buffers which are
4651 needed for proper redisplay.
4652
52283633
SM
4653 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
4654 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
4655 the old names.
4656
52283633
SM
4657 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4658 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4659
4660 * msdos.h (struct x_output): Rename busy_window to
4661 hourglass_window, busy_p to hourglass_p.
4662
52283633
SM
4663 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4664 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4665
4666 * xfns.c: Rename everything containing *busy_cursor* and similar
4667 to *hourglass*.
4668 (syms_of_w32fns): Rename x-busy-pointer-shape to
4669 x-hourglass-pointer-shape, display-busy-cursor to
4670 display-hourglass, busy-cursor-delay to hourglass-delay.
4671
4672 * w32fns.c: Rename everything containing *busy_cursor* and similar
4673 to *hourglass*.
4674 (syms_of_w32fns): Rename x-busy-pointer-shape to
4675 x-hourglass-pointer-shape, display-busy-cursor to
4676 display-hourglass, busy-cursor-delay to hourglass-delay.
4677
4678 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
4679 of its busy_p flag.
4680
4681 * dispextern.h (start_hourglass, cancel_hourglass)
4682 (display_hourglass_p): Renamed from *busy_cursor*.
4683
ab2c5f0a
GM
46842001-02-20 Gerd Moellmann <gerd@gnu.org>
4685
d17e49a8
GM
4686 * keyboard.c (read_char): When an event from unread-command-events
4687 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
4688
fa97adf6
GM
4689 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
4690 equal to the current buffer.
4691
ab2c5f0a
GM
4692 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
4693 nil, otherwise we're left with truncate_lines t when a message
4694 is printed with message-truncate-lines bound to t.
4695
aeac019e
GM
46962001-02-19 Gerd Moellmann <gerd@gnu.org>
4697
c8bc6f65
GM
4698 * window.c (Fmove_to_window_line): Undo last change.
4699 (displayed_window_lines): Call line_bottom_y to determine
4700 the line's bottom position.
4701
4702 * dispextern.h (line_bottom_y): Add prototype.
4703
52283633 4704 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
4705 (pos_visible_p): Use it.
4706
980a2d69
GM
4707 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
4708 set redisplaying_p to 0 here instead of in Frecursive_edit.
4709 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
4710 set redisplaying_p.
4711
52283633 4712 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
4713 New variables.
4714 (syms_of_xdisp): Initialize new variables.
4715 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
4716 Specbind `inhibit-menubar-update' when updating the menu bar.
4717
65048e97
GM
4718 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
4719 safe_run_hooks.
4720
4721 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
4722 safe_run_hooks.
4723
a57c4026
GM
4724 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
4725 is null.
4726
aeac019e
GM
4727 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
4728 to the start of the file.
4729
76846b31
GM
47302001-02-16 Gerd Moellmann <gerd@gnu.org>
4731
f3f053f3 4732 * window.c (set_window_buffer): Fix last change.
52283633 4733
f3f053f3
GM
4734 * window.c (set_window_buffer): Set window's vscroll to 0.
4735
dad75588
GM
4736 * window.c (coordinates_in_window): Increase width of area
4737 where the vertical line can be dragged.
4738
c220b753
GM
4739 * xterm.c (x_set_glyph_string_background_width): Extend the
4740 background face to the end of the drawing area in the text
4741 area, only.
4742
c56b1c1b
GM
4743 * xdisp.c (handle_single_display_prop): Set iterator's position
4744 to where the `display' property starts, like for images.
4745 (dump_glyph): New function.
4746 (dump_glyph_row): Use it. Dump info about marginal areas.
4747
4748 * dispnew.c (direct_output_for_insert): Recognize more cases where
4749 glyphs can be written instead of being inserted.
4750
4751 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
4752 the left x-coordinate of the area to shift.
4753
76846b31
GM
4754 * dired.c (directory_files_internal): Set result list to nil
4755 before retrying.
4756
0fc71a77
KH
47572001-02-15 Kenichi Handa <handa@etl.go.jp>
4758
4759 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
4760 invalid multibyte sequence, treat *SRC as a character of
4761 eight-bit-graphic.
4762
25078b54
EZ
47632001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
4764
4765 * textprop.c (Fset_text_properties): Doc fix.
4766
8399f8a0
GM
47672001-02-15 Gerd Moellmann <gerd@gnu.org>
4768
4769 * dispnew.c (update_text_area): Undo change of 2001-01-12.
4770
9a2a6f73
DL
47712001-02-14 Dave Love <fx@gnu.org>
4772
4773 * coding.c: Doc and message fixes.
4774
bf853fee
AI
47752001-02-14 Andrew Innes <andrewi@gnu.org>
4776
4777 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
4778 Emacs frame above the screen size.
4779
78c663d8
GM
47802001-02-14 Gerd Moellmann <gerd@gnu.org>
4781
4782 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
4783
7cc9f69f
GM
47842001-02-13 Gerd Moellmann <gerd@gnu.org>
4785
0a411995
GM
4786 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
4787 case that TO ends up beyond ZV after running before-change-functions.
4788
5ddc1b75
GM
4789 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
4790 the selected window if it is showing the buffer in question.
4791
7cc9f69f
GM
4792 * dired.c (directory_files_internal): Initialize errno.
4793 (toplevel): Include errno.h.
4794
2e6621ca
GM
47952001-02-13 Kenichi Handa <handa@etl.go.jp>
4796
4797 * xfaces.c (best_matching_font): New parameter width_ratio.
4798 Multiply avgwidth by width_ratio.
4799 (choose_face_font): Call best_matching_font with width_ratio
4800 calculated from the column width of C.
4801
60222d69
AI
48022001-02-12 Andrew Innes <andrewi@gnu.org>
4803
4804 The following changes are to draw box lines inside characters area
4805 if line-width is negative.
52283633 4806
60222d69
AI
4807 * w32term.c (x_produce_image_glyph): Pay attention to the case that
4808 face->box_line_width is negative.
4809 (x_produce_stretch_glyph): Likewise.
4810 (x_produce_glyphs): Likewise.
4811 (x_estimate_mode_line_height): Likewise.
4812 (x_draw_glyph_string_background): Likewise.
4813 (x_draw_glyph_string_foreground): Likewise.
4814 (x_draw_composite_glyph_string_foreground): Likewise.
4815 (x_draw_glyph_string_box): Likewise.
4816 (x_draw_image_foreground): Likewise.
4817 (x_draw_image_relief): Likewise.
4818 (x_draw_image_foreground_1): Likewise.
4819 (x_draw_image_glyph_string): Likewise.
4820
9804b846
KH
48212001-02-09 Kenichi Handa <handa@etl.go.jp>
4822
4823 The following changes are to draw box lines inside characters area
4824 if line-width is negative.
52283633 4825
9804b846
KH
4826 * xterm.c (x_produce_image_glyph): Pay attention to the case that
4827 face->box_line_width is negative.
4828 (x_produce_stretch_glyph): Likewise.
4829 (x_produce_glyphs): Likewise.
4830 (x_estimate_mode_line_height): Likewise.
4831 (x_draw_glyph_string_background): Likewise.
4832 (x_draw_glyph_string_foreground): Likewise.
4833 (x_draw_composite_glyph_string_foreground): Likewise.
4834 (x_draw_glyph_string_box): Likewise.
4835 (x_draw_image_foreground): Likewise.
4836 (x_draw_image_relief): Likewise.
4837 (x_draw_image_foreground_1): Likewise.
4838 (x_draw_image_glyph_string): Likewise.
4839
4840 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
4841 and :line-width can be negative.
52283633 4842 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 4843
49be9f70
JR
48442001-02-09 Jason Rumney <jasonr@gnu.org>
4845
4846 * w32term.c (w32_encode_char): Treat eight bit graphic and control
4847 characters the same as ASCII and latin-1.
4848 (x_display_and_set_cursor): Check for the focus frame's selected
4849 window instead of selected_window.
4850 (x_after_update_window_line): Don't clear if frame's internal
4851 border width is zero.
4852 (x_new_font): Don't change a tooltip's size.
4853 (w32_initialize): Set char_ins_del_ok to 1.
4854
4855 * w32fns.c (Fx_show_tip): Fix calls to make_number.
4856 (x_set_font): If font hasn't changed, avoid recomputing
4857 faces and other things.
52283633
SM
4858 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
4859 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
4860 (x_create_tip_frame): Prevent changing the tooltip's
4861 background color by specifying a color for the default font
4862 in .Xdefaults.
4863 (Qcancel_timer): New variable.
4864 (syms_of_w32fns): Initialize and staticpro it.
4865 (Fx_hide_tip, Fx_show_tip): Use it.
4866 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4867 the timer.
4868 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
4869
4870 * w32.c (init_environment): Duplicate local string before putenv.
4871
555e35d2
SZ
48722001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
4873
4874 * charset.c (Fstring): A typo.
4875
19c92c94
KH
48762001-02-09 Kenichi Handa <handa@etl.go.jp>
4877
e47a1c33
KH
4878 * charset.c (Fstring): If all arguments are less than 256, return
4879 a unibyte string.
4880
4881 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
4882 return a unibyte string.
4883
19c92c94
KH
4884 * coding.c (code_convert_region): After detecting a coding, if
4885 nothing found, set coding->composing to COMPOSITION_NO.
4886 (decode_coding_string): Likewise.
4887
d8e675f5
SM
48882001-02-08 Stefan Monnier <monnier@cs.yale.edu>
4889
4890 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
4891 to avoid overflow.
4892
bd503487
KH
48932001-02-07 Kenichi Handa <handa@etl.go.jp>
4894
4895 * charset.c (parse_str_to_multibyte): New function.
4896
4897 * charset.h (parse_str_to_multibyte): Extern it.
4898
4899 * print.c (print_string): If we are going to print a unibyte
4900 string into a multibyte buffer, convert the string to multibyte by
4901 str_to_multibyte.
4902
a8370d72
AI
49032001-02-06 Andrew Innes <andrewi@gnu.org>
4904
4905 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
4906 been created. It seems we can get sent window messages such as
4907 WM_ERASEBKGND before we properly update a frame.
4908
c363a1d6
GM
49092001-02-06 Gerd Moellmann <gerd@gnu.org>
4910
4911 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
4912 Avoid some unnecessary cursor positioning.
4913
a08332c0
GM
49142001-02-05 Gerd Moellmann <gerd@gnu.org>
4915
52283633 4916 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
4917 (LFACE_AVGWIDTH): New macro.
4918 (LFACEP): Use AREF.
4919 (check_lface_attrs): Check LFACE_AVGWIDTH.
4920 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
4921 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
4922 (merge_face_vectors): Check LFACE_AVGWIDTH.
4923 (Finternal_make_lisp_face): Use AREF.
4924 (xm_set_menu_resources_from_menu_face)
4925 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
4926 (Finternal_lisp_face_empty_p): Use AREF.
4927 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
4928 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
4929 Compare average widths..
4930 (best_matching_font): Arrange for comparing average widths.
4931
52283633
SM
4932 * dispextern.h (enum lface_attribute_index):
4933 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
4934
5cb3c8d4
DL
49352001-02-05 Dave Love <fx@gnu.org>
4936
4937 * puresize.h: Revert last change following loadup.el change.
4938
193fba87
AI
49392001-02-05 Andrew Innes <andrewi@gnu.org>
4940
4941 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
4942 invocation of temacs, to work with Windows 2000.
4943 (bootstrap-emacs): Ditto.
4944
e16f52ce
GM
49452001-02-05 Gerd Moellmann <gerd@gnu.org>
4946
7a58ab59
GM
4947 * xterm.c (x_display_and_set_cursor): Check for the focus
4948 frame's selected window instead of selected_window.
4949
e89aaabd
GM
4950 * xdisp.c (try_scrolling): If point is in the line below the
4951 window, make sure to move the iterator at least a canonical
4952 char height down.
4953
52283633 4954 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 4955
789ce875
KH
49562001-02-05 Kenichi Handa <handa@etl.go.jp>
4957
52283633
SM
4958 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
4959 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
4960 (ccl_driver): If the CCL program is terminated because of
4961 CCL_STAT_INVALID_CMD, copy the remaining source data to the
4962 destination instead of throwing them away.
4963
20b28f82
GM
49642001-02-02 Gerd Moellmann <gerd@gnu.org>
4965
79fb38c0
GM
4966 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
4967 faces and other things.
4968
20b28f82
GM
4969 * xdisp.c (get_next_display_element): Fix case of empty
4970 display table entry.
4971
5a72551e
EZ
49722001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
4973
eb24d0bf
EZ
4974 * editfns.c (Fconstrain_to_field): Doc fix.
4975
6a3f48c7
EZ
4976 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
4977 into `thoroughly', to make it consistent with the doc string.
4978
5a72551e
EZ
4979 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
4980
01acdb05
GM
49812001-02-01 Gerd Moellmann <gerd@gnu.org>
4982
0353b28f
GM
4983 * search.c (search_buffer): Call set_search_regs with a byte
4984 position, not a character position.
4985
01acdb05
GM
4986 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
4987 minibuffer-only,
4988
e86b5133
EZ
49892001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
4990
4991 * frame.c (Fmodify_frame_parameters): Doc fix.
4992
7442878f
GM
49932001-01-31 Gerd Moellmann <gerd@gnu.org>
4994
01acdb05
GM
4995 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
4996 identifier which is not reserved by Standard C.
52283633 4997
7442878f
GM
4998 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
4999
5000 * window.c (enum window_part): New enumeration.
5001 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
5002 Qright_bitmap_area.
5003 (coordinates_in_window): Return an enumerator from enum
5004 window_part. Fix handling of right scroll bar.
5005 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
5006 `right-fringe' instead of `left-bitmap-area' and
5007 `right-bitmap-area'. Use enumerators from enum window_part
5008 instead of hard-coded integers.
52283633
SM
5009 (check_window_containing, window_from_coordinates):
5010 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
5011 (syms_of_window): Replace Qleft_bitmap_area and
5012 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
5013
7c132cba
EZ
50142001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
5015
5016 * editfns.c (Fformat_time_string): Doc fix.
5017
c359dd9e
SM
50182001-01-31 Stefan Monnier <monnier@cs.yale.edu>
5019
5020 * keymap.c (Fwhere_is_internal): Use the first valid binding
5021 if no ascii binding is found (when firstonly is t).
5022
ce070307
GM
50232001-01-31 Gerd Moellmann <gerd@gnu.org>
5024
b4f30ec5
GM
5025 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
5026 instead of Finteractive_p.
5027
5028 * lisp.h (interactive_p): Add prototype.
5029
5030 * eval.c (interactive_p): New function.
5031 (Finteractive_p): Use it.
5032
ce070307
GM
5033 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
5034
f57b6e64
DL
50352001-01-31 Dave Love <fx@gnu.org>
5036
d61c7afe
DL
5037 * .gdbinit (hook-run): Define to run xreload.
5038
f57b6e64
DL
5039 * textprop.c (Fset_text_properties): Fix newline in doc string.
5040
eef93f99
GM
50412001-01-30 Gerd Moellmann <gerd@gnu.org>
5042
52283633
SM
5043 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
5044 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
5045
5046 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 5047 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
5048 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
5049
5050 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
5051 height.
5052
d9c1f6f9
DL
50532001-01-30 Dave Love <fx@gnu.org>
5054
5055 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
5056 AFTER_POTENTIAL_GC.
5057
e8f044a0
GM
50582001-01-29 Gerd Moellmann <gerd@gnu.org>
5059
52283633
SM
5060 * bytecode.c (Fbyte_code) <Bcurrent_column>:
5061 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 5062
8e1db7b3
EZ
50632001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
5064
5065 * textprop.c (Fset_text_properties): Doc fix.
5066
4eefd9d2
GM
50672001-01-29 Gerd Moellmann <gerd@gnu.org>
5068
5069 * xdisp.c (forward_to_next_line_start): Remove xassert.
5070
fccb8288
EZ
50712001-01-29 Jason Rumney <jasonr@gnu.org>
5072
4eefd9d2 5073 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
5074 returning without releasing it.
5075
76581eab
KH
50762001-01-29 Kenichi Handa <handa@etl.go.jp>
5077
5078 * w32fns.c (w32_font_match): Allocate three more bytes to regex
5079 for '^', '$', and '\0'.
5080
83a96b4d
AC
50812001-01-28 Andrew Choi <akochoi@i-cable.com>
5082
5604ec34
AC
5083 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
5084 regex for '^', '$', and '\0'.
5085
83a96b4d
AC
5086 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
5087 only if current_sblock has been initialized.
5088
5089 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
5090 terminal frame even if it is the only visible frame.
5091
c09a6440
KH
50922001-01-28 Kenichi Handa <handa@etl.go.jp>
5093
5094 * fontset.c (font_family_registry): Even if FONTNAME conform to
5095 XLFD, if it specifies other fields than family and registry,
52283633 5096 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 5097 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
5098 a signle byte character. Don't set FAMILY part to nil here.
5099 It is handled by the caller choose_face_font.
c09a6440
KH
5100 (Fnew_fontset): Call font_family_registry with FORCE 0.
5101 (Fset_fontset_font): Likewise.
5102
4dcd74e6
GM
51032001-01-27 Gerd Moellmann <gerd@gnu.org>
5104
5105 * xdisp.c (display_line): Don't treat a newline as fitting
5106 on the line.
5107
d2906bf8
GM
51082001-01-26 Gerd Moellmann <gerd@gnu.org>
5109
0130fe1a
GM
5110 * window.c (size_window): Set the window's orig_top to nil when
5111 changing heights, so that a future shrink_mini_window won't
5112 restore a bogus height.
5113
550f0e6a
GM
5114 * frame.c (do_switch_frame): If selected frame has a mini-window,
5115 resize that to exact size.
5116
b7b20fbd
GM
5117 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
5118
a47b7816
GM
5119 * xdisp.c (display_line): Simplify check for glyphs fitting
5120 entirely in the line.
5121
d2906bf8
GM
5122 * xfns.c (xic_style): New variable.
5123 (create_frame_xic): Move static variable to global scope for
550f0e6a 5124 the case that `static' gets defined away.
d2906bf8 5125
73df2b1e
KH
51262001-01-26 Kenichi Handa <handa@etl.go.jp>
5127
5128 * coding.c (decode_coding): Set a flag for inhibiting
5129 inconsistent eol.
5130 (code_convert_region): Always set saved_coding_symbol.
5131 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 5132 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 5133
6613cfc4
GM
51342001-01-25 Gerd Moellmann <gerd@gnu.org>
5135
c5e6e06b
GM
5136 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
5137 XClearArea.
5138
5139 * xterm.c (x_after_update_window_line): Don't clear if frame's
5140 internal border width is zero.
5141 (x_clear_area): New function.
5142 (x_after_update_window_line, x_clear_end_of_line)
5143 (x_scroll_bar_create, x_scroll_bar_set_handle)
5144 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
5145 instead of XClearArea.
5146
5147 * xterm.h (x_clear_area): Add prototype.
5148
6613cfc4
GM
5149 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
5150 which doesn't seem necessary anymore with Lesstif 0.92.
5151
650cc6cc
DL
51522001-01-25 Dave Love <fx@gnu.org>
5153
34ac3367
DL
5154 * puresize.h (BASE_PURESIZE): Up to 720000.
5155
650cc6cc
DL
5156 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
5157
5e37dc22
GM
51582001-01-25 Gerd Moellmann <gerd@gnu.org>
5159
e1e441f9
GM
5160 * xdisp.c (echo_area_display): Don't call redisplay_internal
5161 when Emacs is shutting down. We can't run hooks etc. that
5162 would be necessary to do a redisplay.
5163
5e37dc22
GM
5164 * lread.c (read_integer): Use type EMACS_INT instead of int.
5165
0fb94c7f
EZ
51662001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
5167
5168 * ccl.c (ccl_driver): Fix last change.
5169
e3778624
KH
51702001-01-25 Kenichi Handa <handa@etl.go.jp>
5171
5172 * ccl.h (sturct ccl_program): New member suppress_error.
5173
bb264518 5174 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
5175 insert error message to the output.
5176 (setup_ccl_program): Initialize ccl->suppress_error to 0.
5177
5178 * coding.h (struct coding_system): New member suppress_error.
5179
5180 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
5181 (Fset_terminal_coding_system_internal): Set the member
5182 suppress_error to 1.
5183 (Fset_safe_terminal_coding_system_internal): Likewise.
5184
245ed2b1
SM
51852001-01-24 Stefan Monnier <monnier@cs.yale.edu>
5186
5187 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
5188 as if it was a `charset'.
5189
f9aaedb6
GM
51902001-01-24 Gerd Moellmann <gerd@gnu.org>
5191
5192 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
5193 value in where_is_cache; the next lookup in the cache returns
5194 something bogus if we do.
5195
c3902c3e
EZ
51962001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
5197
5198 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
5199 if HAVE_WINDOW_SYSTEM isn't defined.
5200
3497f73e
GM
52012001-01-24 Gerd Moellmann <gerd@gnu.org>
5202
e7e41584
GM
5203 * fns.c (sweep_weak_table): Fix code taking items out of
5204 the hash collision chain. Some cleanup.
5205
3497f73e
GM
5206 * xterm.c (x_new_font): Don't change a tooltip's size.
5207
5208 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
5209 background color by specifying a color for the default font
5210 in .Xdefaults.
5211
3d48e687
KH
52122001-01-24 Kenichi Handa <handa@etl.go.jp>
5213
96531b20
KH
5214 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
5215 a workaround for SunOS 4's cc.
5216 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
5217 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
5218 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
5219 statement.
3d48e687 5220
a30629d2
GM
52212001-01-23 Gerd Moellmann <gerd@gnu.org>
5222
5223 * xterm.c (x_set_window_size_1): New function extracted from
5224 x_set_window_size.
5225 (x_set_window_size): Use it.
5226 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
5227 doesn't have a widget, like tooltips.
5228
5a43decf
EZ
52292001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
5230
52283633 5231 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 5232
b0e98867
KH
52332001-01-23 Kenichi Handa <handa@etl.go.jp>
5234
5235 * fns.c (Fset_char_table_default): Fix to make sub char-table
5236 correctly.
5237
50606b4c
GM
52382001-01-22 Gerd Moellmann <gerd@gnu.org>
5239
cb2ddc53 5240 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
5241 a desired tool bar string, even if there are no tool bar items.
5242
57c28064
GM
5243 * xdisp.c (Ftool_bar_lines_needed): New function.
5244 (syms_of_xdisp): Defsubr it.
5245
50606b4c
GM
5246 * editfns.c (Fformat): Don't extend text properties from arguments
5247 to padding chars in the result.
5248
2f169c38
EZ
52492001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
5250
5251 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
5252
0f32f023
AI
52532001-01-20 Andrew Innes <andrewi@gnu.org>
5254
52283633 5255 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
5256 (w32_initialize): Don't set term hooks that aren't actually needed
5257 in windowed mode.
5258
5259 * xfaces.c (realize_default_face):
5260 (realize_face):
5261 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
5262
5263 * xdisp.c (handle_single_display_prop): Remove references to
5264 FRAME_W32_CONSOLE_P.
5265
52283633 5266 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
5267
5268 * frame.h (output_method): Remove output_w32_console method.
5269 (FRAME_W32_CONSOLE_P): Remove macro.
5270
5271 * frame.c (Qw32_console): Remove variable.
5272 (Fframep): Remove references to it.
5273 (syms_of_frame): Ditto.
5274 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
5275
5276 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
5277 redefinition.
5278
7173eada
KH
52792001-01-20 Kenichi Handa <handa@etl.go.jp>
5280
5281 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
5282
755b45ce
AI
52832001-01-19 Andrew Innes <andrewi@gnu.org>
5284
5285 * w32.c (init_environment): Add a version-independent site-lisp
5286 directory to EMACSLOADPATH, after the version dependent one.
5287
0a949811
GM
52882001-01-19 Gerd Moellmann <gerd@gnu.org>
5289
8501998a
GM
5290 * editfns.c (Fbuffer_substring): Doc fix.
5291
52283633
SM
5292 * xdisp.c (message_dolog, message2, message2_nolog):
5293 Rename parameter LEN to NBYTES.
0a949811 5294
e6ebcbbe
KH
52952001-01-19 Kenichi Handa <handa@etl.go.jp>
5296
200ecca2
KH
5297 * charset.c (strwidth): Use c_string_width.
5298 (c_string_width): New function.
5299 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
5300 Caller changed.
5301
5302 * charset.h (c_string_width, lisp_string_width): Extern them.
5303
52283633 5304 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 5305
e6ebcbbe
KH
5306 * indent.c (check_composition): Check validity of composition.
5307
200ecca2
KH
5308 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
5309 characters by calling c_string_width.
5310 (x_consider_frame_title): Get byte length of frame tile string
5311 correctly.
5312 (display_mode_element): Pay attention to width of non-ASCII
5313 characters by calling strwidth.
5314
8692ca92
GM
53152001-01-18 Gerd Moellmann <gerd@gnu.org>
5316
8962e303
GM
5317 * xfns.c (Qcancel_timer): New variable.
5318 (syms_of_xfns): Initialize and staticpro it.
5319 (Fx_hide_tip, Fx_show_tip): Use it.
5320 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
5321 the timer.
5322 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
5323
91523be9
GM
5324 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
5325
5326 * window.h (WINDOW_LIVE_P): New macro.
5327
b0b7ed0e
GM
5328 * window.c (window_size_fixed): New variable.
5329 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
5330 the doc string.
5331
06bccf8e
GM
5332 * eval.c (specbind): If binding a per-buffer variable which
5333 doesn't have a buffer-local value in the current buffer, change
5334 the global value by changing the value of the symbol bound in all
5335 buffers not having their own value, to make it consistent with
5336 what happens with other buffer-local variables.
5337
8692ca92
GM
5338 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
5339
5340 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
5341 when searching for a newline.
5342
bb3a3b50
KH
53432001-01-18 Kenichi Handa <handa@etl.go.jp>
5344
5345 * xdisp.c (display_string): Fix previous change.
5346
c2cc16fa
JR
53472001-01-18 Jason Rumney <jasonr@gnu.org>
5348
5349 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
5350 GLYPH_DEBUG is defined.
5351 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
5352 true for images with `:ascent 100'.
5353 (x_set_mouse_face_gc): If the last used mouse face has gone in the
5354 meantime, use face MOUSE_FACE_ID.
5355 If first glyph isn't a character glyph, use the ASCII NUL
5356 character to determine the face.
5357 (expose_area): Do not treat left margin specially.
5358 (note_mode_line_highlight): If no local_map, check global keymap.
5359 (note_mouse_highlight): Initialize overlay.
52283633 5360 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
5361 (show_scroll_bars): Remove unused function.
5362 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
5363 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
5364 Clip to row.
52283633 5365 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
5366 (x_free_frame_resources): Unload relief colors.
5367
9c11f79e
GM
53682001-01-17 Gerd Moellmann <gerd@gnu.org>
5369
3aec8722 5370 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
5371 get_next_display_element when the newline is already found.
5372 This may change the iterator's position, when its current position is
3aec8722
GM
5373 equal to the iterator's stop_charpos.
5374
f3ffc2c3
GM
5375 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
5376 zero, use this method only at the end of a line.
5377
52283633 5378 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
5379 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
5380 if SCALABLE_FONTS_P is set.
52283633 5381
d26d6fd9
GM
5382 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
5383 so that scalable fonts are included.
5384
9c11f79e
GM
5385 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
5386 In the cache, use a key containing the information if scalable
5387 fonts are included.
5388 (x_load_font): Adapt to change of keys in the font cache.
5389
53902001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 5391
d26d6fd9
GM
5392 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
5393 XListFonts to take advantage of font caching.
5394
9c11f79e
GM
5395 * xterm.c (x_list_fonts): Ensure caching font information when
5396 called for a null frame, which is the case frequently when Emacs
5397 starts.
5398
51446987
GM
53992001-01-17 Gerd Moellmann <gerd@gnu.org>
5400
f864120f
GM
5401 * xfns.c (QCconversion): Replaces QCalgorithm.
5402
5403 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
5404
5405 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
5406 of :algorithm.
52283633 5407
e37d1417
GM
5408 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
5409 not everything could be displayed.
5410
51446987
GM
5411 * line.h, x-list-font.c: Files removed because unused.
5412
9ad4f3e5
AI
54132001-01-17 Andrew Innes <andrewi@gnu.org>
5414
5415 * dired.c (directory_files_internal): Convert result from readdir
5416 to a unibyte string initially, to avoid possible misinterpretation
5417 of some bytes as the internal form of Emacs characters.
5418
2eda09b5
KH
54192001-01-17 Kenichi Handa <handa@etl.go.jp>
5420
5421 * fns.c (concat): Be sure to avoid putting the same `composition'
5422 property on the adjacent regions.
5423
826f3788
GM
54242001-01-16 Gerd Moellmann <gerd@gnu.org>
5425
52283633 5426 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
5427 (Fscroll_right, Fscroll_left): Set it here instead, if called
5428 interactively.
5429
d57b83b3
GM
5430 * buffer.c (Fset_buffer_modified_p): Set buffer's
5431 prevent_redisplay_optimizations_p flag.
5432
826f3788 5433 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
5434 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
5435 with additional arg.
5436
5437 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
5438 Change prototype.
826f3788 5439
826f3788
GM
5440 * xdisp.c (redisplay_preserve_echo_area): Add parameter
5441 FROM_WHERE, for debugging.
5442
261d788b
KH
54432001-01-16 Kenichi Handa <handa@etl.go.jp>
5444
5445 * ccl.c (Fregister_ccl_program): Handle the return value of
5446 resolve_symbol_ccl_program correctly.
52283633 5447 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 5448
bccee4f2
GM
54492001-01-15 Gerd Moellmann <gerd@gnu.org>
5450
e4ded23c
GM
5451 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
5452 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
5453
5454 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
5455 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
5456 the display; we didn't open it.
5457
bccee4f2
GM
5458 * dispnew.c (save_or_restore_current_matrices): Function removed.
5459 (save_current_matrix, restore_current_matrix): New functions.
5460 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
5461 restore the frame's current matrix. Due to the glyph pointer
5462 setup done in adjust_glyph_matrix, there is no easy way to make
5463 saving the current matrix in the desired matrix generally correct,
5464 so don't try it.
5465
ebeccffa
KH
54662001-01-15 Kenichi Handa <handa@etl.go.jp>
5467
5468 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
5469 truncation glyphs.
5470 (display_line): Optimize for wide characters.
e4ded23c 5471 (display_string): Don't try to display a multi-column character
ebeccffa
KH
5472 partially. On ttys, produce more than one truncation glyph for
5473 multi-column characters that don't fit on the line.
5474
64388126
KH
54752001-01-13 Kenichi Handa <handa@etl.go.jp>
5476
52283633
SM
5477 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
5478 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 5479
8edb0a6f
JR
54802001-01-13 Jason Rumney <jasonr@gnu.org>
5481
5482 * w32fns.c (Fimage_size, image_ascent, lookup_image)
5483 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
5484 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5485 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 5486
52283633
SM
5487 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
5488 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
5489 (x_draw_image_glyph_string): Adapt to change of image margins.
5490
5491 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
5492 variables.
5493
5494 * w32bdf.c (search_file_line, get_cached_font_char)
5495 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
5496
5497 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
5498
5499 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
5500 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
5501 (Fw32_send_sys_command): Remove unused variables.
5502 (w32_msg_pump): Add parentheses.
5503
5504 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
5505 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
5506 Add parentheses.
5507
4956d1ef
GM
55082001-01-12 Gerd Moellmann <gerd@gnu.org>
5509
b30623be
GM
5510 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
5511 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
5512 being a pair of margins.
5513 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
5514 to DEFVAR_LISP. Extend doc.
5515
5516 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
5517 margins.
5518 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
5519 pair of integers `(X . Y)', use X for the horizontal and Y for the
5520 vertical margin.
5521 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
5522 (parse_image_spec): Check it.
52283633
SM
5523 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5524 (tiff_format, gif_format, gs_format):
5525 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 5526
52283633
SM
5527 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
5528 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
5529 (x_draw_image_glyph_string): Adapt to the change of image margins.
5530
5531 * dispextern.h (struct image): Replace member `margin' with
5532 `hmargin' and `vmargin'.
5533
4554cc79
GM
5534 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
5535 and GLYPHS.
5536
5537 * dispnew.c (update_text_area): Put code which decrements the
5538 stop position when the row's face extends to the end of the
3bffc665 5539 line in #if 0.
4554cc79 5540
3cccce8d
GM
5541 * xfns.c (x_set_mouse_color): Fix color allocation.
5542
4956d1ef
GM
5543 * keyboard.c: Call get_local_map with new argument list.
5544
5545 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
5546
5547 * intervals.h (enum map_property): Removed.
5548 (get_local_map): Change prototype.
5549
5550 * keymap.c: Call get_local_map with new argument list.
5551 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
5552
2c2ff7f2
GM
55532001-01-11 Gerd Moellmann <gerd@gnu.org>
5554
a23887b9
GM
5555 * xdisp.c (build_desired_tool_bar_string): Correct the computation
5556 of the size needed for the tool bar string. For the last image,
5557 use a `display' property that reaches to the end of the string.
5558
a7ee2d2e
GM
5559 * xselect.c (selection_request_dpyinfo): New variable.
5560 (x_handle_selection_request): Set it.
5561 (x_selection_request_lisp_error): Don't call
5562 x_decline_selection_request if selection request's display has
5563 been closed.
5564
52283633
SM
5565 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
5566 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 5567
457b792c
GM
55682001-01-10 Dave Love <fx@gnu.org>
5569
5570 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
5571 ${SOME_MACHINE_LISP}, not ${lisp}.
5572
c1efd260
GM
55732001-01-10 Gerd Moellmann <gerd@gnu.org>
5574
52283633
SM
5575 * xdisp.c (display_line): On ttys, produce more than one truncation
5576 glyph for multi-column characters that don't fit on the line.
a98b5ed9 5577
ac95a621
GM
5578 * xselect.c (x_reply_selection_request): Add a comment.
5579
c1efd260
GM
5580 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
5581 XkbGetNames instead of XkbGetKeyboard.
5582
1bfb1345
DL
55832001-01-10 Dave Love <fx@gnu.org>
5584
5585 * sysdep.c (random): Revert the declaration.
5586
38119822
GM
55872001-01-09 Gerd Moellmann <gerd@gnu.org>
5588
52283633
SM
5589 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
5590 Call function string_bytes.
35f464a7
GM
5591 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
5592
5593 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
5594 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
5595 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
5596 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
5597 the current sblock.
5598 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
5599 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
5600 after sweeping strings, and at the end.
5601 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
5602
38119822
GM
5603 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
5604 ensure that pop_message is called.
5605
5606 * keyboard.c (Fexecute_extended_command): Use a
5607 record_unwind_protect to ensure that pop_message is called.
5608
5609 * lisp.h (push_message_unwind): Add prototype.
5610
5611 * xdisp.c (push_message_unwind): New function.
5612
5613 * fileio.c (do_auto_save_unwind): Do the pop_message here
5614 instead of in Fdo_auto_save.
5615 (Fdo_auto_save): Don't call pop_message.
5616
f47a9ec4
KR
56172001-01-08 Ken Raeburn <raeburn@gnu.org>
5618
5619 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
5620 in inner block.
5621
a758f97d
GM
56222001-01-08 Gerd Moellmann <gerd@gnu.org>
5623
6d0afc03
GM
5624 * window.c (window_scroll_pixel_based): Adjust glyph matrices
5625 when increasing window's vscroll.
5626
a758f97d
GM
5627 * macros.c (Qkbd_macro_termination_hook): New variable.
5628 (syms_of_macros): Initialize and staticpro it.
5629 (pop_kbd_macro): Run kbd-macro-termination-hook.
5630
5631 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
5632
1bfb1345 56332001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
5634
5635 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
5636 arglist, for documentation's sake.
5637
0dac6924
AI
56382001-01-06 Andrew Innes <andrewi@gnu.org>
5639
5640 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
5641 of *.pdb.
5642
8182406a
AI
56432001-01-05 Andrew Innes <andrewi@gnu.org>
5644
5645 * term.c (update_end): Don't check updating_frame; for some reason
5646 this can be 0 sometimes, such as after dismissing a popup menu,
5647 and isn't necessary given the explicit frame argument.
5648
3828218c
GM
56492001-01-05 Gerd Moellmann <gerd@gnu.org>
5650
5651 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
5652 on some systems, and an unsigned long on others, like FreeBSD 4.1.
5653
2f5ded21
GM
56542001-01-04 Gerd Moellmann <gerd@gnu.org>
5655
52283633 5656 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
5657
5658 * xfns.c (x_create_tip_frame): Preserve the value of
5659 face_change_count around the creation of the tip frame.
52283633 5660
2f5ded21
GM
5661 * xfns.c (last_show_tip_args): New variable.
5662 (compute_tip_xy): New function.
5663 (Fx_show_tip): Reuse an existing tip frame, if possible.
5664 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
5665
dfad65fa
DL
56662001-01-04 Dave Love <fx@gnu.org>
5667
64d4ec0f
DL
5668 * editfns.c (Fformat): Doc fix.
5669
dfad65fa
DL
5670 * systime.h (set_file_times): Prototype.
5671
5672 * widget.h (EmacsFrameSetCharSize_): Prototype.
5673
5674 * sysdep.c (random, srandom): Declare explicitly.
5675
5676 * dispextern.h (move_it_vertically_backward): Declare.
5677
85fe3b5e
GM
56782001-01-04 Gerd Moellmann <gerd@gnu.org>
5679
0f2ac578
GM
5680 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
5681 like in Fx_create_frame.
5682
482cca61
GM
5683 * xfaces.c (set_font_frame_param): Don't do anything for
5684 non-graphical frames.
5685
85fe3b5e
GM
5686 * window.c (Fdelete_other_windows): Set window's window_end_valid
5687 to nil when changing the window's start. Don't change the
5688 window's start when its top position hasn't changed. If we do,
5689 this will set the window's optional_new_start, which act's like a
5690 force_start during redisplay with C-x 1 M-> under particular
5691 circumstances (see report from Per Starback to emacs-pretest-bug
5692 from 2000-12-13.).
5693
3e99d3b4
GM
56942001-01-03 Gerd Moellmann <gerd@gnu.org>
5695
a77dc1ec
GM
5696 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
5697 short cut at the start of the function. Add an assertion.
5698 (reseat_at_next_visible_line_start): Add an assertion.
5699
2f3cad6c
GM
5700 * window.c (Frecenter): When changing the window start, set the
5701 window's window_end_valid to nil.
5702 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
5703
5704 * dispextern.h (move_it_past_eol): Add prototype.
5705
5706 * xdisp.c (move_it_past_eol): New function.
5707
3e99d3b4
GM
5708 * window.c (Fwindow_end): Doc fix.
5709
57102001-01-03 Dave Love <fx@gnu.org>
5711
52283633 5712 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 5713
bafb434c
GM
57142001-01-03 Gerd Moellmann <gerd@gnu.org>
5715
5716 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
5717 the enabled_p flag of the glyph row at window_end_vpos to 0.
5718 (handle_single_display_prop): Fix last change.
5719
5297fb00
RS
57202001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5721
5722 * window.c (Frecenter): Doc fix.
5723
13d6a61c
AI
57242001-01-02 Andrew Innes <andrewi@gnu.org>
5725
5726 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
5727
5728 * frame.h (output_method): Add output_w32_console method.
5729 (FRAME_W32_CONSOLE_P): New macro.
5730
5731 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
5732 use output_w32_console method.
5733 (Qw32_console): New Lisp_Object.
5734 (Fframep): Return it.
5735 (syms_of_frame): Init it.
52283633 5736 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
5737
5738 * xfaces.c (realize_default_face): Set face foreground and
5739 background to unspecified for w32_console frames.
5740 (realize_face): Realize face cache for w32_console frames.
5741 (realize_tty_face): Accept w32_console frames.
5742
52283633 5743 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
5744 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
5745 necessary, even if running interactively.
5746
5747 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
5748 w32_console frames.
5749
52283633
SM
5750 * w32term.c (x_update_begin):
5751 (x_update_end):
5752 (x_clear_frame):
5753 (x_ins_del_lines):
5754 (x_change_line_highlight):
5755 (x_delete_glyphs):
5756 (w32_ring_bell):
5757 (x_update_begin):
5758 (x_update_end):
5759 (w32_reassert_line_highlight):
5760 (w32_frame_rehighlight):
13d6a61c
AI
5761 (w32_frame_raise_lower): Do nothing if not w32 frame.
5762
5763 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
5764
5765 * w32fns.c (Fx_display_color_cells): Determine correct value, when
5766 system doesn't tell us directly.
5767 (Fx_display_visual_class): Implement properly.
5768
d6bb0c0d
GM
57692001-01-02 Gerd Moellmann <gerd@gnu.org>
5770
5771 * window.c (Frecenter): Handle centering in graphical frames
5772 specially. Centering on the basis of line counts doesn't work
5773 reliably with variable-height lines.
52283633 5774
315f5865
EZ
57752001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
5776
5777 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
5778 and al[].
5779
52283633 5780 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
5781 (update_compositions): Remove unused variable `hook'.
5782
5783 * intervals.c (get_local_map): Remove unused variable `tem'.
5784
5785 * doprnt.c (doprnt1): Remove unused variable `size'.
5786
5787 * fns.c (Flength): Remove unused variable `tail'.
5788 (Fdelete): Remove unused variable `size'.
5789
5790 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
5791 and `gcpro2'.
5792
52283633 5793 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
5794
5795 * data.c (find_symbol_value): Remove extra 3rd argument in the
5796 call to swap_in_symval_forwarding.
5797
52283633 5798 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
5799
5800 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
5801 (trivial_regexp_p): Remove unused variable `c'.
5802 (boyer_moore): Remove unused variable `k'.
5803
5804 * indent.c (current_column): Remove unused variable `stopchar'.
5805 (Fcompute_motion): Remove unused variable `contin'.
5806
5807 * casefiddle.c (casify_object): Remove unused variable `tolen'.
5808
5809 * dired.c (directory_files_internal): Fix a typo in a comment.
5810 Remove an unused variable `handler'.
52283633 5811 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
5812 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
5813 on BSD4_2.
5814
52283633 5815 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
5816
5817 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
5818 and `buf'.
5819 (Fmarker_insertion_type): Remove unused variable `buf'.
5820
5821 * insdel.c (make_gap): Remove unused variable `result'.
5822
52283633 5823 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
5824 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
5825 (menu_bar_items): Remove unused function-scope variable `tem'.
5826
5827 * fontset.c (fontset_ref): Remove unused variable `i'.
5828 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 5829 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
5830 (make_fontset_for_ascii_face): Remove unused variable `name'.
5831 (fs_load_font): Remove unused variable `font_idx'.
52283633 5832 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
5833 (list_fontsets): Remove unused variable `tail'.
5834 (Fnew_fontset): Remove unused variables `family' and `registry'.
5835 (accumulate_font_info): Remove unused variable `tmp'.
5836 (Ffontset_font): Remove unused variable `id'.
5837 (syms_of_fontset): Remove unused variable `i'.
5838
5839 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
5840 to x_term_init.
5841 (lookup_image): Remove unused variable `file'.
5842 (xbm_load): Remove unused variables `bitmap_data', `height', and
5843 `width'. Remove function-local variable `i', leave the
5844 block-local one.
5845 (gif_load): Remove unused variable `inc'.
5846
52283633 5847 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
5848 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
5849 leave only the one in the inner block.
5850
5851 * xfaces.c (face_fontset, realize_default_face): Remove unused
5852 variable `fontset'.
5853 (face_at_buffer_position): Remove unused variable `multibyte_p'.
5854
5855 * term.c (encode_terminal_code): Remove unused variable `c'.
5856
5857 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
5858 char *' instead of `char *'.
5859
5860 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 5861 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
5862 (Fchar_category_set): Remove unused variables `val', `charset',
5863 `c1' and `c2'.
5864
52283633
SM
5865 * coding.c (detect_coding_iso2022, setup_coding_system):
5866 Remove unused variable `i'.
315f5865
EZ
5867 (detect_coding_mask): Remove unused variable `idx'.
5868 (detect_coding): Remove unused variable `i'.
5869 (ccl_coding_driver): Remove unused variable `result'.
5870 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 5871 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
5872 (encode_coding_string): Remove unused variables `gcpro1' and
5873 `saved_coding_symbol'.
5874 (Ffind_coding_systems_region_internal): Remove function-local
5875 variable args[], leave only the block-local one.
5876 (code_convert_region1): Remove unused variable `len'.
5877
5878 * charset.c (char_printable_p): Remove unused variable `chars'.
5879 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
5880 (str_to_multibyte): Remove unused variable `c'.
5881
5882 * window.c (size_window): Remove block-local variable `min_size'.
5883
5884 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
5885 `header_line_height'.
5886 (append_space, extend_face_to_end_of_line): Declare `saved_what'
5887 enum display_element_type.
5888
1a8a9daf
GM
58892001-01-02 Gerd Moellmann <gerd@gnu.org>
5890
6dde6abc 5891 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
5892 statements that call X. Save away the error message in a local copy.
5893
1883b2c6
GM
5894 * xterm.c (x_connection_closed): Set handling_signal to 0 at
5895 the start.
5896
a13be207
GM
5897 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
5898 in or at the start of invisible text.
5899
1a8a9daf
GM
5900 * dispnew.c (update_window): Don't check_current_matrix_flags.
5901
3608c0f9
JR
59022001-01-01 Jason Rumney <jasonr@gnu.org>
5903
5904 * w32fns.c (x_figure_window_size): Do not allow new_height and
5905 new_width of frame to override specified values.
5906
abb1acc4
KH
59072000-12-30 Kenichi Handa <handa@etl.go.jp>
5908
52283633 5909 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 5910
762a68ec
GM
59112000-12-29 Gerd Moellmann <gerd@gnu.org>
5912
52283633 5913 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
5914 (update_window) [GLYPH_DEBUG]: Call it.
5915 (scrolling_window): Prevent including current rows which are below
5916 what's displayed in the window.
5917
5918 * xdisp.c (try_window_reusing_current_matrix)
5919 <new start <= old start>: Disable rows in the current matrix
5920 which are below the window after scrolling.
52283633 5921
762a68ec
GM
5922 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
5923 is zero. It's not worth the complexity.
5924 (invisible_text_between_p): Put in #if 0 because unused.
5925
2d5912c1
GM
59262000-12-28 Gerd Moellmann <gerd@gnu.org>
5927
46f6a258
GM
5928 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
5929 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
5930
89f93679
GM
5931 * keyboard.c (echo_char): If C is an integer, always call
5932 push_key_description. Former code could signal an invalid
5933 character error.
5934
5935 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
5936 If set, print multibyte text.
5937 (Fsingle_key_description): Call push_key_description with
5938 FORCE_MULTIBYTE set.
5939 (describe_buffer_bindings): Likewise.
5940
5941 * lisp.h (push_key_description): Add prototype.
5942
c06017fb
GM
5943 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
5944 around the call to redisplay_internal.
5945
f1d2ce7f
GM
5946 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5947
2d5912c1
GM
5948 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5949
9371f831
KH
59502000-12-28 Kenichi Handa <handa@etl.go.jp>
5951
5952 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
5953 (ccl_driver): New local variable `extra_bytes'.
5954
5955 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
5956
52283633
SM
5957 * coding.c (setup_coding_system):
5958 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
5959 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
5960
0c80628a
KH
59612000-12-28 Kenichi Handa <handa@etl.go.jp>
5962
5963 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
5964 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
5965 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
5966 (decode_composition_emacs_mule): New function.
5967 (decode_coding_emacs_mule): Decode composition sequence by calling
5968 decode_composition_emacs_mule.
5969 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
5970 (encode_coding_emacs_mule): Changed from macro to function.
5971 If a text contains compositions, encode them correctly.
0c80628a
KH
5972 (setup_coding_system): Set coding->commong_flags for emacs-mule so
5973 that decoding and encoding are required.
5974
3e32cc27
GM
59752000-12-27 Gerd Moellmann <gerd@gnu.org>
5976
5e25feee
GM
5977 * xfaces.c (PT_PER_INCH): New macro.
5978 (xlfd_point_size): Compute real point size from font's pixel size.
5979 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
5980 instead of 72.
5981
892d8fcd
GM
5982 * .gdbinit: Comment out the line pointing to the Lesstif source
5983 directory.
5984
12c8b416
GM
5985 * window.c (Frecenter): Use displayed_window_lines instead
5986 of window_internal_height.
5987
6061fbf0
GM
5988 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5989 instead of x-toolkit-scroll-bars-p.
5990 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
5991
5992 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5993 instead of x-toolkit-scroll-bars-p.
5994 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 5995
3e32cc27
GM
5996 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
5997 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
5998 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
5999 New variables.
6000 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
6001 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
6002 (build_frame_matrix_from_leaf_window): Remove unused code.
6003 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
6004 redisplay history.
6005 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
6006 (update_window) [GLYPH_DEBUG]: Likewise.
6007 (syms_of_display): Defsubr dump-redisplay-history.
6008
31798cfe
GM
60092000-12-23 Gerd Moellmann <gerd@gnu.org>
6010
f717c2ba
GM
6011 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
6012 the end of the prompt. Set echo_after_prompt to the offset
6013 of echoptr in echobuf.
6014
aeb2b8fc
GM
6015 * xdisp.c (init_from_display_pos): Pop until the iterator's
6016 stack is empty; there may be frames for stretch or images
6017 on the stack.
6018
31798cfe
GM
6019 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
6020 (save_or_restore_current_matrix): New function for the same
6021 purpose, but more efficient.
6022 (adjust_frame_glyphs_for_frame_redisplay): Use it.
6023
f8156156
EZ
60242000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
6025
6026 * xdisp.c (syms_of_xdisp): Fix last change.
6027
bdd6d4e8
GM
60282000-12-23 Gerd Moellmann <gerd@gnu.org>
6029
6030 * xdisp.c (syms_of_xdisp): Doc fix.
6031
6032 * xdisp.c (redisplay_window): Remove label restore_buffers;
6033 use finish_scroll_bars instead to make sure that scroll bars
6034 are redeemed. If we don't do this, flickering can result from
6035 scroll bars being destroyed and recreated.
6036
9436cdf9
JR
60372000-12-22 Jason Rumney <jasonr@gnu.org>
6038
6039 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
6040 in the wrong colors when the foreground is not black.
6041 (expose_window): Don't redraw the window that's currently being
6042 updated.
6043
951f9df5
GM
60442000-12-22 Gerd Moellmann <gerd@gnu.org>
6045
856ff7a7
GM
6046 * window.c (size_window): When setting the window's too_small_ok
6047 flag, compare old size with minimum size depending on WIDTH_P,
6048 don't compare with window_min_width.
52283633 6049
951f9df5
GM
6050 * window.c (delete_window): Simplify somewhat.
6051 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
6052 freeing window matrices. The flag windows_or_buffers_changed is
6053 set, so the next redisplay will consider all windows; this should
6054 suffice.
6055
886bc933
KH
60562000-12-22 Kenichi Handa <handa@etl.go.jp>
6057
6058 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
6059
6060 * ccl.h (struct ccl_program): New member cr_consumed.
6061
6062 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
6063 (CCL_READ_CHAR): Handle EOL conversion here.
6064 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
6065
177f4e88
GM
60662000-12-21 Gerd Moellmann <gerd@gnu.org>
6067
52283633 6068 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
6069
6070 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
6071 otherwise tabs of different size compare equal.
6072
6073 * callint.c (Fcall_interactively): Prevent a compiler warning.
6074
6075 * print.c (print_unwind): Return nil.
6076 (PRINTDECLARE): Initialize all local variables.
6077 (print_preprocess): Add a default case.
6078
8e15274f
GM
6079 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
6080
6081 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
6082
52283633 6083 * window.c (delete_window, Fsplit_window)
177f4e88
GM
6084 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
6085
6086 * dispextern.h (ensure_frame_matrix): Function declaration removed.
6087
6088 * dispnew.c (ensure_frame_matrix): Removed.
6089 (save_frame_matrix, restore_frame_matrix): New functions.
6090 (adjust_frame_glyphs_for_frame_redisplay): Use them.
6091
6092 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
6093 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
6094
99012074
AI
60952000-12-21 Andrew Innes <andrewi@gnu.org>
6096
6097 * w32term.c (x_update_begin): Regenerate the palette here, rather
6098 than for each window.
6099
6100 * w32xfns.c (select_palette): Avoid calling SelectPalette if
6101 palette is NULL, since this corrupts memory! Also get
6102 display_info reference from frame.
6103
29ef7d2d
JR
61042000-12-21 Jason Rumney <jasonr@gnu.org>
6105
6106 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
6107
6108 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
6109 to avoid returning without releasing it.
3e27fa1f 6110
3f9d67a6
KH
61112000-12-21 Kenichi Handa <handa@etl.go.jp>
6112
587fc3f9
KH
6113 * keymap.c (push_key_description): Don't convert eight-bit-control
6114 and eight-bit-graphic to multibyte character.
6115
3f9d67a6
KH
6116 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
6117 generic character and CODE1 is nil, return the smallest character
6118 in CHARSET.
6119
774ba8c9
DL
61202000-12-20 Dave Love <fx@gnu.org>
6121
6122 * s/osf5-0.h (NSIG): Don't redefine.
6123
88416888
SM
61242000-12-20 Stefan Monnier <monnier@cs.yale.edu>
6125
6126 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
6127 excluding menu-bar and tool-bar.
6128 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
6129 (menu_item_p): Remove.
6130 (where_is_internal_1): Don't ignore menu-items.
6131
a6426c6f
GM
61322000-12-20 Gerd Moellmann <gerd@gnu.org>
6133
03ff8aab
GM
6134 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
6135 into account.
6136
6137 * window.c (make_window): Initialize window's min_hscroll.
6138 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
6139 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
6140 to zero.
6141 (struct saved_window): New member min_hscroll.
6142 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
6143 (Fset_window_configuration): Set window's min_hscroll.
6144 (save_window_save): Save window's min_hscroll.
6145 (compare_window_configurations): Compare min_hscroll values.
6146
6147 * window.h (struct window): New member min_hscroll.
6148
6149 * keyboard.c (echo_prompt): Prevent a compiler warning.
6150
8de4aaf8
GM
6151 * xdisp.c (try_cursor_movement): Fix last change. The real
6152 condition is that PT is at the end of the row, and should
6153 be displayed at the start of the next row.
52283633 6154
3f7e3031
GM
6155 * xdisp.c (try_cursor_movement): If we end on a partially
6156 visible line, end we already decided to scroll, return -1.
6157
a6426c6f
GM
6158 * dispextern.h (ensure_frame_matrix): Add prototype.
6159
6160 * window.c (delete_window, Fsplit_window)
6161 (Fset_window_configuration): Call ensure_frame_matrix.
6162
52283633
SM
6163 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
6164 New functions.
a6426c6f
GM
6165 (adjust_frame_glyphs_for_frame_redisplay): If display has been
6166 completed, call fake_current_matrices instead of marking frame
6167 garbaged.
6168
57fa2774
JR
61692000-12-20 Jason Rumney <jasonr@gnu.org>
6170
6171 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
6172
d925df90
EZ
61732000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
6174
6175 * fns.c (Frequire): Doc fix.
6176
7b93a85b
GM
61772000-12-19 Gerd Moellmann <gerd@gnu.org>
6178
52283633 6179 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 6180
c74e645b
GM
6181 * dispnew.c (direct_output_for_insert): Fix check for mini-window
6182 currently displaying a message.
6183
7b93a85b
GM
6184 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
6185 xterm.h.
6186 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
6187
90d97e64
AI
61882000-12-18 Andrew Innes <andrewi@gnu.org>
6189
6190 * w32.c (w32_strerror): New function.
6191
6192 * w32.h (w32_strerror): New extern.
6193
6194 * w32fns.c (Fw32_shell_execute): Use it.
6195
91c9e6ce
GM
61962000-12-18 Gerd Moellmann <gerd@gnu.org>
6197
6198 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
6199
6f4745e2
EZ
62002000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6201
6202 * msdos.c (IT_set_face): Obey inverse_video.
6203
c9e088ce
KH
62042000-12-18 Kenichi Handa <handa@etl.go.jp>
6205
6206 * dired.c (directory_files_internal): Always return decoded filenames.
6207
c3695f5f
GM
62082000-12-18 Gerd Moellmann <gerd@gnu.org>
6209
52d8e4ff
GM
6210 * xterm.c (x_connection_closed): Prevent being called recursively
6211 because of an error condition in XtCloseDisplay.
52283633 6212
62be9979
GM
6213 * xdisp.c (init_iterator): If noninteractive, and the frame's
6214 face cache is null, make one.
6215
52283633 6216 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 6217
c3695f5f
GM
6218 * process.c (wait_reading_process_input): Check for pending
6219 input when running timers.
6220
78555fbe
EZ
62212000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6222
52283633 6223 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 6224
b2b36264
KH
62252000-12-18 Kenichi Handa <handa@etl.go.jp>
6226
6227 * process.c (read_process_output): Don't run a filter if the code
6228 decoder produces nothing but carryover.
6229
9c543fbf
AI
62302000-12-17 Andrew Innes <andrewi@gnu.org>
6231
6232 * w32.c (sys_rename): Only check errno against EEXIST, and not
6233 EACCES, when determining whether rename failed because the target
6234 exists. This was resulting in indefinite looping on Windows 9x if
6235 the source file was locked by another process.
6236
6237 * w32fns.c (Ffile_system_info): New function.
6238 (syms_of_w32fns): Defsubr it.
6239
10c2b5a8
GM
62402000-12-17 Gerd Moellmann <gerd@gnu.org>
6241
b0228ace
GM
6242 * window.c (coordinates_in_window): Fix computation for
6243 position on vertical line between mode lines.
6244
10c2b5a8
GM
6245 * xfns.c (unwind_create_frame): Return t if frame was deleted.
6246 Don't alter tip_frame or tip_window.
6247 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6248 was deleted.
6249
c844a81a
GM
6250 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
6251 Don't alter tip_frame or tip_window.
6252 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6253 was deleted.
6254
6c825f8e
EZ
62552000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
6256
6257 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
6258 be consistent with the doc string. Reported by NAKAJIMA Mikio
6259 <minakaji@osaka.email.ne.jp>.
6260
af4bb4c8
KH
62612000-12-16 Kenichi Handa <handa@etl.go.jp>
6262
6263 * xfaces.c (Vface_ignored_fonts): New variable.
6264 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
6265 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
6266
8062e53a
GM
62672000-12-15 Gerd Moellmann <gerd@gnu.org>
6268
e87b8809
GM
6269 * dispnew.c (update_window): Detect pending input every nth line
6270 updated, i.e. do it depending on real work done, and not on the
6271 vpos of the line.
6272
6273 * xterm.c (expose_window): Don't redraw the window that's
6274 currently being updated.
6275
a6768cc5
GM
6276 * window.c (Fset_window_point): Remove test for
6277 cursor_in_non_selected_windows.
6278
4ea7fdca
GM
6279 * lread.c (read1): Recognize end of file after `\\'.
6280
8062e53a
GM
6281 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
6282 not unwind_create_frame.
6283
bb7959c1
GM
62842000-12-15 Dave Love <fx@gnu.org>
6285
6286 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
6287 bcopy & al.
6288
6289 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
6290
ced04c42
KH
62912000-12-15 Kenichi Handa <handa@etl.go.jp>
6292
c5443913
KH
6293 * coding.c (setup_coding_system): Clear all members of the struct
6294 coding_system at first.
bc137305
KH
6295 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
6296 argument.
6297 (code_convert_region): Don't override coding->src_multibyte and
6298 coding->dst_multibyte.
c5443913 6299
ced04c42
KH
6300 * fns.c (Fmd5): Docstring improved.
6301
c2d7f289
MB
63022000-12-15 Miles Bader <miles@gnu.org>
6303
6304 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
6305 are actually marked as mode-lines; otherwise use
6306 estimate_mode_line_height.
6307
9d7d9263
GM
63082000-12-14 Gerd Moellmann <gerd@gnu.org>
6309
6310 * editfns.c (Fformat): Prevent a buffer overrun when the format
6311 specifies a precision.
6312
7cf0153a
EZ
63132000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
6314
6315 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
6316 argument is outside the range [2..3].
6317
1de0f662
AI
63182000-12-14 Andrew Innes <andrewi@gnu.org>
6319
6320 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
6321 nothing to do. Bind inhibit-quit.
6322 (tip_frame): Make it a Lisp_Object.
6323 (x_create_tip_frame): Set tip_frame after it has been added to
6324 Vframe_list.
6325 (Fx_show_tip): Don't set tip_frame here.
52283633 6326 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
6327 (unwind_create_frame, unwind_create_tip_frame): New functions.
6328 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6329 while a frame is only partially constructed.
6330
6331 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6332 (x_free_frame_resources): New function.
6333 (x_destroy_window): Use it.
6334
02387dcc
GM
63352000-12-14 Gerd Moellmann <gerd@gnu.org>
6336
6337 * xfns.c (Fx_backspace_delete_keys_p): New function.
6338 (syms_of_xfns): Defsubr it.
6339
6340 * config.in (HAVE_XKBGETKEYBOARD): Add.
6341
0544ef49
KH
63422000-12-14 Kenichi Handa <handa@etl.go.jp>
6343
98d62747
KH
6344 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
6345 Always store string in multibyte representation in echobuf.
6346 (echo_char): Always store string in multibyte representation in
6347 echobuf.
6348 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
6349 (read_key_sequence): Adjusted for the change of echo_prompt.
6350
a20193cd
KH
6351 * fns.c (Fmd5): Docstring improved.
6352
191b83b6
KH
6353 * lisp.h (detect_coding_system): Prototype adjusted.
6354
0544ef49
KH
6355 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
6356 (detect_coding_emacs_mule, detect_coding_iso2022,)
6357 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
6358 (detect_coding_utf_16, detect_coding_ccl): Make them static.
6359 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
6360 (detect_coding_mask, detect_coding_system): New argument
6361 MULTIBYTEP. Callers changed.
1da1bb05
KH
6362 (decode_coding_string): Set coding->src_multibyte and
6363 coding->dst_multibyte before calling detect_coding and detect_eol.
6364 Update them after some coding system is detected.
52283633 6365
d5b3eb1b
SM
63662000-12-13 Stefan Monnier <monnier@cs.yale.edu>
6367
6368 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
6369
6370 * keyboard.c (menu_bar_items, tool_bar_items):
6371 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
6372
f7f8bb69
GM
63732000-12-13 Gerd Moellmann <gerd@gnu.org>
6374
52283633 6375 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
6376 New variables.
6377 (unwind_create_frame, unwind_create_tip_frame): New functions.
6378 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6379 while a frame is only partially constructed.
6380
6381 * xterm.h (x_free_frame_resources): Declare.
6382
6383 * xterm.c (x_free_frame_resources): New function.
6384 (x_destroy_window): Use it.
6385
e10da507
GM
6386 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
6387 don't interrupt the update for pending input initially, i.e.
6388 update at least some lines.
6389
6390 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 6391
d5b3eb1b 6392 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
6393
6394 * xfns.c (gray_bitmap_bits): Declare `char *'.
6395
90aa2856
GM
63962000-12-12 Gerd Moellmann <gerd@gnu.org>
6397
6398 * xdisp.c (display_tool_bar_line): Make sure that tool bar
6399 lines start with a relief line.
6400
a308c9cd
DL
64012000-12-12 Dave Love <fx@gnu.org>
6402
6403 * window.c (Fdisplay_buffer): Doc fix.
6404 (Fwindow_list): Remove unused var.
6405
6406 * buffer.h (mmap_set_vars): Declare.
6407
6408 * window.h (Fset_window_point): Declare.
6409
d575011f
EZ
64102000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
6411
bf6282d2 6412 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
6413 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
6414 variable `area'. When looking for a row under (X,Y), give up if some
6415 of the previous rows is not enabled.
d575011f 6416
ecf4d726
GM
64172000-12-12 Gerd Moellmann <gerd@gnu.org>
6418
2ebf6139
GM
6419 * window.c (Fset_window_point): If displaying cursors in windows
6420 other than the selected window, make sure redisplay updates
6421 other windows to show the new value of point in the window.
6422
6423 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
6424
bfdb75ee
GM
6425 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
6426 the buffer is the sole visible buffer when in the mini-buffer.
6427
52283633 6428 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
6429 Bind `inhibit-read-only' to t.
6430 (unwind_with_echo_area_buffer): Use AREF.
6431
c0006262
GM
6432 * xfns.c (Fx_hide_tip): Simplified.
6433
52283633
SM
6434 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
6435 instead of `1'.
e9a59cad 6436
ecf4d726
GM
6437 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
6438
e5959a9a
GM
64392000-12-11 Gerd Moellmann <gerd@gnu.org>
6440
a3642e49 6441 * xfns.c (Fx_hide_tip): Fix last change.
52283633 6442
44b5a125
GM
6443 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
6444 nothing to do. Bind inhibit-quit.
6445 (tip_frame): Make it a Lisp_Object.
6446 (x_create_tip_frame): Set tip_frame after it has been added to
6447 Vframe_list.
6448 (Fx_show_tip): Don't set tip_frame here.
6449
6450 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6451
6452 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
6453 Lisp_Object.
6454
6455 * dispextern.h: Change external declaration of tip_frame.
6456
d990421f
GM
6457 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
6458 return an empty string.
6459
4db87380
GM
6460 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
6461 of the window's update_mode_line flag, since the former is set by
6462 force-mode-line-update, not the latter. This makes
6463 column-number-mode slightly faster.
52283633 6464
e5959a9a
GM
6465 * xdisp.c (try_window_id) <all changes above window start>:
6466 Set the cursor.
6467
169fe44e
GM
64682000-12-11 Paul Eggert <eggert@twinsun.com>
6469
6470 * config.in (HAVE_FTELLO): Remove.
6471 (HAVE_FSEEKO): Add.
6472 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
6473 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
6474 HAVE_FTELLO.
6475 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
6476 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 6477
59ec59ae
MB
64782000-12-11 Miles Bader <miles@gnu.org>
6479
6480 * window.c (displayed_window_lines): Don't round up when
6481 converting empty space at bottom to lines.
ff904dd6
MB
6482 Handle non-newline-terminated final lines properly.
6483 (Fwindow_text_height): New function (used to be in lisp).
6484 (syms_of_window): Initialize it.
59ec59ae 6485
42ebfa31
SM
64862000-12-09 Stefan Monnier <monnier@cs.yale.edu>
6487
6488 * syntax.c (scan_lists): Check that the right quote char has the
6489 right Sstring syntax when jumping over strings.
6490 (init_syntax_once): Use Smax rather than 13.
6491
5cdb3cf3
MB
64922000-12-09 Miles Bader <miles@gnu.org>
6493
6494 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
6495 with PARTIALLY, inverting the sense.
6496 (window_scroll_pixel_based): Scroll partially visible lines into
6497 place if we hit the beginning or end of the buffer.
a12167c5
MB
6498 (displayed_window_lines): Don't include partially visible lines.
6499 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 6500
842b2a94
GM
65012000-12-08 Gerd Moellmann <gerd@gnu.org>
6502
6503 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
6504
6505 * tparam.c (tparam1): Change the way buffers are reallocated to be
6506 portable and less obfuscated.
6507
6508 * termcap.c (tgetent): Change the way buffers are reallocated to
6509 be portable and less obfuscated.
6510
6511 * macros.c (store_kbd_macro_char): Change the way buffers are
6512 reallocated to be portable and less obfuscated.
6513
6514 * lread.c (read1): Change the way buffers are reallocated to be
6515 portable and less obfuscated.
6516
6517 * doc.c (Fsubstitute_command_keys): Change the way buffers
6518 are reallocated so that it is portable.
6519
137cad7c
EZ
65202000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
6521
6522 * dosfns.c (Ffile_system_info): New function.
6523 (syms_of_dosfns): Defsubr it.
6524
5c7f629c
SM
65252000-12-07 Stefan Monnier <monnier@cs.yale.edu>
6526
6527 * alloc.c (gc_sweep): Add comment.
6528
959e647d
GM
65292000-12-07 Gerd Moellmann <gerd@gnu.org>
6530
52283633
SM
6531 * sound.c (vox_configure): Change order of ioctls.
6532 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
6533 Ignore errors when changing volume.
6534 (vox_close): Don't reset the device.
6535
926b7e5e
GM
6536 * process.c (read_process_output): Make sure the process marker's
6537 position is valid when the process buffer is changed in
6538 after-change functions. W3 does that.
52283633 6539
959e647d
GM
6540 * xfns.c (x_free_gcs): New function.
6541
6542 * xterm.h (x_free_gcs): Add prototype.
6543
6544 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
6545 freeing GCs here.
6546
6547 * xterm.c (x_destroy_window): Call x_free_gcs so that
6548 resources of non-toolkit X windows will be freed.
6549
478ea067
AI
65502000-12-07 Andrew Innes <andrewi@gnu.org>
6551
6552 * w32fns.c (xlfd_charset_of_font): Fix last change.
6553
fbee3231
DL
65542000-12-06 Dave Love <fx@gnu.org>
6555
67292061
DL
6556 * md5.h (__P): Don't define -- it comes from config.h.
6557
fbee3231
DL
6558 * strftime.c: Change some #if foo to #ifdef foo.
6559
4ee87dbb
AI
65602000-12-06 Andrew Innes <andrewi@gnu.org>
6561
6562 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
6563
52283633 6564 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 6565 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 6566 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 6567
9765b4a4
GM
65682000-12-06 Gerd Moellmann <gerd@gnu.org>
6569
d285b373
GM
6570 * alloc.c (gc_sweep): Prevent symbols read during loadup
6571 from being freed.
6572
384333ee
GM
6573 * xdisp.c (underlying_face_id): New function.
6574 (handle_face_prop, face_before_or_after_it_pos): Use it
6575 to determine the face ``under'' a string. Let strings inherit
6576 the face of the buffer under them.
6577
6578 * xfaces.c (face_at_string_position): Update function comment.
52283633 6579
d4b72d58
GM
6580 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
6581 matrix if the window's left position has changed; we need to
6582 redraw it in this case.
6583
6584 * dispextern.h (struct glyph_matrix): Add member window_left_x.
6585
e1d05387
GM
6586 * window.c (coordinates_in_window): Check mouse on mode-line or
6587 header-line first.
6588
eb1b0c74
GM
6589 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
6590 advertized by the function documentation.
6591
d94d636f
GM
6592 * window.c (syms_of_window): Doc fix.
6593
3887b449
GM
6594 * sound.c (vox_configure): Set volume for left and right channel.
6595 (sound_cleanup): Return nil.
6596
efc8f57a
GM
6597 * xdisp.c (move_it_by_lines): Fix paren typo.
6598
9765b4a4
GM
6599 * xterm.c (x_load_font): Don't use the font's max_bounds for
6600 computing the height of the font. If max_bounds' ascent or
6601 descent are greater than the font's ascent or descent, this means
6602 glyphs overlap, which should be handled now by redisplay.
6603
6529ed87
GM
6604 * window.c (Veven_window_heights): New variable.
6605 (syms_of_window): DEFVAR_LISP it.
6606 (Fdisplay_buffer): Check Veven_window_heights before evening the
6607 window heights.
52283633 6608
0eb2ecde
MB
66092000-12-06 Miles Bader <miles@gnu.org>
6610
6611 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
6612 update `default-frame-alist' instead of setting no frame parameters.
6613
03d7a167
KH
66142000-12-06 Kenichi Handa <handa@etl.go.jp>
6615
6616 * composite.c (update_compositions): Fix typo (use the correct
6617 variable).
6618
5f8803c2
JR
66192000-12-05 Jason Rumney <jasonr@gnu.org>
6620
6621 * md5.h: Remove underscores from function declarations.
6622 (__attribute__, __alignof__) [!__GNUC__]: Define.
6623
6624 * md5.c: Delay include of md5.h until after namespace cleaning.
6625
c28a075b
JR
6626 * makefile.w32-in (fns.o): Depend on md5.h
6627 (md5.o): New target.
6628 (sunfns.o): Remove.
6629
6630 * makefile.nt: Likewise.
6631
ff3c7056
JR
66322000-12-05 Jason Rumney <jasonr@altavista.net>
6633
6634 * w32term.c (expose_area): Complete last change.
6635
0c21eeeb
KR
66362000-12-05 Ken Raeburn <raeburn@gnu.org>
6637
6638 * minibuf.c: Include intervals.h.
6639
f201d732
JR
66402000-12-05 Jason Rumney <jasonr@gnu.org>
6641
6642 * w32term.c (x_produce_glyphs): If a font for a component of
6643 a composition is not found, use 1 pixel dot ascent and 0 dot
6644 descent value to avoid displaying terribly tall empty boxes.
6645 (expose_area): Pass x-coordinate relative to the exposed
6646 area to x_draw_glyphs instead of a window-relative coordinate.
6647
21999ab9
GM
66482000-12-05 Gerd Moellmann <gerd@gnu.org>
6649
4d2036e4
GM
6650 * xdisp.c (next_element_from_ellipsis): Save face before selective
6651 display in saved_face_id, and set face_before_selective_p.
6652 (reseat_1): Reset face_before_selective_p.
6653 (append_space, extend_face_to_end_of_line): If iterator's
6654 face_before_selective_p is set, use the face from saved_face_id.
6655 (extend_face_to_end_of_line): For tty frames, make sure to
6656 use the right face id when producing spaces at the end of
6657 the line.
6658
6659 * dispextern.h (struct it): Add face_before_selective_p.
6660
52be17cc
GM
6661 * keyboard.c (record_char): Don't record identical help-echo
6662 events in recent_keys.
6663
8a4f36cc
GM
6664 * xterm.c [USE_X_TOOLKIT]: Close the display.
6665 (xim_close_dpy): Handle case that the display has been closed.
6666
57d6e381
GM
6667 * xterm.c (x_destroy_window): Reset the frame's X window after
6668 destroying it.
6669
21999ab9
GM
6670 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
6671 variable window_width.
6672 (line_draw_cost): Fix code skipping over spaces at the end of the
6673 line when must_write_spaces is not set.
6674 (scrolling_window): Fix code inserting runs in list of all runs.
6675
91372bb7
KH
66762000-12-05 Kenichi Handa <handa@etl.go.jp>
6677
6678 * coding.c (setup_coding_system): Be sure to initialize
6679 coding->category_idx.
6680
6c083b4c
GM
66812000-12-04 Gerd Moellmann <gerd@gnu.org>
6682
0c68ce6f 6683 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 6684
6452929e
GM
6685 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
6686 area to x_draw_glyphs instead of a window-relative coordinate.
6687
d7f31e22
GM
6688 * fileio.c (auto_save_error): Add parameter ERROR. Show the
6689 error in the message.
6690
ae18aa3b
GM
6691 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
6692 timer after having read a key. It's not good for code reading
6693 several keys in a loop, like an input method.
6694
caa15ef7
GM
6695 * fileio.c (Finsert_file_contents): When VISIT is t, don't
6696 record undo information for format-decode.
6697
6698 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
6699 current buffer is read-only, not if it isn't.
6700
6c083b4c
GM
6701 * keyboard.c (record_char): Record `help-echo' input events
6702 in recent_keys only if they display some help. Don't record
6703 `help-echo' events as macro char.
6704
caa15ef7
GM
67052000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
6706
6707 * editfns.c (save_excursion_restore): Don't move point
6708 in another window if it is showing the wrong buffer.
6709 Avoid the call to Fwindow_live_p, for speed.
6710
5a13529b
KH
67112000-12-04 Kenichi Handa <handa@etl.go.jp>
6712
e225faa7
KH
6713 * xfaces.c (struct font_name): New member registry_priority.
6714 (split_font_name): Initialize the above member to zero.
6715 (concat_font_list): New function.
6716 (font_list): Include fonts of all alternative registries.
6717 (FONT_POINT_SIZE_QUANTUM): New macro.
6718 (better_font_p): Ignore point size difference less than
6719 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
6720
e89648b4
KH
6721 * xterm.c (x_produce_glyphs): If a font for a component of
6722 a composition is not found, use 1 pixel dot ascent and 0 dot
6723 descent value to avoid displaying terribly tall empty boxes.
6724
5a13529b
KH
6725 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
6726
d7935eb6
KR
67272000-12-03 Ken Raeburn <raeburn@gnu.org>
6728
6729 * coding.h (code_convert_string1): Declare.
6730
6731 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
6732
52283633 6733 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 6734
0dd5e255
JR
67352000-12-02 Jason Rumney <jasonr@gnu.org>
6736
6737 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
6738 correctly for single byte character case.
6739 (w32_per_char_metric): Do not try to make any assumptions about
6740 the metrics of BDF fonts.
250cfece 6741 (x_estimate_mode_line_height): If `mode-line' face
52283633 6742 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
6743 (note_mouse_highlight): Change the cursor shape on the vertical
6744 border between windows [not enabled].
6745
6746 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
6747
6748 * w32fns.c (Fx_create_frame): Reintroduce the call to
6749 face-set-after-frame-defaults.
6750 (Vx_window_horizontal_drag_shape): New variable.
6751 (syms_of_xfns): DEFVAR_LISP it.
6752 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
6753 enabled].
0dd5e255 6754
b5d8d2ca
GM
67552000-12-02 Simon Josefsson <simon@josefsson.org>
6756
6757 * fns.c (Fmd5): Use a different logic to decide the coding system
6758 to use.
6759
6760 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
6761
fbb87147
EZ
67622000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
6763
52283633 6764 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 6765
447e9da0
GM
67662000-12-01 Gerd Moellmann <gerd@gnu.org>
6767
7708ced0
GM
6768 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
6769 height for YNegative.
6770 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
6771 height; also see comment there.
6772
447e9da0
GM
6773 * window.c (coordinates_in_window): Handle computations for
6774 positions on the vertical bar and fringes differently for
6775 window-system frames. Consider some pixels near the vertical bar
6776 as on the bar if the frame doesn't have vertical scroll bars.
6777 Associate positions between mode or header lines with the
6778 right window, the left one.
6779
86d1db20
JR
67802000-12-01 Jason Rumney <jasonr@gnu.org>
6781
6782 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
6783
6784 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
6785 invalid frame.
6786
a1d58e5b
GM
67872000-12-01 Gerd Moellmann <gerd@gnu.org>
6788
52283633 6789 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
6790 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
6791 (save_window_save, Fset_window_configuration): Save/restore
6792 window's orig_top and orig_height.
6793
89c609af
JR
67942000-12-01 Jason Rumney <jasonr@gnu.org>
6795
4d177746 6796 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 6797
89c609af
JR
6798 * w32fns.c (x_set_cursor_color): Fix last change.
6799
eccc05db
GM
68002000-11-30 Gerd Moellmann <gerd@gnu.org>
6801
31b6671b
GM
6802 * xdisp.c (echo_area_display): If cursor is in the echo area, make
6803 sure that the next redisplay displays the minibuffer, so that
6804 the cursor will be replaced with what the minibuffer wants.
6805
eccc05db
GM
6806 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
6807 #ifndef instead of using #if.
6808 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
6809 USE_TOOLKIT_SCROLL_BARS is defined.
6810
162de750
JR
68112000-11-30 Jason Rumney <jasonr@gnu.org>
6812
6813 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
6814 x_display_cursor.
6815
693c4692
GM
68162000-11-30 Gerd Moellmann <gerd@gnu.org>
6817
6818 * fns.c (Fmd5): Doc fix.
6819
b5d8d2ca 68202000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
6821
6822 * fns.c (Fmd5): New function.
6823 (syms_of_fns): Defsubr md5.
6824
6825 * Makefile.in (obj): Add md5.o
6826
b02cd40b
GM
68272000-11-30 Gerd Moellmann <gerd@gnu.org>
6828
edfb795e
GM
6829 * md5.h, md5.c: New files, taken from glibc.
6830
df3aedcf
GM
6831 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
6832
b02cd40b 6833 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 6834 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 6835
8b5176cd
SM
68362000-11-29 Stefan Monnier <monnier@cs.yale.edu>
6837
6838 * eval.c (Frun_hooks): Allow 0 arguments.
6839
346598f1
GM
68402000-11-29 Gerd Moellmann <gerd@gnu.org>
6841
f9396e03
GM
6842 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
6843 is over the menu bar widget, say it's not on the frame.
6844
4a967a9b
GM
6845 * xfns.c (Fx_create_frame): Reintroduce the call to
6846 face-set-after-frame-defaults.
6847
346598f1
GM
6848 * eval.c (Fsignal): Reset handling_signal.
6849
222456a1
JR
68502000-11-28 Jason Rumney <jasonr@gnu.org>
6851
6852 * w32menu.c (add_menu_item): Reset menu item text when changing
6853 type to radio button.
6854
8049ddc0
GM
68552000-11-28 Gerd Moellmann <gerd@gnu.org>
6856
346598f1 6857 * xselect.c: Update copyright.
f4f4ee4d 6858
bebe4a2c
GM
6859 * window.c (coordinates_in_window): If on a mode or header line,
6860 but sufficiently close to its start, return ``on vertical
6861 border''. This gives us a way to drag windows horizontally when
6862 using toolkit scroll bars.
6863
6864 * xterm.c (note_mouse_highlight): Change the cursor shape
6865 on the vertical border between windows.
6866
6867 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
6868
6869 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
6870 (syms_of_xfns): DEFVAR_LISP it.
6871 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
6872
8d2c2642
GM
6873 * textprop.c (text_read_only): New function.
6874 (verify_interval_modification): Use it instead of signaling
6875 `text-read-only'. This makes it easier to catch this error
52283633 6876 with a breakpoint.:
8d2c2642 6877
52283633 6878 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
6879 not end of line, which includes CR.
6880
5a2bae6c
KH
68812000-11-28 Kenichi Handa <handa@etl.go.jp>
6882
6883 * coding.c (Ffind_coding_systems_region_internal): Be sure to
6884 include no-conversion.
6885
ae31f84d
JR
68862000-11-27 Jason Rumney <jasonr@gnu.org>
6887
6888 * w32fns.c (w32_load_system_font): Always mark font as double byte
6889 if codepage is unicode.
6890
67f1cf4c
GM
68912000-11-27 Gerd Moellmann <gerd@gnu.org>
6892
4a74d071 6893 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 6894 just consume it to avoid unintended skipping over invisible text below.
4a74d071 6895
902ae620
GM
6896 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
6897 `vertical-line', `mode-line' and `header-line' events.
6898
6899 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
6900 of a character, a TAB for instance. This is easier than to set
6901 up the iterator exactly, and it's not a frequent case, so the
6902 additional effort wouldn't really pay off.
6903
c1e279c2
AC
69042000-11-26 Andrew Choi <akochoi@i-cable.com>
6905
67f1cf4c 6906 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
6907 init_window_once.
6908
a609568a
JR
69092000-11-25 Jason Rumney <jasonr@gnu.org>
6910
52283633
SM
6911 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
6912 Args to window_from_coordinates should be pixel coordinates.
48b21762 6913
a609568a
JR
6914 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
6915 redisplay handles them properly.
6916
a658d039
MB
69172000-11-25 Miles Bader <miles@gnu.org>
6918
6919 * indent.c (compute_motion): Keep pos_byte in sync with pos.
6920
d3416cca
JR
69212000-11-24 Jason Rumney <jasonr@gnu.org>
6922
6923 * w32.c (init_environment): Set LANG environment variable based on
6924 locale settings, if not set.
6925
6926 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
6927 making tool bar smaller. When clearing the frame, also
6928 clear current matrices. Clear frame when tool bar disappears.
6929 Don't use more lines for the tool-bar than is available.
6930 (x_change_window_heights): New function.
6931
ba193890
GM
69322000-11-24 Gerd Moellmann <gerd@gnu.org>
6933
2be8f184
GM
6934 * xdisp.c (init_from_display_pos): If POS says we're already after
6935 an overlay string ending at POS, make sure to pop the iterator
6936 because it will be in front of that overlay string. When POS is
6937 ZV, we've thereby also ``processed'' overlay strings at ZV.
6938
ba193890
GM
6939 * xfaces.c (lface_from_face_name): Function comment fix.
6940
1862a24e
MB
69412000-11-24 Miles Bader <miles@gnu.org>
6942
6943 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
6944 apply `mode-line-inverse-video' -- zero means force display using
6945 the default face, non-zero means display using the specialized face.
6946 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
6947
f07fa1b8
KH
69482000-11-23 Kenichi Handa <handa@etl.go.jp>
6949
6950 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
6951 hard coded `4'.
6952
2bcdf662
EZ
69532000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
6954
6955 * coding.c (decode_coding_emacs_mule): Fix the case of
6956 CODING_EOL_LF, which used uninitialized value of c.
6957
ba8299ff
SM
69582000-11-23 Stefan Monnier <monnier@cs.yale.edu>
6959
6960 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
6961
f4117c4d
GM
69622000-11-22 Gerd Moellmann <gerd@gnu.org>
6963
03e757c1
GM
6964 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
6965 buffer object.
6966
f4117c4d
GM
6967 * frame.h (struct frame): Replace desired_tool_bar_items,
6968 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 6969 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
6970
6971 * frame.c (make_frame): Change initialization of tool bar
6972 items accordingly.
6973
6974 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 6975 Change references to members deleted from struct frame to use the
f4117c4d
GM
6976 new ones.
6977
6978 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 6979 references to members deleted from struct frame to use the new ones.
f4117c4d 6980
52283633 6981 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
6982
6983 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
6984
6985 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 6986 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
6987 from struct frame to use the new ones.
6988
f8e2f3f2
MB
69892000-11-23 Miles Bader <miles@gnu.org>
6990
6991 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
6992 the face's inverse-video attribute, rather than overriding it.
6993
60e8e0a5
GM
69942000-11-22 Gerd Moellmann <gerd@gnu.org>
6995
6996 * xfns.c (x_set_tool_bar_lines): Clear internal border when
6997 making tool bar smaller.
6998
92dd1b29
DL
69992000-11-22 Dave Love <fx@gnu.org>
7000
7001 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
7002
e672fdce
MB
70032000-11-22 Miles Bader <miles@gnu.org>
7004
3a17d6cc
MB
7005 * keyboard.c (Vminibuffer_message_timeout): New variable.
7006 (command_loop_1): Use it to determine message timeout.
7007 (syms_of_keyboard): Initialize it.
7008
60e8e0a5 7009 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 7010
e9655d81
KH
70112000-11-22 Kenichi Handa <handa@etl.go.jp>
7012
7013 * sysdep.c: Move the code for declaring h_errno after #include
7014 <netdb.h>.
7015
77270fac
GM
70162000-11-21 Gerd Moellmann <gerd@gnu.org>
7017
cd913aae
GM
7018 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
7019 the menu bar when the tooltip is unmapped.
7020
77270fac
GM
7021 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
7022 sole visible buffer when we're currently in the mini-buffer, and
7023 give up if so.
52283633 7024
556635d6
JR
70252000-11-21 Jason Rumney <jasonr@gnu.org>
7026
7027 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
7028 put on the clipboard.
7029 (Fw32_get_clipboard_data): Compare data on clipboard with saved
7030 copy of what Emacs last put there. If they are the same, do not
52283633 7031 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 7032
5b7bde64
MB
70332000-11-22 Miles Bader <miles@gnu.org>
7034
7035 * minibuf.c (Vminibuffer_prompt_properties): New variable.
7036 (syms_of_minibuf): Initialize it.
7037 (read_minibuf): Add properties from Vminibuffer_prompt_properties
7038 to prompt, don't make read-only.
7039
ff23e1dd
GM
70402000-11-21 Gerd Moellmann <gerd@gnu.org>
7041
52283633
SM
7042 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
7043 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 7044
7aaf4388
GM
7045 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
7046
f5f47add 7047 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 7048
ff23e1dd
GM
7049 * term.c, cm.c: Don't try to include termcap.h; see comment there.
7050
37c35586
KH
70512000-11-21 Kenichi Handa <handa@etl.go.jp>
7052
7053 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
7054 ... #endif scope.
7055
ff9ab414
GM
70562000-11-20 Gerd Moellmann <gerd@gnu.org>
7057
52283633 7058 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
7059 screen supports it.
7060
29a01b72
GM
7061 * s/gnu-linux.h: Don't use `#cpu'.
7062
09dfdf85
GM
7063 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
7064 not defined in mman.h.
7065
52283633 7066 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
7067 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
7068 and store an index in the XClientMessageEvent. Storing a
7069 Lisp_Object or pointer can fail on a 64 bit system, since X only
7070 transfers 32 bits.
52283633
SM
7071 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
7072
81459ac9
DL
70732000-11-20 Dave Love <fx@gnu.org>
7074
7075 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
7076
56c13ae6
GM
70772000-11-20 Gerd Moellmann <gerd@gnu.org>
7078
7079 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
7080
495a6df3
KH
70812000-11-20 Kenichi Handa <handa@etl.go.jp>
7082
2bcf3714
KH
7083 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
7084 by WIDTH.
7085
495a6df3
KH
7086 * alloc.c (make_string): Fix previous change. Be sure to make
7087 unibyte string correctly.
7088
6d950f4c
GM
70892000-11-19 Gerd Moellmann <gerd@gnu.org>
7090
39b39373
GM
7091 * window.c (Fwindow_list): Change parameter list to be XEmacs
7092 compatible.
7093 (window_list_1): New function.
7094 (window_loop): Use it instead of Fwindow_list.
7095
b95b34e5
GM
7096 * sysdep.c (emacs_ospeed): New variable.
7097 (toplevel): Don't declare ospeed extern.
7098 (init_baud_rate): Use emacs_ospeed instead of ospeed.
7099
7100 * termcap.c (ospeed): Remove.
7101 (tputs) [!emacs]: Remove unused code.
7102 (tgetent): Avoid a compiler warning.
7103
e83dc917
GM
7104 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
7105 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 7106 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
7107
7108 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
7109 removed.
7110 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
7111 Take the X display as additional argument.
7112 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
7113 `Widget' is a pointer type that's not easily stored in Lisp_Object
7114 form in a portable way.
52283633 7115
6d950f4c
GM
7116 * dispnew.c (update_text_area): Fix last change.
7117
e47306e6
GM
71182000-11-18 Gerd Moellmann <gerd@gnu.org>
7119
fb3cd89b
GM
7120 * xdisp.c: Use BINDING_STACK_SIZE throughout.
7121
7122 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
7123 clear current matrices.
7124
edaa9aed
GM
7125 * buffer.c (mmap_enlarge): Don't print a message on stderr
7126 if mapping new memory at the end of the existing region fails.
7127
e47306e6
GM
7128 * dispnew.c (update_text_area): Don't skip over equal glyphs
7129 when the last current glyph overlaps the glyph to its right.
7130
509633e3
MB
71312000-11-18 Miles Bader <miles@gnu.org>
7132
7133 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
7134 lines that *end* with "..." too (that's the most common case!).
7135
d392e9c5
GM
71362000-11-18 Gerd Moellmann <gerd@gnu.org>
7137
67988445
GM
7138 * xdisp.c (resize_mini_window): Temporarily change to the
7139 mini-window's buffer if necessary.
1bfdbe43 7140
d392e9c5
GM
7141 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
7142 the tooltip obscures less text under it.
7143
71442000-11-17 Gerd Moellmann <gerd@gnu.org>
7145
7146 * puresize.h (BASE_PURESIZE): Increase to 700000.
7147
92bb977f
JR
71482000-11-18 Jason Rumney <jasonr@gnu.org>
7149
7150 * w32term.c (w32_draw_bitmap): Use face to set colors.
7151
26fbf20b
DL
71522000-11-17 Dave Love <fx@gnu.org>
7153
7154 * lread.c (Fload): Fix #ifdef for pcc.
7155
100b593b
GM
71562000-11-17 Gerd Moellmann <gerd@gnu.org>
7157
7158 * xdisp.c (pos_visible_p): Compute the default character height
7159 differently.
7160
a288d0d1
GM
71612000-11-16 Gerd Moellmann <gerd@gnu.org>
7162
cac94de6 7163 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 7164 knowing the line's height; use the default font's height in that case.
cac94de6 7165
a288d0d1
GM
7166 * xfaces.c (weight_table): Add `demi' with the same meaning as
7167 `demibold'.
7168
981fb6f6
KH
71692000-11-16 Kenichi Handa <handa@etl.go.jp>
7170
2cca872d 7171 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
7172 (clear_glyph_row): Delete local static variable null_row.
7173
e5fa381b
JR
71742000-11-15 Jason Rumney <jasonr@gnu.org>
7175
7176 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
7177 (w32_alloc_lighter_color): Use new brightness calculations from
7178 xterm.c. Scale delta to be in the range expected by W32.
7179 (w32_draw_relief_rect): Use frame relief colors.
7180
8e42f043
GM
71812000-11-15 Gerd Moellmann <gerd@gnu.org>
7182
6d133d1f
GM
7183 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
7184 (Qinhibit_default_face_x_resources): New variable.
7185 (syms_of_frame): Initialize it.
7186 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
7187
7188 * xdisp.c (pos_visible_p): Improve function comment.
7189
7190 * lisp.h (BINDING_STACK_SIZE): New macro.
7191
8e42f043
GM
7192 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
7193 reading the directory if readdir returns null and errno is EAGAIN
7194 or EINTR.
7195
e8c87124
SM
71962000-11-14 Stefan Monnier <monnier@cs.yale.edu>
7197
7198 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
7199 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
7200 Set amount_to_scroll to max of dx and scroll_step so that
7201 scroll-conservatively doesn't defeat scroll-step>1.
7202 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
7203 scroll-conservatively for line-at-a-time scrolling.
7204
5f0c971d
GM
72052000-11-14 Gerd Moellmann <gerd@gnu.org>
7206
7207 * window.c (Fpos_visible_in_window_p): Call pos_visible with
7208 extra argument.
7209
7210 * xdisp.c (current_mode_line_height, current_header_line_height):
7211 New variables.
7212 (init_xdisp): Initialize them.
7213 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
7214 and use exact mode line heights if it is set.
7215
7216 * lisp.h (pos_visible_p): Change prototype.
7217
7218 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
7219 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
7220 and current_header_line_height first.
52283633
SM
7221 (current_mode_line_height, current_header_line_height):
7222 Declare extern.
5f0c971d 7223
d7361edf
MB
72242000-11-14 Miles Bader <miles@lsi.nec.co.jp>
7225
7226 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
7227 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
7228 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
7229
ee5e440a
MB
72302000-11-14 Miles Bader <miles@gnu.org>
7231
7232 * xterm.c (x_alloc_lighter_color): Include an additive component
7233 too for dark colors, because FACTOR isn't enough.
7234 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
7235 New macros.
7236
5ca020fc
GM
72372000-11-13 Gerd Moellmann <gerd@gnu.org>
7238
7239 * keyboard.c (show_help_echo): Call message3_nolog with number of
7240 bytes in the help string as 2nd parameter, instead of the number
7241 of characters.
7242
9d348294
MB
72432000-11-13 Miles Bader <miles@gnu.org>
7244
7245 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
7246 (Fload): Use new openp return protocol.
7247 Don't try to use Vload_source_file_function to load .elc files.
7248 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
7249 openp return protocol.
7250 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
7251
1729bb9a
KH
72522000-11-11 Kenichi Handa <handa@etl.go.jp>
7253
4e677396
KH
7254 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
7255
7256 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
7257 Defined these macros.
7258 (NLIST_STRUCT): Avoid re-defining it.
7259
1729bb9a
KH
7260 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
7261 -I/usr/contrib/X11R6/include.
7262 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
7263
a82fe213
JR
72642000-11-10 Jason Rumney <jasonr@gnu.org>
7265
7266 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
7267
7268 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
7269 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
7270
7271 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
7272 (Qw32_charset_vietnamese): New symbol.
7273 (xlfd_charset_of_font): New function.
7274 (w32_load_system_font): Use it.
7275 (x_to_w32_charset): Use Fassoc to find charset info. Special case
7276 when Vw32_charset_info_alist is nil to ensure default face always
7277 has font. Use Fcar and Fcdr for safety.
7278 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
7279 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
7280 pseudo-codepages for special cases.
7281 (w32_to_x_font): New parameter to allow charset portion to be
7282 specified where there is many to one mapping. Callers changed.
7283 (w32_list_fonts): Avoid listing fonts that won't display.
7284
52d89894
GM
72852000-11-10 Gerd Moellmann <gerd@gnu.org>
7286
7287 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
7288 (font_list_1): Renamed from font_list.
7289 (font_list): New function, trying alternative registries from
7290 Vface_alternative_font_registry_alist.
7291 (Finternal_set_alternative_font_registry_alist): New function.
7292 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
7293 Vface_alternative_font_registry_alist.
7294 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 7295
651cd3da
KR
72962000-11-09 Ken Raeburn <raeburn@gnu.org>
7297
7298 * lisp.h (Flooking_at): Declare.
7299
388ac098
GM
73002000-11-09 Gerd Moellmann <gerd@gnu.org>
7301
778fbc46 7302 * dired.c (directory_files_internal): Fix a braino.
52283633 7303
388ac098
GM
7304 * dired.c (directory_files_internal): Add missing GCPRO's.
7305 Some cleanup.
7306
ecaedde1
GM
73072000-11-08 Gerd Moellmann <gerd@gnu.org>
7308
f7eb32aa
GM
7309 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
7310 (resize_mini_window): Return quickly if Vresize_mini_window is
7311 nil. Don't return if Vmax_mini_window_height is nil.
7312
7313 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
7314 (syms_of_xdisp): Initialize them.
7315 (resize_mini_window): Act according to the setting of
7316 Vresize_mini_window.
7317 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
7318
ecaedde1
GM
7319 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
7320 scroll bar widget after configuring it, so that it will appear at
7321 the right position from the start.
7322 (XTredeem_scroll_bar): Cleaned up.
7323
3747ef2c
KH
73242000-11-08 Kenichi Handa <handa@etl.go.jp>
7325
7326 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 7327 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
7328 division by two.
7329
7330 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
7331
03391420
DL
73322000-11-07 Dave Love <fx@gnu.org>
7333
7758f1c1 7334 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
7335
7336 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
7337
b5de343d
GM
73382000-11-07 Gerd Moellmann <gerd@gnu.org>
7339
acad3c0b
GM
7340 * window.c (Fset_window_configuration): Don't try to preserve
7341 point in the current buffer, if that buffer is displayed in more
7342 than one window.
7343
b5de343d
GM
7344 * xfaces.c (lookup_named_face): If default face isn't realized,
7345 try to realize it. Return -1 if not successful.
7346 (Fx_list_fonts): Handle case that face cannot be determined.
7347 (Fface_font): Likewise.
7348
cdb1fe49
GM
73492000-11-06 Gerd Moellmann <gerd@gnu.org>
7350
7351 * window.c (displayed_window_lines): Detect partially
7352 visible lines at the bottom correctly.
7353
d3a67486
SM
73542000-11-06 Stefan Monnier <monnier@cs.yale.edu>
7355
7356 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
7357 when ensuring we don't do visit in indirect buffer.
7358
ff8dd5d5
KH
73592000-11-06 Kenichi Handa <handa@etl.go.jp>
7360
7361 * composite.h (compose_chars_in_text): Add prototype.
7362
7363 * composite.c (Vcomposition_function_table): New variable.
7364 (Qcomposition_function_table): New variable.
7365 (run_composition_function): Call
7366 Vcompose_chars_after_function with three arguments.
7367 (compose_chars_in_text): New function.
7368 (syms_of_composite): Modified the doc-string of
7369 Vcompose_chars_after_function. Declare composition-function-table
7370 as a lisp variable, and initialize it.
7371
7372 * xfns.c (x_encode_text): Suppress producing escape sequences for
7373 composition.
7374
7375 * xselect.c: Include composite.h.
7376 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
7377
d1145f85
AI
73782000-11-05 Andrew Innes <andrewi@gnu.org>
7379
7380 * w32term.c (x_produce_glyphs): Fix typo in enum name.
7381
7382 * sysdep.c (read_input_waiting): Remove extraneous argument to
7383 read_socket_hook.
7384
7385 * w32fns.c (Fx_server_version): Include w32_build_number in the
7386 return list.
7387
7388 * w32heap.c (w32_build_number): New variable.
7389 (cache_system_info): Set it.
7390
7391 * w32heap.h (w32_build_number): Add extern.
7392
7393 * emacs.c (syms_of_emacs): Update docstring for
7394 system-configuration, to reflect the actual usage on MS-Windows.
7395
e85ee976
GM
73962000-10-31 Gerd Moellmann <gerd@gnu.org>
7397
26dcb81b
GM
7398 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
7399 process idle timers while waiting for another event.
7400
52283633 7401 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
7402 the default face are colored.
7403
e85ee976
GM
7404 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
7405 window height hasn't changed.
7406
01b220b6
JR
74072000-10-31 Jason Rumney <jasonr@gnu.org>
7408
7409 * w32term.c (x_produce_glyphs): Handle composite characters.
7410 (x_draw_glyph_string_foreground)
7411 (x_draw_composite_glyph_string_foreground): Restore old font.
7412
4e6b7204
MB
74132000-10-31 Miles Bader <miles@lsi.nec.co.jp>
7414
7415 * minibuf.c (read_minibuf): Reset the undo history just before
7416 starting the recursive-edit.
7417
d4358b37
GM
74182000-10-30 Gerd Moellmann <gerd@gnu.org>
7419
563f68f1
GM
7420 * xfaces.c (menu_face_change_count): New variable.
7421 (Finternal_set_lisp_face_attribute): Increment it for changes
7422 of the `menu' face.
7423 (realize_basic_faces): Reflect changes in the `menu' faces
7424 in menu bars.
7425
82e274d1
GM
7426 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
7427 dy obtained from the iterator's y-position after moving from
7428 scroll_margin_pos to PT; see comment there.
52283633 7429
0dbf9fd2
GM
7430 * xdisp.c (safe_eval_handler): Call add_to_log.
7431
906b3b14
GM
7432 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
7433 is not a symbol or string.
7434
d4358b37
GM
7435 * xdisp.c (echo_area_display): Don't perform a display update from
7436 inside redisplay. The update will happen anyway at the end of
7437 redisplay, and it can confuse redisplay (GC messages while
7438 redisplaying, for instance.)
7439
70c825df
SM
74402000-10-30 Stefan Monnier <monnier@cs.yale.edu>
7441
cf9b4b0b
SM
7442 * xrdb.c (x_load_resources): Use the class name in the defaults.
7443
70c825df
SM
7444 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
7445 (regex_compile): Catch bogus \(\1\).
7446
a1d34b1e
GM
74472000-10-30 Gerd Moellmann <gerd@gnu.org>
7448
cae71efe
GM
7449 * xterm.c (x_alloc_nearest_color): Fix last change to compare
7450 RGB values.
52283633 7451
35efe0a1
GM
7452 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
7453 we have a color cache, check that the cached color equals the
7454 allocated color. If not, clear the color cache.
7455
1d3baf74
GM
7456 * window.c (displayed_window_lines): Change buffers if necessary.
7457 Fix computation of displayed lines.
7458
a1d34b1e
GM
7459 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
7460 update_menu_bindings to DEFVAR_BOOL.
7461
70737ea9
KH
74622000-10-30 Kenichi Handa <handa@etl.go.jp>
7463
70c825df 7464 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 7465
fa0cb51d
KH
7466 * puresize.h (BASE_PURESIZE): Increase to 680000.
7467
70737ea9
KH
7468 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
7469
0e4c08e8
JR
74702000-10-29 Jason Rumney <jasonr@gnu.org>
7471
7472 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
7473
7474 * w32term.c (w32_bdf_per_char_metric): Negate descent.
7475 (w32_cache_char_metrics): Handle possibility that 'x' does not
7476 exist in a BDF font.
7477 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
7478
7479 * w32bdf.h (bdffont): Add nchars.
7480
7481 * w32bdf.c (set_bdf_font_info): Set it.
7482 (w32_BDF_TextOut): Swap byte order of double byte characters.
7483 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
7484
45b84006
EZ
74852000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
7486
7487 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
7488 don't override the colors in frame's param_alist, unless they are
7489 unspecified.
7490
7491 * term.c (reassert_line_highlight): If inverse_video is non-zero,
7492 reverse the effect of the highlight flag.
7493
caf9deee
KR
74942000-10-27 Ken Raeburn <raeburn@gnu.org>
7495
7496 * window.h (Fwindow_live_p): Declare.
7497
ae0b9b46
KR
7498 * undo.c (record_delete): Check that last_undo_buffer is really a
7499 buffer before applying XBUFFER to it.
7500
7501 * keymap.c (where_is_internal): Pass lisp object, not integer, to
7502 Faref.
7503
02067692
SM
75042000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7505
7506 * lisp.h (KEYMAPP): New macro.
7507 (get_keymap): Remove.
7508 (get_keymap_1): Rename get_keymap.
7509
7510 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
7511
7512 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
7513
7514 * xmenu.c (single_submenu): Use KEYMAPP.
7515 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7516 Use KEYMAPP rather than Fkeymapp.
7517
7518 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
7519
7520 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
7521 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7522 Use KEYMAPP rather than Fkeymapp.
7523 (single_submenu): Use KEYMAPP.
7524 (w32_menu_show, w32_dialog_show): Use TRUE.
7525
7526 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
7527
7528 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
7529 (Fkeymapp): Use KEYMAPP.
7530 (get_keymap): Rename from get_keymap_1. Remove old def.
7531 Return t when autoload=0 and error=0 and the keymap needs autoloading.
7532 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
7533 (Fminor_mode_key_binding): Don't raise an error if the binding
7534 is not a keymap.
7535 (Fuse_global_map, Fuse_local_map): Allow autoloading.
7536 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
7537
7538 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
7539 Allow Vspecial_event_map to be autoloaded.
7540 (menu_bar_items): Fetch the keymap rather than using keymapp.
7541 (menu_bar_one_keymap): No need to follow func-indirect any more.
7542 (parse_menu_item): get_keymap_1 -> get_keymap.
7543 (tool_bar_items): Fetch the keymap rather than using keymapp.
7544 (read_key_sequence): Use KEYMAPP.
7545
7546 * intervals.c (get_local_map): Use get_keymap rather than following
7547 function-indirections explicitly.
7548
7549 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
7550
f9d80af3
JR
75512000-10-27 Jason Rumney <jasonr@gnu.org>
7552
7553 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
7554 point, as Windows has oversized fonts.
7555
7556 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
7557
a3ba27da
GM
75582000-10-27 Gerd Moellmann <gerd@gnu.org>
7559
7560 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
7561 (freehook, reallochook): Handle null pointer arguments.
7562 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
7563
aa3b80cc
SM
75642000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7565
7566 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
7567 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
7568 Giving in to popular pressure to shut up the compiler with casts.
7569
e24e84cc
GM
75702000-10-27 Gerd Moellmann <gerd@gnu.org>
7571
7572 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
7573 signed value, and use a default value computed from the font's
7574 maximum descent.
7575
05ea7ef2
MB
75762000-10-27 Miles Bader <miles@lsi.nec.co.jp>
7577
7578 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
7579 that specify a negative underline position can still use underlines.
7580
7581 * window.c (Fpos_visible_in_window_p): Make POS default to
7582 WINDOW's point, not the current buffer's point.
7583
0b95284b
DL
75842000-10-26 Dave Love <fx@gnu.org>
7585
7586 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
7587 when it's necessary.
7588
6c5b90af
GM
75892000-10-26 Gerd Moellmann <gerd@gnu.org>
7590
8b6d9dc9
GM
7591 * window.c (size_window): Compute size difference from sum of old
7592 child window sizes instead of from parent's size.
7593
6bc92b2e
GM
7594 * xdisp.c (pos_visible_p): Change current buffer if necessary.
7595 Handle obscured lines at the top of the window.
7596
7597 * frame.c (Fdelete_frame): Doc fix. Move running the hook
7598 down after the last error condition check.
7599
6c5b90af
GM
7600 * frame.c (Fdelete_frame): Run delete-frame-hook.
7601
42f92d4d
KH
76022000-10-26 Kenichi Handa <handa@etl.go.jp>
7603
7604 * coding.c (decode_coding): Fix previous change (check also
7605 CODING_MODE_LAST_BLOCK).
7606
d97151cb
SM
76072000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7608
e7efc503
SM
7609 * regex.c: More `unsigned char' -> `re_char' changes.
7610 Also change several `int' into `re_wchar_t'.
7611 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
7612 (PUSH_FAILURE_POINTER): Don't cast any more.
7613 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
7614 We want GCC to complain, since this piece of code makes
7615 re_match non-reentrant, which *should* be fixed.
7616 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
7617 (EXTEND_BUFFER): Use RETALLOC.
7618 (SET_LIST_BIT): Don't cast.
7619 (re_wchar_t): New type.
7620 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
7621 that those two functions will always properly return.
7622 (IMMEDIATE_QUIT_CHECK): Cast to void.
7623 (analyse_first): Use recursion rather than an explicit stack.
7624 (re_compile_fastmap): Can't fail anymore.
7625 (re_search_2): Don't check re_compile_fastmap for failure.
7626 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
7627 Now also sets the new value (passed in a new argument).
7628 (re_match_2_internal): Use it.
7629 Also, use a new var `reg' of type size_t when looping through regs
7630 rather than reuse the inappropriate `mcnt'.
7631
d97151cb
SM
7632 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
7633 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
7634 (where_is_internal): Renamed from Fwhere_is_internal.
7635 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
7636 (Fwhere_is_internal): New function wrapping where_is_internal.
7637 (where_is_internal_1): Handle the case where we're filling the cache.
7638 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
7639
d5789b65
MB
76402000-10-25 Miles Bader <miles@gnu.org>
7641
7642 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
7643
4ecda532
GM
76442000-10-25 Gerd Moellmann <gerd@gnu.org>
7645
7646 * window.c (pos_fully_visible_p): Removed.
7647 (Fpos_visible_in_window_p): Use pos_visible_p to determine
7648 if position is visible and/or fully visible.
7649
7650 * lisp.h (pos_visible_p): Add prototype.
7651
7652 * xdisp.c (pos_visible_p): New function.
7653
68c3a137
KH
76542000-10-25 Kenichi Handa <handa@etl.go.jp>
7655
7656 * process.c (send_process): If OBJECT is t, it means that the data
7657 is from C string, but we should encode it. Before calling
7658 setup_raw_text_coding_system, be sure to flush out data by the
7659 previous coding system.
7660
7ae1c032
MB
76612000-10-25 Miles Bader <miles@lsi.nec.co.jp>
7662
ff4dcd4b
MB
7663 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
7664 assignment of startpos to prev when startpos == pos.
7665
7ae1c032
MB
7666 * editfns.c (find_field): Set the field stickiness correctly from
7667 overlay fields. Use renamed `text_property_stickiness'.
7668 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 7669 Only check text properties, not overlays.
7ae1c032
MB
7670 * textprop.c (get_char_property_and_overlay): New function.
7671 (Fget_char_property): Use it.
7672 * intervals.h (get_char_property_and_overlay): Add declaration.
7673
49801145
SM
76742000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7675
7676 * keymap.c: Use AREF, ASET and ASIZE macros.
7677 (Fmake_sparse_keymap): Docstring fix.
7678 (synkey): Remove.
7679 (shadow_lookup): Move up.
7680 Handle the case where lookup-key returns an integer.
7681 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
7682 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
7683 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
7684 Simplify/rewrite the keymap-finding code.
7685 Add check for command shadowing, using shadow_lookup.
7686
39e776cd
SM
76872000-10-24 Stefan Monnier <monnier@cs.yale.edu>
7688
7689 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
7690 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
7691 a symbol.
7692
2488aba5
AI
76932000-10-24 Andrew Innes <andrewi@gnu.org>
7694
7695 * dired.c (directory_files_internal_unwind): New function.
7696 (directory_files_internal): Use it to ensure closedir is called
7697 even if expand-file-name or file-attributes throw, eg. because of
7698 a user interrupt. Also enable immediate_quit while calling
7699 re_search, so that matching can be interrupted as well.
7700
b94fdf61
AI
77012000-10-24 Andrew Innes <andrewi@gnu.org>
7702
7703 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
7704 NT-Emacs only.
7705 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
7706 so that re_search functions only quit when callers expect them to.
7707
77082000-10-24 Kenichi Handa <handa@etl.go.jp>
7709
7710 * regex.c (regex_compile): Change the way of handling a range from
7711 a char less than 256 to a char not less than 256.
7712
1946f901
GM
77132000-10-24 Gerd Moellmann <gerd@gnu.org>
7714
7ae2f10f
GM
7715 * window.c (size_window): Prevent setting window's width or
7716 height to a negative value (esp. with XSETFASTINT).
7717
5dcab13e
GM
7718 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
7719 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
7720 (protect_malloc_state) [GC_MALLOC_CHECK &&
7721 GC_PROTECT_MALLOC_STATE]: New function.
7722 (PROTECT_MALLOC_STATE): New macro.
7723 (__malloc_initialize, morecore, _malloc_internal)
7724 (_free_internal) _realloc_internal): Use it to make _heapinfo
7725 read-only outside of gmalloc.
7726
63e1b552
GM
7727 * keymap.c: Update copyright.
7728
1946f901
GM
7729 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
7730 a symbol.
7731
4fa09beb
GM
77322000-10-24 Colin Walters <walters@cis.ohio-state.edu>
7733
7734 * filelock.c (unlock_all_files): Use unlock_file to expand each
7735 buffer's file_truename before trying remove its lock file.
7736
23afac01
EZ
77372000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
7738
7739 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
7740 or CRLF, decode EOLs.
7741
04448b95
KH
77422000-10-24 Kenichi Handa <handa@etl.go.jp>
7743
7744 * window.c (Fdisplay_buffer): Fix doc.
7745
3090a5a5
JR
77462000-10-23 Jason Rumney <jasonr@gnu.org>
7747
7748 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
7749 ASCII font of default fontset on Windows.
7750
7751 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
7752 xterm.c comment below).
7753
7754 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
7755
a83fee2c
GM
77562000-10-23 Gerd Moellmann <gerd@gnu.org>
7757
7758 * xterm.c (x_connection_closed): Reset handling_signal.
7759
52283633 7760 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 7761
6ffdb539
MB
77622000-10-23 Miles Bader <miles@gnu.org>
7763
7764 * window.c (window_scroll_pixel_based, window_scroll_line_based):
7765 Pass nil for FULLY argument to Fpos_visible_in_window_p to
7766 maintain old behavior.
7767 * minibuf.c (Fminibuffer_complete): Likewise.
7768
7f1c969b
MB
77692000-10-23 Miles Bader <miles@lsi.nec.co.jp>
7770
7771 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
7772 that when a font can't be exactly centered, it errs up rather than
7773 down.
7774
23afac01 77752000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 7776
52283633 7777 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 7778
1a578e9b
AC
77792000-10-23 Andrew Choi <akochoi@i-cable.com>
7780
7781 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
7782
7783 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 7784 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
7785
7786 * emacs.c (main) [macintosh]: Call syms_of_textprop,
7787 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
7788 syms_of_search, x_term_init, and init_keyboard before calling
7789 init_window_once. Also, call syms_of_xmenu.
7790
7791 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
7792 default fontset to Monaco.
7793
7794 * frame.c [macintosh]: Include macterm.h. Remove declarations of
7795 NewMacWindow and DisposeMacWindow.
7796 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
7797 instead of calling NewMacWindow and setting fields of
7798 f->output_data.mac directly. Call init_frame_faces.
7799 (Fdelete_frame) [macintosh]: Remove unused code.
7800 (Fmodify_frame_parameters) [macintosh]: Call
7801 x_set_frame_parameters instead of mac_set_frame_parameters.
7802
7803 * frame.h [macintosh]: Define menu_bar_lines field in struct
7804 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
7805
7806 * keyboard.c [macintosh]: Include macterm.h.
7807 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
7808 and menu_bar_activate_event type events as for X and NT.
7809 (make_lispy_event) [macintosh]: Construct lisp events of type
7810 MENU_BAR_EVENT as for X and NT.
7811
7812 * sysdep.c [macintosh]: Remove declaration for sys_signal.
7813 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
7814 (sys_subshell) [macintosh]: Remove definition entirely.
7815 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
7816 Vwindow_system_version here. Remove initialization of
7817 Vx_bitmap_file_path.
7818 (read_input_waiting): Correct the number of parameters passed to
7819 read_socket_hook.
7820 Move all Macintosh functions to mac/mac.c.
7821
7822 * term.c [macintosh]: Include macterm.h.
7823
7824 * window.c [macintosh]: Include macterm.h.
7825
7826 * xdisp.c [macintosh]: Include macterm.h. Declare
7827 set_frame_menubar and pending_menu_activation.
7828 (echo_area_display) [macintosh]: Do not return if terminal frame
7829 is the selected frame.
7830 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
7831 Allow only the selected frame to set menu bar.
7832 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
7833 calling FRAME_EXTERNAL_MENU_BAR (f).
7834 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
7835
7836 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
7837 and check_x. Declare XCreateGC. Define x_create_gc and
7838 x_free_gc. Initialize font_sort_order.
7839 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
7840 but call x_list_fonts instead of w32_list_fonts.
7841 (Finternal_face_x_get_resource) [macintosh]: Do not call
7842 display_x_get_resource.
7843 (prepare_face_for_display) [macintosh]: Set xgcv.font.
7844 (realize_x_face) [macintosh]: Load the font if it is specified in
7845 ATTRS.
52283633 7846 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 7847
1ffbabe3
SM
78482000-10-22 Stefan Monnier <monnier@cs.yale.edu>
7849
7850 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
7851 is nil: since we go to the end of submap anyway, we'd end up
7852 setting nil to nil.
7853 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
7854 doesn't obey autoload.
7855
bed43f1d
EZ
78562000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7857
1ffbabe3 7858 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 7859
ea4233a7
JR
78602000-10-21 Jason Rumney <jasonr@gnu.org>
7861
7862 * w32term.c (w32_cache_char_metrics): Double check that font is
7863 really fixed pitch before trusting tmPitchAndFamily.
7864
f3d3c491
AI
78652000-10-21 Andrew Innes <andrewi@gnu.org>
7866
7867 * w32gui.h (w32_char_font_type): Move enum from w32term.c
7868
7869 * w32term.h: Extern decl for w32_cache_char_metrics.
7870
7871 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
7872
7873 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
7874 (w32_unload_font): Free per_char array if present.
7875
7876 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
7877 cached information in emulated XFontStruct to handle common cases
7878 quickly. Do not allocate XCharStruct for return.
7879 (w32_native_per_char_metric): New function.
7880 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
7881 allocating one.
7882 (x_produce_glyphs): Don't get an HDC. Change calls to
7883 w32_per_char_metric to match arg change above. Remove calls to
7884 free results.
7885 (w32_get_glyph_overhangs): Ditto.
7886 (w32_cache_char_metrics): New function.
7887
7888 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
7889 ($(BLD)/casefiddle.$(O)): Remove compile command.
7890 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
7891 ($(BLD)/dispnew.obj):
7892 ($(BLD)/keyboard.obj):
7893 ($(BLD)/w32inevt.obj):
7894 ($(BLD)/w32bdf.obj):
7895 ($(BLD)/alloc.obj):
7896 ($(BLD)/buffer.obj):
7897 ($(BLD)/editfns.obj):
7898 ($(BLD)/emacs.obj):
7899 ($(BLD)/fileio.obj):
7900 ($(BLD)/fns.obj):
7901 ($(BLD)/indent.obj):
7902 ($(BLD)/insdel.obj):
7903 ($(BLD)/intervals.obj):
7904 ($(BLD)/minibuf.obj):
7905 ($(BLD)/print.obj):
7906 ($(BLD)/scroll.obj):
7907 ($(BLD)/sysdep.obj):
7908 ($(BLD)/textprop.obj):
7909 ($(BLD)/widget.obj):
f3d3c491
AI
7910 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
7911 ($(BLD)/term.obj): Add dependency on dispextern.h.
7912
52283633
SM
7913 * makefile.nt ($(BLD)\dispnew.obj):
7914 ($(BLD)\keyboard.obj):
7915 ($(BLD)\w32inevt.obj):
7916 ($(BLD)\w32bdf.obj):
7917 ($(BLD)\alloc.obj):
7918 ($(BLD)\buffer.obj):
7919 ($(BLD)\editfns.obj):
7920 ($(BLD)\emacs.obj):
7921 ($(BLD)\fileio.obj):
7922 ($(BLD)\fns.obj):
7923 ($(BLD)\indent.obj):
7924 ($(BLD)\insdel.obj):
7925 ($(BLD)\intervals.obj):
7926 ($(BLD)\minibuf.obj):
7927 ($(BLD)\print.obj):
7928 ($(BLD)\scroll.obj):
7929 ($(BLD)\sysdep.obj):
7930 ($(BLD)\textprop.obj):
7931 ($(BLD)\widget.obj):
f3d3c491
AI
7932 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
7933 ($(BLD)\term.obj): Add dependency on dispextern.h
7934
18ad4821
EZ
79352000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7936
7937 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
7938 with an additional argument of Qt.
7939
de54681a
MB
79402000-10-21 Miles Bader <miles@gnu.org>
7941
7942 * window.c (pos_fully_visible_in_window_p): New function.
7943 (Fpos_visible_in_window_p): Add FULLY argument.
7944 Use pos_fully_visible_in_window_p.
7945 (window_scroll_pixel_based, window_scroll_line_based): Update
7946 calls to Fpos_visible_in_window_p.
7947 * lisp.h (Fpos_visible_in_window_p): Update prototype
7948
13c844fb
GM
79492000-10-20 Gerd Moellmann <gerd@gnu.org>
7950
7951 * alloc.c (toplevel): Conditionalize compilation of mem_*
7952 functions differently.
52283633 7953
d9506268
JR
79542000-10-20 Jason Rumney <jasonr@gnu.org>
7955
7956 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
7957 mem_init where it used to be. mem_z etc not defined otherwise.
7958
8094989b
GM
79592000-10-20 Gerd Moellmann <gerd@gnu.org>
7960
7961 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
7962 GC_MALLOC_CHECK.
7963 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
7964 structure definition and related variabled to the top of the file.
7965 Include this code when GC_MALLOC_CHECK is defined.
7966 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
7967 register/unregister allocated region.
7968 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
7969 which isn't allocated.
7970 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
7971 something which is already in use.
7972 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
7973 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
7974 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
7975 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
7976
7977 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
7978 _malloc_internal instead of malloc.
7979 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
7980 of free.
7981
ea456eb4
AI
79822000-10-20 Andrew Innes <andrewi@gnu.org>
7983
7984 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
7985 Windows.
7986 (my_strftime) <macro>: Don't use macro arg list when redefining as
7987 _strftime_copytm.
7988 (my_strftime) <function>: Supply 0 as ut argument.
7989
e64c3a75
JR
79902000-10-19 Jason Rumney <jasonr@altavista.net>
7991
7992 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
7993 including dispextern.h, as it stops faces from working.
7994
7995 * w32fns.c (Fx_create_frame): Don't bother calling
7996 face-set-after-frame-default since the caller does it for us
7997 anyway. Clean up calls to x_get_arg to be consistent with X.
7998
7999 * w32term.c (x_produce_glyphs): Handle
8000 unibyte_display_via_language_environment correctly.
8001 (w32_draw_box_rect): Fix the calculation of width and height.
8002
8003 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
8004 as it has stopped working.
8005 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
8006 menu-bar.
8007
17401c97
GM
80082000-10-19 Gerd Moellmann <gerd@gnu.org>
8009
8010 * eval.c (skip_debugger): Prevent a compiler warning.
8011 (Fcondition_case): Likewise.
8012 (Fbacktrace_frame): Use a null interactive spec.
8013
773272d8
KH
80142000-10-19 Kenichi Handa <handa@etl.go.jp>
8015
8016 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
8017
a42943e9
GM
80182000-10-18 Gerd Moellmann <gerd@gnu.org>
8019
e50517d9
GM
8020 * strftime.c: Sync with glibc, file version 1.78.
8021 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
8022 should no longer be used according to ISO 8601.
8023
9035a35a
GM
8024 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
8025 no map for meta_prefix_char, don't try to use it as a keymap.
8026 Instead, if T_OK is non-zero, look up a default binding, if any,
8027 otherwise, if T_OK is zero, return nil.
8028
a42943e9
GM
8029 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
8030 (x_to_xcolors, png_load): Use x_query_color.
8031
52283633
SM
8032 * xterm.c (x_color_cells, x_query_colors, x_query_color):
8033 New functions.
a42943e9
GM
8034 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
8035 which can be slow.
8036 (x_copy_color, x_alloc_lighter_color): Likewise.
8037
8038 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
8039 (x_query_color, x_query_colors): Add prototype.
8040
8041 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
8042 check_string_bytes only if not noninteractive, increase count to 50.
8043
00de2987
MB
80442000-10-18 Miles Bader <miles@lsi.nec.co.jp>
8045
8046 * insdel.c (adjust_markers_for_delete): Handle before-insertion
8047 markers correctly.
8048
54918e2b
GM
80492000-10-17 Gerd Moellmann <gerd@gnu.org>
8050
1f0b3fd2
GM
8051 * alloc.c (pure_bytes_used): Renamed from pureptr.
8052 (ALIGN): New macro.
8053 (pure_alloc): New function.
8054 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
8055 Use it.
8056 (Fpurecopy): Use PURE_POINTER_P.
8057
68c5d1db
GM
8058 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
8059 PT has moved backward.
52283633 8060
9a038881
GM
8061 * xdisp.c (cursor_row_p): Take continued lines into account.
8062
361b097f
GM
8063 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
8064 string's size_byte.
8065 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
8066 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
8067 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
8068 string allocated.
8069
54918e2b
GM
8070 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
8071 of selective display off while searching for the next line start.
8072
03ed0806
KH
80732000-10-17 Kenichi Handa <handa@etl.go.jp>
8074
8075 * Makefile.in (term.o): Depend on dispextern.h.
8076
7e05cdaf
SM
80772000-10-16 Stefan Monnier <monnier@cs.yale.edu>
8078
8079 * keymap.c (keymap_memberp): Ensure that nil is not a member.
8080
a6801fd1
GM
80812000-10-16 Gerd Moellmann <gerd@gnu.org>
8082
483de32b
GM
8083 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
8084 the iterator at the beginning, so that they can be set later on,
8085 for instance in reseat_at_next_visible_line_start, without being
8086 overwritten.
8087
a6801fd1
GM
8088 * xfns.c (pbm_format): Add :foreground and :background keywords.
8089 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 8090 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 8091
dbf1fcc1
EZ
80922000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
8093
8094 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
8095
52283633 8096 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
8097
8098 * msdos.c (IT_set_face): Compare highlighted face with the default
8099 face, and invert colors if these faces' colors are identical.
8100 (Fmsdos_remember_default_colors): Don't swap foreground and
8101 background colors in initial_colors[].
8102 (IT_set_frame_parameters): Don't swap frame's foreground and
8103 background pixels. If ALIST includes "(reverse . t)", swap
8104 foreground-color and background-color properties in frame's
8105 param_alist. If the original frame's param_alist doesn't specify
8106 the colors, store unspecified-fg and unspecified-bg, reversed if
8107 required.
8108
8109 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
8110 the colors are unspecified and reversed, reverse fore- and back-
8111 ground in the returned value.
8112 (Fframe_parameter): Ditto.
8113
b41fe2c3 81142000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 8115
3a6b59d9
GM
8116 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
8117 get_last_unchanged_at_beg_row.
8118 (find_first_unchanged_at_end_row): Renamed from
8119 get_first_unchanged_at_end_row.
8120 (find_first_unchanged_at_end_row): Convert assertions to
8121 unconditional tests which abort. When looking for a row in
8122 unchanged text, don't go further back than first_text_row.
8123
b41fe2c3
GM
8124 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
8125 Don't add in the last line's height when deciding if the new
8126 position is below the scroll margin.
9d1af64f 8127
b41fe2c3 81282000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
8129
8130 * editfns.c (Fconstrain_to_field): Check carefully for field
8131 boundaries if either OLD_POS or NEW_POS has a non-nil field
8132 property, even if they're the same.
8133
c412cb7b
KH
81342000-10-16 Kenichi Handa <handa@etl.go.jp>
8135
8136 * xterm.c (x_draw_box_rect): Fix the calculation of width and
8137 height for XFillRectangle.
8138
5586f3eb
SM
81392000-10-15 Stefan Monnier <monnier@cs.yale.edu>
8140
8141 * syntax.c (Fstring_to_syntax): New function extracted from
8142 Fmodify_syntax_entry.
8143 (Fmodify_syntax_entry): Use it and document the ! and | fences.
8144 (skip_chars, Fforward_comment): Remove unused variables.
8145 (syms_of_syntax): Add defsubr for string-to-syntax.
8146 (describe_syntax): Add code for comment and string fences.
8147
db785038
SM
81482000-10-14 Stefan Monnier <monnier@cs.yale.edu>
8149
8150 * keymap.c (access_keymap): Add AUTOLOAD parameter.
8151 Do the meta->esc mapping. Call get_keyelt before returning.
8152 Start scanning from the second element (the first is always `keymap')
8153 to make it easier to detect when we reach a parent map.
8154 Handle the case of inheriting from a symbol whose function is a map.
8155 (Fkeymap_parent): Also handle the `inherit from symbol' case.
8156 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
8157 (get_keyelt, Flookup_key): Update call to access_keymap.
8158 Remove the meta->esc mappings.
8159 (define_as_prefix): Delete old disabled code.
8160 (menu_item_p): New function.
8161 (where_is_internal_1): Skip over the few remaining menu items.
8162 * lisp.h (access_keymap): Update prototype.
8163 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
8164 Update call to access_keymap.
8165 (follow_key, read_key_sequence): Update calls to access_keymap.
8166 Remove the meta->esc mappings.
8167
cafafe0b
GM
81682000-10-13 Gerd Moellmann <gerd@gnu.org>
8169
a2e2a7f6
GM
8170 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
8171 with additional argument.
8172
cafafe0b
GM
8173 * xdisp.c (cursor_row_p): New function.
8174 (try_cursor_movement, display_line): Use it.
52283633 8175
cafafe0b
GM
8176 * xdisp.c (append_space): Also save/restore iterator's current
8177 character and its length.
8178
8179 * xdisp.c (init_from_display_pos): Add an assertion.
8180 (handle_stop): Don't set iterator's add_overlay_start.
8181 (handle_invisible_prop): Likewise.
8182 (load_overlay_strings): If text under an overlay is invisible,
8183 take both before- and after-strings into account when the iterator
8184 is positioned either at the start or at the end of the overlay.
8185 (forward_to_next_line_start): Rewritten.
8186 (reseat_at_next_visible_line_start): Rewritten.
8187 (set_iterator_to_next): Add parameter RESEAT_P.
8188
8189 * dispextern.h (struct it): Remove member add_overlay_start.
8190 (set_iterator_to_next): Change prototype.
8191
c744452b
KH
81922000-10-13 Kenichi Handa <handa@etl.go.jp>
8193
8194 * coding.c (code_convert_region): Be sure to initialize
8195 coding->category_idx.
e4a3f4e1
KH
8196 (decode_coding_string): Set coding->src_multibyte and
8197 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
8198 (encode_coding_string): Set coding->src_multibyte and
8199 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 8200
321fd26f
SM
82012000-10-12 Stefan Monnier <monnier@cs.yale.edu>
8202
8203 * xfns.c (Fx_create_frame): Don't bother calling
8204 face-set-after-frame-default since the caller does it for us anyway.
8205
76832439
EZ
82062000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
8207
8208 * window.c (coordinates_in_window): Fix detection of vertical line
8209 on character terminals.
8210
2483cf58
GM
82112000-10-12 Gerd Moellmann <gerd@gnu.org>
8212
8213 * editfns.c (save_excursion_save): Additionally record the
8214 selected window.
8215 (save_excursion_restore): If buffer was visible in a window, and a
8216 different window was selected, and the old selected window is
8217 still live, restore point in that window.
8218
eb991b25
KH
82192000-10-12 Kenichi Handa <handa@etl.go.jp>
8220
8a0eba09
KH
8221 * xterm.c (x_produce_glyphs): Handle
8222 unibyte_display_via_language_environment correctly.
8223
20401fcc
KH
8224 * regex.c (regex_compile): Change the way of handling a range from
8225 unibyte char to multibyte char.
8226
8227 * syntax.c (skip_chars): Change the way of handling a range from
8228 unibyte char to multibyte char.
8229
eb991b25
KH
8230 * process.c (read_process_output): Cancel previous change.
8231
365dd325
EZ
82322000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
8233
c1b096cb
EZ
8234 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
8235
365dd325
EZ
8236 * charset.c (Ffind_charset_string): Doc fix.
8237 (Ffind_charset_region): Doc fix.
8238
eb483c2b
KH
82392000-10-11 Kenichi Handa <handa@mule.m17n.org>
8240
8241 * process.c (read_process_output): Fix previous change. Adjust
8242 multibyteness of text to insert in a buffer by
52283633 8243 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 8244
b40bfb99
AS
82452000-10-10 Andreas Schwab <schwab@suse.de>
8246
8247 * alloc.c (mark_object): Remove all workarounds installed on
8248 1993-08-08.
8249
caff31d4
KH
82502000-10-10 Kenichi Handa <handa@etl.go.jp>
8251
52283633 8252 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
8253 (base64_encode_1): Make it work for a text of multibyte form.
8254 (Fbase64_decode_region): Allocate sufficient memory for multibyte
8255 case. Don't call str_to_multibyte because base64_decode_1
8256 produces correct multibyte form for eight-bit codes.
52283633 8257 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
8258 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
8259 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
8260 codes.
8261
8262 * charset.h (CHAR_STRING): Optimized for single byte characters.
8263
cba026ef
AS
82642000-10-09 Andreas Schwab <schwab@suse.de>
8265
8266 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
8267 -1 after socket is closed, to fall through to error processing.
8268
1e21fe48
EZ
82692000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
8270
8271 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 8272 variables. If ALIST includes foreground-color or
1e21fe48
EZ
8273 background-color, change also the colors of the default face for
8274 this frame.
8275
a640322e
EZ
82762000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
8277
8278 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
8279 them extern (they are defined on xfaces.c).
8280 (syms_of_msdos): Don't intern and don't staticpro
8281 Qbackground_color and Qforeground_color.
8282
a115794c
EZ
82832000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
8284
8285 * frame.c (Fframe_parameter): For non-windowed frames, if
8286 f->param_alist says foreground or background color is unspecified,
8287 call tty_color_name to return the color name computed from the
8288 frame's current colors.
8289
f5533b63
DL
82902000-10-06 Dave Love <fx@gnu.org>
8291
8292 * terminfo.c (ospeed): Don't declare.
8293
8294 * sysdep.c: Don't include string.h.
8295 (h_errno): Declare conditional also on TRY_AGAIN.
8296
8297 * charset.c (Ffind_charset_string): Doc fix.
8298
52283633 8299 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
8300 (Fbase64_decode_region, Fbase64_decode_string): More explicit
8301 error messages.
8302
2b06561a
DL
83032000-10-05 Dave Love <fx@gnu.org>
8304
8305 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
8306 position like menu-bar.
8307
ca839c85
GM
83082000-10-05 Gerd Moellmann <gerd@gnu.org>
8309
8310 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
8311
8312 * xdisp.c (handle_single_display_prop): Use safe_call1.
8313 (safe_call): Renamed from call_function.
8314 (safe_call1): New function.
8315 (handle_fontified_prop): Use safe_call1 instead of call1.
8316 (safe_eval): Renamed from eval_form.
8317 (safe_eval_handler): Renamed from eval_handler.
8318 (handle_single_display_prop, display_mode_element): Use safe_eval
8319 instead of eval_form.
8320
8321 * xfaces.c (merge_face_heights): Use safe_call instead of
8322 call_function.
8323
8324 * keyboard.c (show_help_echo): Use safe_call instead of
8325 call_function; use safe_eval instead of eval_form.
8326
8327 * lisp.h (safe_call): Renamed from call_function.
8328 (safe_eval): Renamed from eval_form.
8329 (safe_call1): Add prototype.
8330
a3489ece
MB
83312000-10-05 Miles Bader <miles@lsi.nec.co.jp>
8332
8333 * xfns.c (image_ascent): Rearrange ascent calculation for the
8334 has-a-font case.
8335
35810b6f
SM
83362000-10-04 Stefan Monnier <monnier@cs.yale.edu>
8337
8338 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
8339 (where_is_internal_1): Don't bother ignoring menu-items any more.
8340
3dc78168
GM
83412000-10-04 Gerd Moellmann <gerd@gnu.org>
8342
8343 * keyboard.c (update_menu_bindings): New variable.
8344 (parse_menu_item): Use AREF. If update_menu_bindings
8345 is 0, don't update menu bindings.
8346 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
8347
1efc2bb9
EZ
83482000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
8349
8350 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
8351 to `mark_object'.
8352
3f679f55
SM
83532000-10-02 Stefan Monnier <monnier@cs.yale.edu>
8354
8355 * syntax.c (forw_comment): Match nestedness of ender/starter.
8356 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
8357 (prev_char_comstart_first): Remove.
8358 (back_comment): Check two-char comment markers more carefully
8359 to better handle overlapping cases like *//* or /* */* */ ...
8360 Match nestedness of ender/starter.
8361
2021ab61
DL
83622000-10-02 Dave Love <fx@gnu.org>
8363
8364 * config.in (HAVE_GAI_STRERROR): Add undef.
8365
8366 * process.c (Fopen_network_stream): Use it.
8367
8368 * m/alpha.h (NO_REMAP): Don't define.
8369
64e6cc18
GM
83702000-10-02 Gerd Moellmann <gerd@gnu.org>
8371
8372 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
8373 return with a string converted to an integer or vice versa when
8374 Vmocklisp_arguments is t.
8375 (Fsignal): Likewise. The function can return for `quit'.
8376 (struct gcpro): Declare member `var' to point to a volatile
8377 Lisp_Object.
8378
8379 * eval.c (error): Prevent compiler warning.
8380
b1904cd9
SM
83812000-09-30 Stefan Monnier <monnier@cs.yale.edu>
8382
8383 * keymap.c (keymap_memberp): New function.
8384 (Fset_keymap_parent): Use it.
8385 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
8386 Use keymap_memberp to avoid creating cycles.
8387 (access_keymap): Use KEYMAPP.
8388
71c9ec51
GM
83892000-09-30 Gerd Moellmann <gerd@gnu.org>
8390
8391 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
8392 gai_strerror. Make sure xerrno is set if connect fails. Improve
8393 error recovery.
71c9ec51 8394
c70c6b58
JR
83952000-09-29 Jason Rumney <jasonr@gnu.org>
8396
8397 * w32term.c (w32_char_font_type, w32_encode_char)
8398 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
8399 (w32_bdf_per_char_metric): New function.
8400 (w32_per_char_metric): Use it.
8401 (x_draw_glyph_string_background): Always draw background for BDF
8402 glyphs.
8403
8404 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
8405 GDI object which is a scarce resource.
8406
8407 * w32bdf.c (search_file_line): Fix skipping of whitespace.
8408 (get_quoted_string): Fix limit on memchr search.
8409 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
8410 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
8411 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
8412 (get_cached_font_char, cache_char_offset): Use macro
8413 BDF_CODEPOINT_RANGE_COVER_P.
8414 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
8415 (clear_cached_bitmap_slots): New function.
8416 (GET_HEX_VALUE): G-Z, g-z are not hex.
8417 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
8418 (get_bitmap_with_cache): Use new cache implementation.
8419 (create_offscreen_bitmap): New function.
8420 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
8421
8422 * w32term.c (x_produce_glyphs): If the distance from the current
8423 position to the next tab stop is less than a canonical character
8424 width, use the tab stop after that.
8425 (x_draw_glyphs): Handle case START and END are out of bounds more
8426 carefully.
8427 (x_clear_mouse_face): Block/unblock input.
8428 (x_display_and_set_cursor): Don't show a hollow box cursor for
8429 buffers whose cursor_type is nil.
8430
fe01239f
GM
84312000-09-29 Gerd Moellmann <gerd@gnu.org>
8432
52283633 8433 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
8434
8435 * dispextern.h (updating_frame): Declare extern.
8436
e7c52f1f
AS
84372000-09-29 Andreas Schwab <schwab@suse.de>
8438
8439 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
8440
de6e1f7c
GM
84412000-09-29 Gerd Moellmann <gerd@gnu.org>
8442
25126faa
GM
8443 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
8444 use its function definition.
8445 (tool_bar_items): Likewise.
8446
de6e1f7c 8447 * lisp.h (fatal): Declare NO_RETURN.
52283633 8448
454ee39b
KH
84492000-09-29 Kenichi Handa <handa@etl.go.jp>
8450
8451 * keymap.c: Remove the line "#undef NULL".
8452
96301c5f
GM
84532000-09-28 Gerd Moellmann <gerd@gnu.org>
8454
52283633 8455 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 8456
efffeeb4
DL
84572000-09-28 Dave Love <fx@gnu.org>
8458
ecb8b666
DL
8459 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
8460
dc3cd20f
DL
8461 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
8462
8463 * .gdbinit (xreload): Note its need on GNU/Linux.
8464
efffeeb4
DL
8465 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
8466 r_alloc, r_alloc_free.
8467
8610d903
KH
84682000-09-28 Kenichi Handa <handa@etl.go.jp>
8469
8470 * syntax.c (skip_chars): Handle negation correctly.
8471
8901d1ac
GM
84722000-09-27 Gerd Moellmann <gerd@gnu.org>
8473
6f22f1ad
GM
8474 * xfaces.c (realize_default_face): Call set_lface_from_font_name
8475 with non-zero FORCE_P argument.
8476
52283633 8477 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
8478 Add assertions.
8479
8480 * xdisp.c (window_box_height): Add an assertion.
8481
8482 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
8483 tool-bar than is available.
8484 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
8485
36f1966f
DL
84862000-09-27 Dave Love <fx@gnu.org>
8487
efffeeb4 8488 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 8489
31d929e5
GM
84902000-09-26 Gerd Moellmann <gerd@gnu.org>
8491
c98863bf
GM
8492 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
8493 instead of BITS_PER_INT.
8494 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
8495 EMACS_UINT, respectively.
8496 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
8497
8498 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
8499
8500 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
8501
77072ab1
GM
8502 * window.c (freeze_window_starts): Construct last argument for
8503 foreach_window differently.
8504
8505 * xfns.c (x_decode_color): Don't return a Lisp_Object.
8506
8507 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
8508 EMACS_UINT instead of `int' and `unsigned int'.
8509 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
8510
8511 * frame.h (struct frame): Make the `nothing' member of union
8512 output_data an EMACS_INT.
8513
52283633 8514 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
8515 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
8516 size in the sdata structure.
8517 (SDATA_NBYTES, SDATA_DATA): New macros.
8518 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
8519 differently for the different layout of the sdata structure.
8520 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
8521 in sdata.
8522 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
8523 Check that size recorded in the string size and size recorded in
8524 the sdata structure agree.
8525
3e60b029
DL
85262000-09-25 Dave Love <fx@gnu.org>
8527
8528 * buffer.c: Include stdio.h.
8529
8530 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 8531
3e60b029
DL
8532 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
8533
8534 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 8535 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
8536 (__malloc_extra_blocks): Declare as __malloc_size_t.
8537
8ff16b4e
GM
85382000-09-25 Gerd Moellmann <gerd@gnu.org>
8539
755a2ccd
GM
8540 * alloc.c (mark_image): Use GC_NILP instead of NILP.
8541
d8b4516f
GM
8542 * keyboard.c (show_help_echo): Set help_echo_showing_p.
8543 (read_char): If help-echo is showing, preserve the echo area
8544 when redisplaying.
8545
8546 * xdisp.c (help_echo_showing_p): New variable.
8547 (set_message): Reset it to 0.
8548 (init_xdisp): Initialize help_echo_showing_p.
8549
8550 * dispextern.h (help_echo_showing_p): Declare extern.
8551
8552 * config.in: Fix typo in __GNUC_MINOR__.
8553
8554 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
8555
b11af2dd
GM
8556 * s/freebsd.h (POSIX_SIGNALS): Define.
8557
8ff16b4e
GM
8558 * xterm.c (x_clear_mouse_face): Block/unblock input.
8559
844eb643
DL
85602000-09-24 Dave Love <fx@gnu.org>
8561
8562 * fns.c (base64_encode_1): Fix last change.
8563
b30ab1b3
GM
85642000-09-22 Gerd Moellmann <gerd@gnu.org>
8565
8566 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
8567
8568 * xdisp.c (try_window_reusing_current_matrix): More fixes
8569 for the case window has a header-line.
8570
c6cbe5f0
DL
85712000-09-22 Dave Love <fx@gnu.org>
8572
4c7c1f3f
DL
8573 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
8574 a doc string.
8575
8576 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
8577
c6cbe5f0
DL
8578 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
8579
550a625e
GM
85802000-09-21 Gerd Moellmann <gerd@gnu.org>
8581
4c7c1f3f 8582 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
8583 for GCC >= 2.5.
8584
52283633
SM
8585 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
8586 Declare NO_RETURN.
fca99116 8587
80d26f99
GM
8588 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
8589 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
8590 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
8591 warnings.
52283633 8592
80d26f99
GM
8593 * marker.c (byte_char_debug_check): Return void.
8594
623a0aae
GM
8595 * xfns.c (Fx_create_frame): Set default frame parameter value
8596 for tool-bar-lines to 1.
8597
8598 * dispnew.c (scrolling_window): Compare y-positions of rows
8599 equal at the start. Some simplification.
8600
8601 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
8602 reused rows' y-position in the case window has a header-line, and
8603 new window start is greater than old window start.
8604
42ac0ae5
GM
8605 * process.c (process_sent_to): New variable.
8606 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
8607 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
8608 Declare more parameters volatile.
8609
550a625e
GM
8610 * lread.c (Vrecursive_load_depth_limit): New variable.
8611 (Fload): Check recursive loads whose recursion depth exceeds
8612 Vrecursive_load_depth_limit.
8613 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
8614
8320414c
GM
86152000-09-20 Gerd Moellmann <gerd@gnu.org>
8616
f46c275e
GM
8617 * fileio.c (Fread_file_name): Doc fix.
8618
8619 * editfns.c (Fmessage_or_box): Doc fix.
8620
8621 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
8622
b7e11c5b 8623 * xfns.c (xbm_scan): Allow C-style comments.
52283633 8624
8320414c
GM
8625 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
8626 symbols are specified, add color translations to the cache.
52283633 8627 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
8628 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
8629 xpm_cache_color.
8630 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
8631 structures to xpm_init_color_cache.
8632
da1608d9
GM
86332000-09-19 Gerd Moellmann <gerd@gnu.org>
8634
52283633 8635 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 8636
6badfa25
AI
86372000-09-19 Andrew Innes <andrewi@gnu.org>
8638
8639 * makefile.nt (bootstrap-emacs): Don't change directory.
8640
3a5f42bb
KH
86412000-09-19 Kenichi Handa <handa@etl.go.jp>
8642
1b7649bd
KH
8643 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
8644
3a5f42bb
KH
8645 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
8646 If output buffer is too small, signal an appropriated error.
8647
9f83cf0b
DL
86482000-09-18 Dave Love <fx@gnu.org>
8649
52283633 8650 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
8651 (current_active_maps): Remove redundant get_local_map call.
8652
28c7826c
GM
86532000-09-18 Gerd Moellmann <gerd@gnu.org>
8654
5cefa566
GM
8655 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
8656 cursor for buffers whose cursor_type is nil.
52283633 8657
6fed3546
GM
8658 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
8659 a feature to implement that is already implemented.
8660 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
8661 warnings.
8662
8663 * xfns.c (x_clear_image_1): New function.
8664 (x_clear_image): Use it.
52283633 8665 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 8666
05b1f851
GM
8667 * dispnew.c (update_window): Move test for invisible lines
8668 at the top to update_window_line.
8669 (update_window_line): Handle invisible lines here.
8670
f4779de9
GM
8671 * xfns.c (clear_image_cache): Clear current matrices of all
8672 frames sharing an image cache. Block input while freeing
8673 images. Fix timestamp comparison.
8674 (x_clear_image): Also free the mask.
8675
28c7826c
GM
8676 * xfns.c (lookup_image): Block input while loading the image so
8677 that we won't get interrupted in a state where the image isn't yet
8678 set up completely.
8679 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
8680 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
8681 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 8682 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 8683
b7412313
GM
86842000-09-16 Gerd Moellmann <gerd@gnu.org>
8685
8686 * dispnew.c (update_window): Make sure to make desired rows
8687 current even if they are completely invisible at the top
8688 of a window.
8689
47e351a3
GM
86902000-09-15 Gerd Moellmann <gerd@gnu.org>
8691
7f8f1edc
GM
8692 * xfns.c (lookup_image): Build mask before applying an algorithm.
8693 Recognize algorithm `disabled'.
8694 (cross_disabled_images): New variable.
8695 (COLOR_INTENSITY): New macro.
8696 (x_detect_edges): Use COLOR_INTENSITY.
8697 (x_disable_image): New function.
8698 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
8699
8700 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
8701 disabled state, don't apply an image transformation algorithm if
8702 the user specified an image for the disabled state. Use
28c7826c 8703 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
8704 user hasn't specified an image.
8705
ebb8f116
GM
8706 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
8707 allocation functions with the XPM lib.
8708 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
8709 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
8710 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
8711 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 8712 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
8713 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
8714 functions, if possible, because these handle color allocation
8715 failure more gracefully.
8716 (Fimage_mask_p): New function.
8717
47e351a3
GM
8718 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
8719 (Qedge_detection, Qheuristic): New symbols.
8720 (syms_of_xfns): Initialize new symbols.
8721 (lookup_image): Handle `:mask X', `:algorithm emboss', and
8722 `algorithm (edge-detection ...)'.
8723 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
8724 (tiff_format, gif_format, gs_format): Add `:mask'.
8725 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
8726 (GIF_MASK, GS_MASK): New enumerators.
8727 (x_laplace_read_row, x_laplace_write_row): Functions removed.
8728 (emboss_matrix, laplace_matrix): New variables.
8729 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
8730 (x_edge_detection): New functions.
8731 (x_laplace): Rewritten in terms of x_detect_edges.
8732 (x_build_heuristic_mask): If image has a mask, free it.
8733
fe83b953
AI
87342000-09-14 Andrew Innes <andrewi@gnu.org>
8735
8736 * makefile.w32-in: Revert to Unix line endings.
8737
3021e816
AI
87382000-09-14 Andrew Innes <andrewi@gnu.org>
8739
8740 * makefile.w32-in: Standardize indentation somewhat.
8741 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
8742 cater for differences between shells.
8743
8744 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
8745
2a32b5ea
GM
87462000-09-14 Gerd Moellmann <gerd@gnu.org>
8747
8748 * xterm.c (x_produce_glyphs): If the distance from the current
8749 position to the next tab stop is less than a canonical character
8750 width, use the tab stop after that.
8751
b4331e96
DL
87522000-09-14 Dave Love <fx@gnu.org>
8753
8754 * buffer.c (alloc_buffer_text): Fix xmalloc call.
8755
ef9e4345
GM
87562000-09-14 Gerd Moellmann <gerd@gnu.org>
8757
085536c2
GM
8758 * xdisp.c (handle_fontified_prop): While running fontification
8759 functions, bind `fontification-functions' and
8760 `after-change-functions' to nil.
8761
ef9e4345
GM
8762 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
8763 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
8764
8765 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
8766
8767 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
8768 USE_MMAP_FOR_BUFFERS.
8769
8770 * insdel.c (make_gap): Use enlarge_buffer_text.
8771
8772 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
8773 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
8774 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
8775 from former r_alloc_* functions in ralloc.c.
52283633 8776 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
8777 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
8778 (mmap_init) [REL_ALLOC_MMAP]: New function.
8779 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
8780 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
8781 BUFFER_FREE.
8782
8783 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
8784 (enlarge_buffer_text): Add prototype.
8785
8786 * ralloc.c: Remove everything having to do with the use of mmap.
8787
f8608968
GM
87882000-09-13 Gerd Moellmann <gerd@gnu.org>
8789
2a494b2d
GM
8790 * sound.c (Fplay_sound): Doc fix.
8791
8c907a56
GM
8792 * keyboard.c: Avoid some more compiler warnings.
8793 (parse_tool_bar_item): Ignore cached key bindings.
8794
f8608968
GM
8795 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
8796 and allocation of Lisp data.
8797
6ab70e9a
GM
87982000-09-12 Gerd Moellmann <gerd@gnu.org>
8799
d12d0a9b
GM
8800 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
8801 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
8802 defaults first.
8803
6ab70e9a
GM
8804 * lread.c (Fload): Put code checking for recursive loads in #if 0.
8805
63c36c3c
KH
88062000-09-12 Miyashita Hisashi <himi@meadowy.org>
8807
8808 * ccl.c: Comment fixed.
8809 (MAX_MAP_SET_LEVEL): Increased to 30.
8810 (PUSH_MAPPING_STACK): Enclose with do-while block.
8811 (POP_MAPPING_STACK): Likewise.
8812 (stack_idx_of_map_multiple): New variable.
8813 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
8814 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 8815 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
8816 (ccl_driver) <CCL_MapSingle>: Likewise.
8817 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
8818 with the case where looking up process reaches to the end of
8819 map-set, and call CCL programs as the above change.
8820
7ee3bd7b
GM
88212000-09-11 Gerd Moellmann <gerd@gnu.org>
8822
8ec8a5ec
GM
8823 * xfns.c (png_load, jpeg_load): Declare some variables volatile
8824 that might be clobbered by longjmp.
8825 (check_x_display_info, x_decode_color, create_frame_xic)
8826 (Fx_display_backing_store, Fx_display_visual_class)
52283633 8827 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 8828
f74b0705
GM
8829 * lread.c (init_lread): Set Vloads_in_progress to nil.
8830 (Fload): Show list of recursively loaded files, when signaling an
8831 error.
8832
7ee3bd7b
GM
8833 * lread.c (Vloads_in_progress): New variable.
8834 (record_load_unwind): New function.
8835 (Fload): Check for recursive loads.
8836 (syms_of_lread): Initialize Vloads_in_progress.
8837 (read_integer, read1): Avoid some compiler warnings.
8838
8839 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
8840 compiler warnings.
8841
974e1e5b
MB
88422000-09-11 Miles Bader <miles@gnu.org>
8843
8844 * editfns.c (Fbuffer_string): Doc fix.
8845
9824c4e3
GM
88462000-09-10 Gerd Moellmann <gerd@gnu.org>
8847
8848 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
8849
6a72fdd1
KR
88502000-09-09 Ken Raeburn <raeburn@gnu.org>
8851
8852 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
8853 whether to include other header files.
8854
28e6fb66
GM
88552000-09-09 Gerd Moellmann <gerd@gnu.org>
8856
52283633 8857 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 8858 by Fmemq as a boolean.
28e6fb66 8859
7f8b6551
SM
88602000-09-08 Stefan Monnier <monnier@cs.yale.edu>
8861
8862 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
8863
a8710abf
GM
88642000-09-08 Gerd Moellmann <gerd@gnu.org>
8865
d1a02881
GM
8866 * ralloc.c (mmap_fd): Remove initializer which can make it
8867 read-only in a dumped Emacs.
8868 (mmap_fd_1): New variable.
8869 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
8870 restore it from there.
8871 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
8872 unconditionally so that mmap_fd can be initialized there.
8873 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
8874 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
8875 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
8876
c454aac1
GM
8877 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
8878
8879 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 8880 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 8881
fc653ef2
GM
8882 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
8883
3015eec0
GM
8884 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
8885 inheritance.
8886
bfe0ee88
GM
8887 * xdisp.c (try_window_id): When trying to locate cursor in
8888 unchanged rows at the top, handle the case that we can't find it.
8889
a8710abf
GM
8890 * xterm.c (x_draw_glyphs): Handle case START and END are out
8891 of bounds more carefully.
8892
6b7d4ae4
DL
88932000-09-08 Dave Love <fx@gnu.org>
8894
423193c5
DL
8895 * s/sol2.h (REL_ALLOC_MMAP): Define.
8896 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
8897
8898 * ralloc.c: Don't include string.h (redundant).
8899 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
8900 [!MAP_ANON]: Include fcntl.h.
8901 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
8902 (r_alloc, r_re_alloc, r_alloc_free)
8903 (mmap_enlarge, mmap_set_vars): Use it.
8904 (r_alloc_init_fd): New function.
8905 (__morecore) [SYSTEM_MALLOC]: Don't declare.
8906 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
8907 malloc type.
8908
8909 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
8910 Remove vm-limit.o.
8911
6b7d4ae4
DL
8912 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
8913 change to __NetBSD__.
8914
44d31981
KH
89152000-09-08 Kenichi Handa <handa@etl.go.jp>
8916
8917 * search.c (compile_pattern): Check the multibyteness of cached
8918 string and PATTERN.
8919
aad40737
MB
89202000-09-08 Miles Bader <miles@gnu.org>
8921
8922 * xfaces.c (default_face_vector): Function removed.
8923 (Finternal_merge_in_global_face): Restore old global/local
8924 attribute override order. Use inline loop instead of calling
8925 default_face_vector.
8926
91a211b5
GM
89272000-09-07 Gerd Moellmann <gerd@gnu.org>
8928
8929 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
8930 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
8931 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
8932 where necessary, in case POINTER_TYPE is `void'.
8933
03419440
EZ
89342000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
8935
8936 * frame.c (make_terminal_frame): Initialize frame foreground and
8937 background colors to unspecified, for the initial instance of an
8938 MSDOS frame.
8939
f46f845b
GM
89402000-09-07 Gerd Moellmann <gerd@gnu.org>
8941
24f76fbf
GM
8942 * ralloc.c (mmap_find): Fix overlap computation.
8943 (mmap_enlarge): Compute nbytes before trying to find an
8944 overlapping region.
8945
f46f845b
GM
8946 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
8947 instead of `!='.
8948
8949 * lread.c (syms_of_lread): Change value of regexp
8950 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
8951
8952 * xmenu.c (xdialog_show): When looking up the selection in
8953 menu_items, take `quote' boundaries into account; this corresponds
8954 to a nil ITEM in x-popup-dialog.
8955
3c014385
KH
89562000-09-07 Kenichi Handa <handa@etl.go.jp>
8957
fd6f711b
KH
8958 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
8959 not 0x81.
8960 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
8961
3c014385 8962 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
8963 encoding, not decoding. Fix the handling of latin-jisx0201.
8964 Check for the charset katakana-jisx0201 too.
3c014385 8965 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 8966 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 8967
0da3ecef
GM
89682000-09-07 Gerd Moellmann <gerd@gnu.org>
8969
ab0ee409
GM
8970 * xfaces.c (Vparam_value_alist): New variable.
8971 (syms_of_xfaces): Initialize it.
8972 (Finternal_set_lisp_face_attribute): Avoid more consing.
8973
8974 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
8975 specially.
8976 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
8977 (Qbackground_mode): New variable.
8978 (syms_of_frame_1): Initialize Qbackground_mode.
8979
8980 * lisp.h (Qdisplay): Declare extern.
1091dd67 8981
0da3ecef
GM
8982 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
8983 change face on all frames, and change the default for new frames.
8984
b14654b9
DL
89852000-09-07 Dave Love <fx@gnu.org>
8986
8987 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
8988
d24fd56f
KH
89892000-09-07 Kenichi Handa <handa@etl.go.jp>
8990
794f3670
KH
8991 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
8992
0fddd0dc
KH
8993 * charset.c: Include composite.h
8994 (lisp_string_width): New function.
8995 (Fstring_width): Call lisp_string_width instead of strwidth.
8996
8997 * Makefile.in (charset.o): Depends on composite.h.
8998
d24fd56f
KH
8999 * process.c (read_process_output): Before inserting the decoded
9000 text in the buffer, adjust the multibyteness.
9001
fa0b693c
GM
90022000-09-06 Gerd Moellmann <gerd@gnu.org>
9003
52283633 9004 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
9005 buffer's text buffer is null, map new memory.
9006
0a58f946
GM
9007 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
9008 POINTER_TYPE and size_t.
9009 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
9010 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
9011 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
9012 [REL_ALLOC_MMAP]: New macros.
9013 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
9014 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
9015 [REL_ALLOC_MMAP]: New functions.
9016
9017 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
9018 before and after unexec.
9019
9020 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
9021 text buffers if necessary.
9022
9023 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
9024 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
9025 in prototypes.
9026
fa0b693c
GM
9027 * config.in (HAVE_MMAP): Add #undef.
9028
877055f6
GM
90292000-09-05 Gerd Moellmann <gerd@gnu.org>
9030
08ba3862
GM
9031 * frame.c (Qdisplay_type): New variable.
9032 (syms_of_frame_1): Initialize it.
9033 (Fframe_parameter): New function that avoids consing.
9034 (syms_of_frame): Defsubr it.
9035
66ffe51c
GM
9036 * buffer.c (Fother_buffer): Consider buffers as invisible when
9037 they are displayed in a window on an invisible frame.
9038
877055f6
GM
9039 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
9040 get-largest-window always return nil.
9041
bb970e67
GM
90422000-09-04 Gerd Moellmann <gerd@gnu.org>
9043
9044 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
9045 variable; recognize Emacs 19 elc files.
9046
7a3d0e0e
MB
90472000-09-04 Miles Bader <miles@gnu.org>
9048
9049 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
9050 before initially popping up the menu, so the menu doesn't flash
52283633 9051 when the face settings are significantly different from the defaults.
7a3d0e0e 9052
14473664
SM
90532000-09-04 Stefan Monnier <monnier@cs.yale.edu>
9054
9055 * regex.c (WIDE_CHAR_SUPPORT): New macro.
9056 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
9057 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
9058 (BIT_UNIBYTE): Remove.
9059 (re_match_2_internal): Delete corresponding code and streamline the
9060 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
9061 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
9062 (re_wctype_t): New type.
9063 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
9064 (regex_compile): Use them and fix handling of overly long char classes.
9065
c1174479
AI
90662000-09-03 Andrew Innes <andrewi@gnu.org>
9067
f8803e97
AI
9068 * makefile.w32-in: Change to DOS line endings.
9069
c1174479
AI
9070 * s/ms-w32.h (ORDINARY_LINK): New define.
9071
9072 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
9073 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
9074
9075 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
9076 (distclean): Delete them here instead.
9077
44ef7cf6
AI
9078 * w32proc.c (compare_env): Convert to uppercase for comparison,
9079 not lowercase, to match how the native Windows shell works.
9080
49b3bd82
JR
90812000-09-03 Jason Rumney <jasonr@gnu.org>
9082
9083 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
9084 CVS changes the line-ends when checking in/out on DOS/Windows.
9085
9086 * makefile.nt (emacs): Do not change directory to run temacs, as
9087 the load-path is set relative to current directory.
9088
a3d35a39
MB
90892000-09-03 Miles Bader <miles@gnu.org>
9090
9091 * xterm.c (x_alloc_lighter_color_for_widget): New function.
9092
d276b0cf
GM
90932000-09-02 Gerd Moellmann <gerd@gnu.org>
9094
715e84c9
GM
9095 * xdisp.c (redisplay_mode_lines): New function.
9096 (display_mode_lines): Return number of mode lines displayed.
9097 (echo_area_display): Use redisplay_mode_lines to draw garbaged
9098 mode lines. Don't temporarily bind redisplay-dont-pause to t.
9099
8892f40b
GM
9100 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
9101 string.h and strings.h.
9102 (index) [HAVE_INDEX]: Add prototype.
9103
d276b0cf
GM
9104 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
9105 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
9106
9107 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
9108 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
9109
38404229
GM
91102000-09-01 Gerd Moellmann <gerd@gnu.org>
9111
9112 * lread.c (read1): Accept `?' as symbol constituent, for
9113 compatiblity with XEmacs.
9114
c0f9ea08
SM
91152000-08-31 Stefan Monnier <monnier@cs.yale.edu>
9116
9117 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
9118 (struct re_pattern_buffer): Remove newline_anchor.
9119 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
9120 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
9121 (re_max_failures, fail_stack): Use size_t rather than unsigned.
9122 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
9123 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
9124 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
9125 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
9126 Get rid of references to newline_anchor.
9127 (regcomp): Allocate and precompute a fastmap.
9128
8c0f83fe
GM
91292000-08-31 Gerd Moellmann <gerd@gnu.org>
9130
9131 * lread.c (openp): GCPRO local variable `filename'.
9132
4bb91c68
SM
91332000-08-30 Stefan Monnier <monnier@cs.yale.edu>
9134
9135 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
9136
9137 * regex.c: Merge some changes from GNU libc. Add prototypes.
9138 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
9139 Use memcmp and memcpy instead of bcopy and bcmp.
9140 (init_syntax_once): Use ISALNUM.
9141 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
9142 (REG_UNSET_VALUE): Remove. Use NULL instead.
9143 (REG_UNSET, re_match_2_internal): Use NULL.
9144 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
9145 New macros.
9146 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
9147 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
9148 (regex_compile): In handle_interval, return an error rather than try to
9149 unfetch the interval if we can't find the closing brace.
9150 Obey the RE_NO_GNU_OPS syntax bit.
9151 (TOLOWER): New macro.
9152 (regcomp): Use it.
9153 (regexec): Allocate regs.start and regs.end as one block.
9154
5226a931
GM
91552000-08-30 Gerd Moellmann <gerd@gnu.org>
9156
868dd24b
GM
9157 * xdisp.c (echo_area_display): Check display_completed instead
9158 of calling detect_input_pending.
9159
9160 * dispnew.c (update_frame): Only set display_completed here; move
9161 the update_begin and update_end calls here from update_frame_1.
9162 (update_frame_1): Don't set display_completed here, don't call
9163 update_begin/update_end.
9164
5226a931
GM
9165 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
9166 instead of store_frame_param.
9167
2a8bd25f
GM
91682000-08-29 Gerd Moellmann <gerd@gnu.org>
9169
9170 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
9171 desired window matrix hasn't been displayed, use the current row
9172 instead. Make sure that only those frame rows are updated for
9173 which there exists a corresponding enabled desired row.
52283633 9174
ba3478d9
MB
91752000-08-29 Miles Bader <miles@gnu.org>
9176
9177 * xfaces.c (default_face_vector): New function.
9178 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
9179
87d0f685
GM
91802000-08-29 Gerd Moellmann <gerd@gnu.org>
9181
9182 * lread.c (openp): Prevent temporary string passed to
9183 Ffile_readable_p from being garbage collected.
9184
6fa86045
DL
91852000-08-28 Dave Love <fx@gnu.org>
9186
9187 * keymap.c (store_in_keymap): Add `static' to declaration.
9188
bb17930d
GM
91892000-08-28 Gerd Moellmann <gerd@gnu.org>
9190
9191 * emacs.c, callint.c, doc.c, editfns.c
9192 (toplevel) [HAVE_STRING_H]: Include string.h.
9193 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
9194 (index): Remove prototypes which might conflict with non-standard
9195 definitions of index/strchr.
9196
9197 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
9198 (rindex): Define only if !HAVE_RINDEX.
9199
9200 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
9201
9202 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
9203
87188200
MB
92042000-08-28 Miles Bader <miles@gnu.org>
9205
9206 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
9207 made inconsistent by a font-related attribute in FROM.
9208 (merge_face_inheritance): Add function comment.
9209
41a68aef
KH
92102000-08-28 Kenichi Handa <handa@etl.go.jp>
9211
9212 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
9213 the 4th arg (PREV_EVENT) Qt to suppress input method.
9214
f7c436c1
SM
92152000-08-27 Stefan Monnier <monnier@cs.yale.edu>
9216
0b32bf0e
SM
9217 * regex.c: Indent cpp directives and remove parens after `defined'.
9218 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
9219 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
9220 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
9221 (re_compile_pattern): Use size_t for length.
9222 (init_syntax_once): Move to a better place.
9223 * regex.h: Merge changes from GNU libc. Indent cpp directives.
9224 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
9225
f7c436c1
SM
9226 * syntax.c (back_comment): Detect cases where a comment-starter is
9227 actually inside another comment as in: /* a // b */ c // d \n.
9228 Make it clear that `comstart_pos' is unused for nested comments.
9229
9230 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
9231 (KEYMAPP): New macro.
9232 (Fkeymap_parent, Fset_keymap_parent): Use it.
9233 (fix_submap_inheritance): Mark it static.
9234 (define_as_prefix, describe_buffer_bindings, describe_command)
9235 (describe_translation, describe_map): Complete prototypes.
9236
9237 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
9238
9239 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
9240 to better match the key-lookup behavior.
9241
6288c62f
GM
92422000-08-27 Gerd Moellmann <gerd@gnu.org>
9243
9244 * xfaces.c (lface_fully_specified_p): Handle :inherit.
9245 (Finternal_set_lisp_face_attribute): Fix typo in error message.
9246
e931344e
EZ
92472000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
9248
9249 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
9250 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
9251 (xterm.o): Depend on coding.h
9252
d10dfeef
KH
92532000-08-26 Kenichi Handa <handa@etl.go.jp>
9254
9255 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
9256 the corresponding '#endif'.
9257
2d73e8d3
MB
92582000-08-26 Miles Bader <miles@gnu.org>
9259
9260 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
9261 * xfaces.c (QCinherit): New variable.
9262 (syms_of_xfaces): Initialize it.
9263 (LFACE_INHERIT): New macro.
9264 (Finternal_get_lisp_face_attribute)
52283633 9265 (merge_face_vector_with_property)
2d73e8d3
MB
9266 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
9267 (check_lface_attrs): Allow new types of face height. Check
9268 inherit attribute.
9269 (CYCLE_CHECK): New macro.
9270 (merge_face_inheritance): New function.
9271 (merge_face_vectors): Merge inherited faces too. Add F and
9272 CYCLE_CHECK arguments.
9273 (merge_face_vector_with_property, Finternal_merge_in_global_face)
9274 (lookup_named_face, lookup_derived_face, realize_named_face)
9275 (face_at_string_position, face_at_buffer_position): Supply
9276 new F and CYCLE_CHECK arguments to merge_face_vectors.
9277 (merge_face_heights): New function.
52283633 9278 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
9279 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
9280 handle relative face heights.
9281 (lface_same_font_attributes_p): Compare heights using EQ.
9282
6ce974d4
KH
92832000-08-26 Kenichi Handa <handa@etl.go.jp>
9284
9285 * charset.c (char_to_string): Check the character validity.
52283633 9286 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 9287
dc1e502d
SM
92882000-08-25 Stefan Monnier <monnier@cs.yale.edu>
9289
9290 * regex.c (PUSH_FAILURE_COUNT): New macro.
9291 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
9292 Handle popping of a register's or a counter's data.
9293 (POP_FAILURE_POINT): Use the new name.
9294 (re_match_2_internal): Push counter data on the stack for succeed_n,
9295 jump_n and set_number_at and remove misleading dead code in succeed_n.
9296
bd9d0f3f
GM
92972000-08-25 Gerd Moellmann <gerd@gnu.org>
9298
9299 * xdisp.c (redisplay_internal): If considering all windows on all
9300 frames, update the display for each frame as soon as possible,
9301 instead of first building all desired matrices for all frames, and
9302 then updating them all.
9303 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
9304
aa5b8e15
GM
93052000-08-24 Gerd Moellmann <gerd@gnu.org>
9306
17494071
GM
9307 * bytecode.c (mark_byte_stack): Add a comment.
9308
52283633
SM
9309 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
9310 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
9311 a graphical frame.
9312
c543db81
KH
93132000-08-24 Kenichi Handa <handa@etl.go.jp>
9314
d246d5f5
KH
9315 * minibuf.c (do_completion): Always use compare-string, not
9316 string-equal because the latter doesn't pay attention to
9317 multibyteness of strings.
9318
c543db81
KH
9319 * process.c (create_process): Don't setup raw-text coding here.
9320 (Fopen_network_stream): Don't set coding->src_multibyte and
9321 coding->dst_multibyte here.
9322 (read_process_output): For process filter, return unibyte string
9323 if default-enable-multibyte-characters is nil.
9324 (send_process): If OBJECT is multibyte text, be sure to encoded it
9325 by the specified coding system for the process. Otherwise, setup
9326 raw-text coding.
52283633 9327 (init_process): Don't initialize default-process-coding-system here.
c543db81 9328
9b47cfe0
EZ
93292000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
9330
9331 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
9332 <scroll-down-aggressively>: Likewise.
9333
f5a36960
KH
93342000-08-23 Kenichi Handa <handa@etl.go.jp>
9335
9336 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
9337 zero. Set coding->produced_char correctly.
9338
69a7ffa7
AI
93392000-08-22 Andrew Innes <andrewi@gnu.org>
9340
9341 * makefile.w32-in: New file.
9342
9343 * unexw32.c (unexec): Ignore old_name, and use the actual location
9344 of the current executable instead. Base new_name on this.
9345
9346 * w32proc.c (create_child): Remove reference to security
9347 descriptor, which isn't needed and doesn't compile with mingw32.
9348
9349 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9350 up dllimport attributes.
9351 (x_update_window_end): Update prototype.
9352
9353 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
9354 extern, which screws up dllimport attributes.
9355
9356 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9357 up dllimport attributes.
9358
9359 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
9360 screws up dllimport attributes.
9361
9362 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9363 up dllimport attributes.
9364 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
9365 screws up dllimport attributes.
9366
9367 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9368 up dllimport attributes.
9369
9370 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
9371 screws up dllimport attributes.
9372
9373 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
9374 screws up dllimport attributes.
9375
9376 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9377 up dllimport attributes.
9378
9379 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
9380 unnecessary extern, which screws up dllimport attributes.
9381 (main): Ditto.
9382
9383 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9384 up dllimport attributes.
9385
9386 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
9387 unnecessary extern, which screws up dllimport attributes.
9388
9389 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
9390 screws up dllimport attributes.
9391
9392 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9393 up dllimport attributes.
9394
9395 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
9396
52283633
SM
9397 * w32bdf.c (search_file_line):
9398 (set_bdf_font_info):
9399 (seek_char):
9400 (w32_get_bdf_glyph):
69a7ffa7
AI
9401 (w32_BDF_to_x_font): Fix compile warnings.
9402
52283633 9403 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
9404
9405 * w32select.c: Include keyboard.h before frame.h.
9406
9407 * w32fns.c (max): Define macro.
9408 (JOHAB_CHARSET): Define if not known.
9409 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
9410 (Fx_show_tip): Synch with X version.
9411
9412 * w32xfns.c: Include keyboard.h before frame.h.
9413
9414 * w32fns.c: Include keyboard.h before frame.h.
9415
9416 * w32term.c: Include keyboard.h before frame.h.
9417
9418 * fontset.c: Include keyboard.h before frame.h.
9419
9420 * w32inevt.c: Include keyboard.h before frame.h.
9421 (MOUSE_MOVED): Define if not known.
9422
9423 * minibuf.c: Include keyboard.h before frame.h.
9424
9425 * keyboard.c: Include keyboard.h before frame.h.
9426
9427 * indent.c: Include keyboard.h before frame.h.
9428
9429 * dispnew.c: Include keyboard.h before frame.h.
9430
9431 * buffer.c: Include keyboard.h before frame.h.
9432
9433 * alloc.c: Include keyboard.h before frame.h.
9434
9435 * print.c: Include keyboard.h before frame.h.
9436
9437 * process.c: Include keyboard.h before frame.h.
9438
9439 * scroll.c: Include keyboard.h before frame.h.
9440
9441 * sysdep.c: Include keyboard.h before frame.h.
9442
9443 * term.c: Include keyboard.h before frame.h.
9444
9445 * window.c: Include keyboard.h before frame.h.
9446
9447 * xdisp.c: Include keyboard.h before frame.h.
9448 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
9449
9450 * frame.c: Include keyboard.h before frame.h.
9451
9452 * w32heap.h: Undefine min, max.
9453
9454 * w32gui.h: Undefine min, max.
9455
9456 * unexw32.c: Change PUCHAR to PCHAR.
9457 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
9458 (relocate_offset):
9459 (get_section_info):
69a7ffa7
AI
9460 (copy_executable_and_dump_data): Remove unnecessary static defs.
9461 (copy_executable_and_dump_data): Fix compile warnings.
9462
9463 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
9464
9465 * w32console.c (min): Define macro.
9466 (clear_frame, write_glyphs): Fix compile warning.
9467
52283633 9468 * w32proc.c (compare_env):
69a7ffa7
AI
9469 (find_child_console): Fix compile warning.
9470
9471 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
9472 sys_errlist instead of _sys_errlist.
9473 (get_emacs_configuration_options): New function.
9474
9475 * s/ms-w32.h (sys_nerr): Provide default definition.
9476 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
9477 name with _ prepended.
9478 (NSIG): Define if not known.
9479 (get_emacs_configuration): Provide extern declaration.
9480 (get_emacs_configuration_options): Provide extern declaration.
9481 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
9482
9483 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 9484 (map_w32_filename):
69a7ffa7
AI
9485 (read_unc_volume): Fix compile warning.
9486
9487 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
9488 definitions from being used.
9489
9490 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
9491
52283633 9492 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
9493 (open_unc_volume): Make arg const.
9494
9495 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
9496 (read_input_waiting): Remove excess parameter.
9497
9498 * w32.c (init_environment): Call _access.
9499 (check_windows_init_file): Call _close.
9500 (init_user_info): Call _putenv.
9501 (init_environment): Call _putenv and _strdup.
9502 (init_ntproc): Reset volume info cache on startup.
9503
9504 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
9505 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
9506 cannot override the CRT malloc.
9507
9508 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
9509 (LINK_FLAGS): Append to original value of LINK_FLAGS.
9510
9511 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
9512 unless we are linking with a static CRT.
9513 (RVA_TO_PTR): Cast result to unsigned char*.
9514
9515 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
9516 (add_volume_info): Use xstrdup.
9517
25060080
SM
95182000-08-22 Stefan Monnier <monnier@cs.yale.edu>
9519
9520 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
9521 (do_completion, Fminibuffer_complete_word): Use it.
9522 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
9523 var so it can take non-boolean values.
9524
6917e6bb
GM
95252000-08-21 Gerd Moellmann <gerd@gnu.org>
9526
acb7cc89 9527 * editfns.c (find_field): Formatting changes.
52283633 9528 (toplevel): Some old-style function forward declarations
acb7cc89
GM
9529 changed to prototypes, some new protypes added, some functions
9530 made static.
9531
9532 * lisp.h (set_time_zone_rule): Add prototype.
9533 (use_dialog_box): External declaration.
9534
0bbfdc25
GM
9535 * keyboard.c (gen_help_event): Add parameter SIZE.
9536 (kbd_buffer_events_waiting): Slightly rewritten.
9537 (clear_event): New function.
9538 (kbd_buffer_get_event): Use it, and clear the input_events of
9539 HELP_EVENTs.
9540 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
9541 don't fill the newly created array with nils.
9542 (toplevel): Convert some old-style function forward declarations
9543 to prototypes.
9544
9545 * keyboard.h (gen_help_event): Change prototype.
9546
9547 * xterm.c (XTread_socket): Change calls to gen_help_event.
9548
9549 * w32term.c (w32_read_socket): Change calls to gen_help_event.
9550
6917e6bb
GM
9551 * eval.c (Fmacroexpand): Doc fix.
9552
e5cd3d11
JR
95532000-08-20 Jason Rumney <jasonr@gnu.org>
9554
9555 * w32term.h (x_display_info_for_display): Remove as this function
9556 does not exist on W32.
9557
9558 * w32term.c (help_echo_window): New variable.
9559 (syms_of_w32term): staticpro it.
9560 (note_mode_line_highlight): Set it.
9561 (XTextExtents16): Removed as there is no equivalent on W32.
9562 (x_compute_glyph_string_overhangs): Incomplete body removed, as
9563 the X way of doing this will not work for W32.
9564 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
9565 (x_draw_image_foreground): Avoid drawing outside of the clip area
9566 when image doesn't have a mask.
9567 (note_mouse_highlight): Process overlays in the right order of
9568 priority. Set help_echo_window.
9569 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
9570 because that's more visible for large images.
9571
9572 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
9573 name to single_keymap_panes.
9574 (w32_menu_show): Set wv->title when dealing with titles.
9575 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
9576
6e69ab8c
MB
95772000-08-21 Miles Bader <miles@gnu.org>
9578
9579 * minibuf.c (do_completion): Try again if we rewrite the input
9580 string, but no completion was done, so that any completion message
9581 will be correct.
9582
511bd4eb
GM
95832000-08-20 Gerd Moellmann <gerd@gnu.org>
9584
9585 * xfaces.c (lface_equal_p): Compare strings differently.
9586 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
9587 (realize_tty_face): Use them.
9588 (syms_of_xfaces): Initialize new variables.
9589 (map_tty_color): New function, extracted from realize_tty_face.
9590 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
9591 foreground or background color, store the new color name in the
9592 realized face; previous code trying to do this had no effect.
9593 (realize_tty_face): Use map_tty_color.
9594 (Fclear_face_cache): Set face_change_count and ensure thorough
9595 redisplay.
9596
1433385f
GM
95972000-08-19 Gerd Moellmann <gerd@gnu.org>
9598
511bd4eb
GM
9599 * undo.c (record_first_change, record_marker_adjustment): Don't
9600 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 9601
419ac0a2
KH
96022000-08-18 Kenichi Handa <handa@etl.go.jp>
9603
9604 * coding.c (decode_coding_string): Set members consumed,
9605 consumed_char, produced, produced_char of *coding correctly. If
9606 decode_coding doesn't consume any byte, don't try anymore.
9607 (encode_coding_string): Likewise.
9608
7eb9e30d
GM
96092000-08-18 Gerd Moellmann <gerd@gnu.org>
9610
511bd4eb
GM
9611 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
9612 conditional have void type, for Standard C compilers.
7eb9e30d
GM
9613
9614 * xdisp.c (redisplay_internal): Compare windows for equality with
9615 EQ, instead of applying XWINDOW to something that might not
9616 be a window.
52283633 9617
dd34a735
KH
96182000-08-18 Kenichi Handa <handa@etl.go.jp>
9619
9620 * fontset.c (Finternal_char_font): Search only the selected frame
9621 for a window of the current buffer.
9622
385ff9e3
GM
96232000-08-18 Gerd Moellmann <gerd@gnu.org>
9624
511bd4eb 9625 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
9626 Lisp_Objects.
9627
385ff9e3
GM
9628 * keyboard.c (kbd_buffer_get_event): Handle the case that the
9629 second half of a HELP_EVENT is found at the start of kbd_buffer.
9630
d6abb4c7
MB
96312000-08-18 Miles Bader <miles@gnu.org>
9632
4618074a
MB
9633 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
9634
d6abb4c7
MB
9635 * editfns.c (save_restriction_save): Rewrite to use markers.
9636 (save_restriction_restore): Rewrite to understand new form of data
9637 saved by save_restriction_save.
9638 (Fsave_restriction): Remove cautionary note in doc-string.
9639
a7b28523
GM
96402000-08-17 Gerd Moellmann <gerd@gnu.org>
9641
9642 * fileio.c (build_annotations): Add a comment explaining the
9643 return value of format-annotate-function. Replace a spurious call
9644 to Flength with a CONSP test. Call format-annotate-function with
9645 a fifth arg specifying how many times the function is been called
9646 in a row, to let it choose temporary buffers appropriately.
9647
03c9ed77
DL
96482000-08-17 Dave Love <fx@gnu.org>
9649
9650 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
9651 declare make_temp_name twice.
9652
52283633 9653 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
9654 (unreadpure): Give it an arg.
9655
9656 * unexalpha.c: Prototype fatal_unexec, mark_x,
9657 update_dynamic_symbols. Declare unexec as void.
9658
9659 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
9660 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
9661
9662 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 9663 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
9664
9665 * alloca.c: Use #error.
9666 [POINTER_TYPE]: Use it.
9667
9668 * eval.c (Fdefvar): Doc fix.
9669
9670 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
9671 INITIALIZE_INTERVAL.
9672
9673 * buffer.h: Avoid DECLARE_INTERVALS.
9674
9675 * config.in: Add size_t.
9676
aae41d97
EZ
96772000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
9678
9679 * w16select.c (set_clipboard_data): If there's not enough memory
9680 to put text into clipboard, return 1, as Fw16_set_clipboard_data
9681 expects. In case of other failures, return 3.
9682 (system_error_msg): New error message.
9683 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
9684 system_error_msg.
9685
65aa5e85
GM
96862000-08-16 Gerd Moellmann <gerd@gnu.org>
9687
9688 * term.c (write_glyphs): Also turn off inverse video after turning
9689 off other appearances in case TS_exit_attribute_mode is not equal
9690 to TS_end_standout_mode.
9691 (insert_glyphs): Turn inverse video on/off for each run of glyphs
9692 with the same face.
9693 (turn_off_face): Reset standout_mode only if
9694 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
9695 is equal to TS_end_standout_mode.
9696
ece23901
KH
96972000-08-16 Kenichi Handa <handa@etl.go.jp>
9698
9d7bcb2e
KH
9699 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
9700 sequence at the end of the source block.
9701
ece23901
KH
9702 * ccl.c (Fccl_program_p): Docstring modified.
9703 (Fccl_execute): Likewise.
9704 (Fccl_execute_on_string): Likewise.
9705
5e30eaa2
EZ
97062000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
9707
9708 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
9709
290602fd
KH
97102000-08-16 Kenichi Handa <handa@etl.go.jp>
9711
9712 The following changes are mainly to fix bugs of
9713 encode/decode-coding-string failing if encoding/decoding return
9714 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
9715 variable conversion_buffer.
9716
9717 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
9718 decrement dst_end to avoid buffer overflow in the later call of
9719 string_as_multibyte
9720
9721 * coding.h (conversion_buffer_size, conversion_buffer)
9722 (get_conversion_buffer): Extern deleted.
9723
9724 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
9725 (conversion_buffer, conversion_buffer_size): Variables deleted.
9726 (get_conversion_buffer): Function deleted.
9727 (struct conversion_buffer): New structure.
9728 (MAX_ALLOCA): New macro.
9729 (allocate_conversion_buffer): New macro.
9730 (extend_conversion_buffer, free_conversion_buffer): New functions.
9731 (ccl_coding_driver): Set coding->result.
9732 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
9733 this is the last block of source.
9734 (encode_coding): Likewise. Handle the source block as the last
9735 one only when the whole source text is consumed.
9736 (decode_coding_string): Handle the case that the output buffer is
9737 too small to decode the whole source text. Use
9738 allocate_conversion_buffer, extend_conversion_buffer and
9739 free_conversion_buffer, not get_conversion_buffer.
9740 (encode_coding_string): Likewise.
9741 (init_coding): Function deleted.
52283633 9742 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
9743
9744 * emacs.c (main): Don't call init_coding.
9745
52283633 9746 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
9747
9748 * term.c (write_glyphs): Use a locally declared conversion_buffer.
9749 (insert_glyphs): Likewise.
9750
9751 * w32console.c (write_glyphs): Use a locally declared
9752 conversion_buffer.
9753
b9f80d41
EZ
97542000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
9755
9756 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
9757 member of display_info is NULL.
9758
32dc52f7
GM
97592000-08-15 Gerd Moellmann <gerd@gnu.org>
9760
52283633 9761 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 9762
32dc52f7 9763 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 9764 appearances with capability `me'.
32dc52f7
GM
9765 (write_glyphs): Switch on inverse video before each face change.
9766
4eb22d33
DL
97672000-08-14 Dave Love <fx@gnu.org>
9768
9769 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
9770 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
9771 (lisp_free): Declare and make static.
9772
9773 * window.c: Fix embedded comment.
9774 (syms_of_window): Fix doc string.
9775
90cbf47e
GM
97762000-08-14 Gerd Moellmann <gerd@gnu.org>
9777
52283633 9778 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
9779 make sure to print `C-' before `M-', like in the manual.
9780
440fc135
GM
97812000-08-11 Gerd Moellmann <gerd@gnu.org>
9782
9783 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
9784 since they aren't relocated anymore.
52283633 9785 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
9786
9787 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 9788 partially visible line which is smaller than the window's height.
440fc135 9789
6e264fad
KH
97902000-08-11 Kenichi Handa <handa@etl.go.jp>
9791
9792 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 9793 the multibyte form of eight-bit-control characters.
6e264fad
KH
9794 (Fccl_execute_on_string): Initialize ccl->multibyte.
9795
9796 * ccl.h (struct ccl_program): New member multibyte.
9797
9798 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
9799
c371f69a
KH
98002000-08-11 Kenichi Handa <handa@etl.go.jp>
9801
9802 * regex.c (regex_compile) <normal_char>: Pay attention to
9803 multibyteness.
9804 (analyse_first) <exactn>: Setup fastmap correctly for
9805 eight-bit-control characters.
9806
98072000-08-11 Kenichi Handa <handa@etl.go.jp>
9808
52283633 9809 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
9810
9811 * keyboard.c (make_lispy_event): Handle the new event type
9812 multibyte_char_keystroke.
9813
9814 * xterm.c: Include coding.h.
9815 (XTread_socket): Work around a bug of XmbLookupString. If the
9816 input is from XIM, decode it according to the current locale. In
9817 that case, generate multibyte_char_keystroke events.
9818
b8ddbe71
KH
98192000-08-11 Kenichi Handa <handa@etl.go.jp>
9820
9821 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
9822 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
9823
47589c8c
GM
98242000-08-10 Gerd Moellmann <gerd@gnu.org>
9825
9826 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
9827 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
9828 (move_it_in_display_line_to): Record iterator's ascent and descent
9829 before producing glyphs, and restore them when we know the glyph
9830 doesn't fit on the line.
9831 (move_it_to): Restructured so that it's easier to debug. If
9832 moving to a vpos, and not moving to an x or character position,
9833 stop as soon as the specified vpos is reached; don't move further
9834 into that line because that might change the computed line height.
9835 (try_cursor_movement): New function, extracted from the cursor
9836 movement branch of redisplay_window. If ending on a partially
9837 visible line, don't try to scroll if the cursor line is taller
9838 than the window.
9839 (redisplay_window): Use try_cursor_movement.
9840
9841 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
9842 because that function doesn't cope with variable-height lines.
9843
9844 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
9845 box cursor because that's better visible for large images.
52283633 9846
c51bacd6
MB
98472000-08-10 Miles Bader <miles@gnu.org>
9848
9849 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
9850
bea56df7
GM
98512000-08-10 Gerd Moellmann <gerd@gnu.org>
9852
9853 * xdisp.c (Vmessages_buffer_name): New variable.
9854 (message_dolog): Use it.
9855 (syms_of_xdisp): Initialize it.
9856
99cd7364
EZ
98572000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
9858
52283633 9859 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
9860 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
9861 redundant now that keyboard.h is included.
9862
7d093d56
EZ
98632000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
9864
9865 * keyboard.c (kbd_buffer_events_waiting): New function.
9866
9867 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
9868
9869 * msdos.c: Include keyboard.h.
9870 (XMenuActivate): Empty no_event events from the event buffer. If
9871 no events are left after that, call clear_input_pending.
9872 (mouse_clear_clicks): New function, code moved from mouse_init.
9873 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
9874 mouse driver to ``forget'' any past clicks.
9875
9876 * Makefile.in (msdos.o): Depend on keyboard.h.
9877
41e757a6
GM
98782000-08-09 Gerd Moellmann <gerd@gnu.org>
9879
8e7bd231
GM
9880 * lisp.h (input_pending): External declaration.
9881
9882 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 9883
8e7bd231
GM
9884 * xdisp.c (echo_area_display): Display thoroughly if input is
9885 pending. Bind redisplay-dont-pause to t during the redisplay.
9886 in case input is pending.
9887
9888 * dispnew.c (Qredisplay_dont_pause): New variable.
9889 (syms_of_display): Initialize and staticpro it.
9890 (update_frame_1): Don't interrupt the display for pending input if
9891 redisplay_dont_pause is set.
52283633 9892
43028b7e
GM
9893 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
9894
41e757a6
GM
9895 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9896
2f2174fa
KH
98972000-08-09 Miles Bader <miles@lsi.nec.co.jp>
9898
9899 * callproc.c (Fcall_process): Terminate the unwind-protect around
9900 the post-read-conversion of coding system.
9901
0a6fd67e
MB
9902 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
9903 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
9904 * buffer.h (overlays_at): Update prototype.
9905 * xdisp.c (next_overlay_change): Update call to overlays_at.
9906 * xfaces.c (face_at_buffer_position): Likewise.
9907 * textprop.c (Fget_char_property): Likewise.
9908 * xterm.c (note_mouse_highlight): Likewise.
9909
0c80756e
MB
9910 * minibuf.c (do_completion): Don't consider a simple change of
9911 case as `completion'.
9912
975f250a
KR
99132000-08-08 Ken Raeburn <raeburn@gnu.org>
9914
52283633 9915 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
9916 * undo.c (record_delete): Make sure last_point_position_buffer is
9917 a buffer before comparing pointers.
9918
9919 * coding.h (decode_coding_string): Declare.
9920
9921 * intervals.h (Fprevious_single_char_property_change): Declare.
9922
9923 * textprop.c (Fprevious_single_char_property_change): Don't do
9924 arithmetic directly on lisp objects.
9925
52283633 9926 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
9927
9928 * keyboard.h (menu_item_eval_property): Declare.
9929
9930 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
9931 reuse as buffer name, instead of recreating (and discarding) every
9932 time a message is logged.
9933 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
9934 (current_message_1, truncate_message_1, set_message_1)
9935 (display_echo_area_1, resize_mini_window_1): Signatures changed.
9936 (current_message, truncate_echo_area, display_echo_area)
9937 (resize_echo_area_axactly): Changed calls.
b347b3fd 9938
975f250a 9939 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 9940 Lisp object.
975f250a 9941 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 9942 must be an integer, not a Lisp object.
975f250a 9943
46dc9912
KH
99442000-08-08 Kenichi Handa <handa@etl.go.jp>
9945
9946 * charset.c (Fchar_width): Doc fix.
9947
9f6d1a6c
GM
99482000-08-08 Gerd Moellmann <gerd@gnu.org>
9949
9950 * charset.c (Fstring_width): Doc fix.
9951
ff3d9573
GM
99522000-08-07 Gerd Moellmann <gerd@gnu.org>
9953
41e757a6 9954 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
9955 line, clear ascent and descent members of the iterator structure;
9956 the height of the continued line does not affect the height of the
9957 continuation line.
9958 (make_cursor_line_fully_visible): Do nothing if cursor is on a
9959 line taller than the window.
9960 (redisplay_window) <forced window start>: Handle case that the
9961 middle of the window is not found in any row.
9962 (dump_glyph_row): Show more information.
9963 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
9964 first text line in a glyph matrix.
9965
9966 * xterm.c (x_draw_image_foreground): Avoid drawing outside
9967 of the clip area when image doesn't have a mask.
9968
70fc58b3
GM
9969 * fns.c (sweep_weak_table): Fix survival conditions for
9970 key-or-value and key-and-value weakness.
9971
9972 * .gdbinit (xhashtable): New command.
9973
ac0e96ee
GM
9974 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
9975 tables out of the list of all weak hash tables.
9976
ff3d9573
GM
9977 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
9978 a new buffer is created, make sure echo_area_buffer[] references
9979 the new buffer.
9980
e0d8827b
EZ
99812000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
9982
9983 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
9984 the doc string.
9985
c6f35378
KH
99862000-08-07 Kenichi Handa <handa@etl.go.jp>
9987
9988 * syntax.c (skip_chars): Fix previous change. Make the handling
9989 of unibyte string consistent with that of regex search.
9990
1fd4c450
GM
99912000-08-05 Gerd Moellmann <gerd@gnu.org>
9992
e49aa397
GM
9993 * xmenu.c (popup_get_selection): Use xfree instead of free.
9994
9995 * fileio.c (Finsert_file_contents): Use xfree instead of free.
9996
9997 * editfns.c (Ftranspose_regions): Use xfree instead of free.
9998
9999 * callproc.c (child_setup): Use xfree instead of free.
10000
10001 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
10002 instead of malloc.
10003 (run_mac_command, closedir): Use `xfree' instead of `free'.
10004
10005 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
10006
10007 * eval.c (error): Use xfree instead of free.
10008
1fd4c450
GM
10009 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
10010
10011 * fns.c: Replace `illegal' with `invalid'.
e49aa397 10012 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 10013
82d497fc
KH
100142000-08-05 Kenichi Handa <handa@etl.go.jp>
10015
10016 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
10017 conversion.
10018
59f953a2
NF
100192000-08-04 Noah Friedman <friedman@splode.com>
10020
10021 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
10022 docstring.
10023
688351f2
GM
100242000-08-04 Gerd Moellmann <gerd@gnu.org>
10025
10026 * syntax.c (skip_chars): Fix typo in error message.
10027
2dad51cc
AS
100282000-08-04 Andreas Schwab <schwab@suse.de>
10029
10030 * m/ia64.h: Moved from s/ia64.h.
10031
99bb2c60
KH
100322000-08-04 Kenichi Handa <handa@etl.go.jp>
10033
082a1df2
KH
10034 * process.c (read_process_output): Big simplification. Handle
10035 composition and post-read-conversion of coding system correctly.
10036 (send_process): Handle composition correctly.
10037
10038 * callproc.c (Fcall_process): Handle post-read-conversion of
10039 coding system if any.
10040
99bb2c60
KH
10041 * coding.c (decode_coding_iso2022): More strict check for handling
10042 single shifting.
082a1df2
KH
10043 (coding_restore_composition): Pay attention to the case that
10044 cmp_data is not set properly (because of invalid code in the
10045 source text).
10046 (run_pre_post_conversion_on_str): Include text properties in the
10047 resulting string.
10048 (decode_coding_string): Set members of coding correctly.
99bb2c60 10049
f4988be7
GM
100502000-08-03 Gerd Moellmann <gerd@gnu.org>
10051
10052 * s/ia64.h: New file.
10053
10054 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
10055 Use NULL instead of 0 at the end of variable argument list of
10056 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
10057 sizeof (int) < sizeof (void *).
10058
10059 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
10060 of variable argument lists of XtVaGetValues and XtVaSetValues.
10061
10062 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
10063 variable argument lists of XtVaGetValues and XtVaSetValues.
10064
ead53494
GM
100652000-08-02 Gerd Moellmann <gerd@gnu.org>
10066
10067 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
10068 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
10069
10070 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
10071 prototype.
10072
10073 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
10074 in call to Fsingle_key_description.
10075
10076 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
10077 Callers changed.
10078
100792000-08-02 Colin Walters <walters@cis.ohio-state.edu>
10080
10081 * window.c (display_buffer_reuse_frames): New variable.
10082 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
10083 frames displaying BUFFER.
52283633 10084 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 10085
10b0f752
MB
100862000-08-01 Miles Bader <miles@gnu.org>
10087
10088 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
10089 when to constrain NEW_POS (they were pretty screwed up before).
10090
16425c4a
EZ
100912000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
10092
10093 * msdos.c (run_msdos_command): Save and restore the master
10094 environment, for the case that child_setup signals an error.
10095 When mirroring slashes in DOS shell commands, don't fail when
10096 argv[2] has embedded blanks.
da288c14
EZ
10097 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
10098 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
10099 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
10100
10101 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
10102 using alloca; free it after run_msdos_command returns.
10103
27f73852
DL
101042000-07-27 Dave Love <fx@gnu.org>
10105
52283633
SM
10106 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
10107 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
10108
10109 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
10110
c0261b5e
EZ
101112000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
10112
10113 * editfns.c (lisp_time_argument): Fix last change.
10114
b548072f
GM
101152000-07-27 Gerd Moellmann <gerd@gnu.org>
10116
3ab82477
GM
10117 * fns.c (Fdelete): Make it work on vectors and strings in addition
10118 to lists.
10119
b548072f
GM
10120 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
10121 (syms_of_fns): Initialize new variables.
52283633 10122 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
10123 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
10124 weakness, with t meaning the same as `key-and-value'.
10125
91ae8751
KH
101262000-07-27 Kenichi Handa <handa@etl.go.jp>
10127
10128 * coding.h (struct coding_system): Member safe_charset deleted.
10129
10130 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
10131 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
10132 New variables.
91ae8751
KH
10133 (coding_safe_chars): New function.
10134 (CODING_SAFE_CHAR_P): New macro.
10135 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 10136 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
10137 (detect_coding_iso2022): New local variable safe_chars.
10138 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
10139 safe_charsets member of the coding system.
10140 (decode_coding_iso2022): New local variable safe_chars.
10141 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
10142 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
10143 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
10144 (ENCODE_UNSAFE_CHARACTER): New macro.
10145 (encode_coding_iso2022): New local variable safe_chars. Check
10146 unsafe chars.
10147 (setup_coding_system): Delete the code to initialize
10148 coding->safe_charses
10149 (intersection, find_safe_codings): New functions.
10150 (Ffind_coding_systems_region_internal): New function.
10151 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
10152 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
10153 variable and initialize it.
10154
10155 * fns.c (char_table_ref_and_index): New function.
10156
10157 * lisp.h (char_table_ref_and_index): Add prototype.
10158
34a7a267
SS
101592000-07-26 Sam Steingold <sds@gnu.org>
10160
10161 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 10162 (Ffloat_time): New built-in Lisp function.
34a7a267 10163
a95cb10a
GM
101642000-07-26 Gerd Moellmann <gerd@gnu.org>
10165
3353ef5a
GM
10166 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
10167 for the character code.
10168
10169 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
10170 GNU/Linux.
10171
a95cb10a
GM
10172 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
10173 if called for a popup menu.
10174 (xmenu_show): Store help string in widget values.
10175
b4a12321
DL
101762000-07-26 Dave Love <fx@gnu.org>
10177
10178 * syswait.h: Move some definitions.
10179 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
10180 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
10181 perspicuous definitions.
10182 (WTERMSIG): Fix bit pattern used.
10183
13f5ad37
KH
101842000-07-26 Kenichi Handa <handa@etl.go.jp>
10185
10186 * print.c (print_object): If vector printing is truncated, print
10187 "..." to indicate it as well as the case of list printing.
10188
070fe99c
GM
101892000-07-25 Gerd Moellmann <gerd@gnu.org>
10190
969065c3
GM
10191 * xdisp.c (next_element_from_display_vector): Improve comments.
10192
10193 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
10194 for the character code, and the rest for the face id as in 20.x.
10195 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
10196
10197 * window.c (window_display_table): Cleaned up.
10198
070fe99c
GM
10199 * syntax.c (Fforward_word): Add last arg nil in call of
10200 Fconstrain_to_field.
10201
bad77ef7
EZ
102022000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
10203
969065c3 10204 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
10205 identical but for the letter-case, don't call
10206 barf_or_query_if_file_exists.
bad77ef7 10207
c28da489
MB
102082000-07-25 Miles Bader <miles@gnu.org>
10209
10210 * editfns.c (find_field): Honor special `boundary' fields.
10211 (Qboundary): New variables.
10212 (syms_of_editfns): Initialize Qboundary.
10213 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
10214 Use scan_buffer instead of find_before_next_newline, because it
10215 allows us to detect the boundary case where there's a newline at
10216 the search limit.
10217 * lisp.h (Fconstrain_to_field): Update external declaration.
10218
e3c31fd5
GM
102192000-07-24 Gerd Moellmann <gerd@gnu.org>
10220
10221 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
10222 if that is nil.
c28da489 10223
c66c29a2
DL
102242000-07-24 Dave Love <fx@gnu.org>
10225
10226 * s/sunos4-0.h, s/sol2.h:
10227 (LIBS_TERMCAP): Move from m/sparc.h.
10228
10229 * m/sparc.h (TERMINFO): Moved to system files (probably only
10230 relevant for sunos4 judging by its vintage).
10231 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
10232 __arch64__.
10233
fbe0a958
EZ
102342000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
10235
10236 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
10237 name to single_keymap_panes.
10238
7d88e5c9
AS
102392000-07-24 Andreas Schwab <schwab@suse.de>
10240
10241 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
10242
e024b101
GM
102432000-07-24 Gerd Moellmann <gerd@gnu.org>
10244
10245 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
10246 parameters instead of using int parameters. Expect FN to accept
10247 EMACS_INT parameters.
10248 (display_echo_area, resize_echo_area_axactly, current_message)
10249 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
10250 with new argument list.
10251 (resize_mini_window_1): New callback function.
10252 (current_message_1, truncate_message_1, set_message_1): Change
52283633 10253 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 10254
25c1a9ce
KH
102552000-07-24 Kenichi Handa <handa@etl.go.jp>
10256
10257 * fontset.c (fontset_ref): Remove INLINE declaration.
10258 (fontset_ref_via_base): Likewise.
10259 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
10260 to downcase.
10261
7f987ac0
EZ
102622000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
10263
10264 * msdos.c (IT_note_mouse_highlight): Process overlays in the
10265 correct order of priority. If help echo was found in an overlay,
10266 use that overlay as the object in which the help echo was found.
10267
e2db3069
MB
102682000-07-22 Miles Bader <miles@gnu.org>
10269
10270 * textprop.c (Fprevious_single_char_property_change): The initial
10271 property value should be from the position preceding POSITION, not
10272 following it.
10273
5e3203e4
EZ
102742000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
10275
10276 * coding.c (syms_of_coding): Doc fix for
10277 inhibit-iso-escape-detection.
10278
62145073
GM
102792000-07-21 Gerd Moellmann <gerd@gnu.org>
10280
c20aeb83
GM
10281 * xterm.c (note_mouse_highlight): Process overlays in the right
10282 order of priority.
34a7a267 10283
743934db
GM
10284 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
10285
10286 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 10287 overlay, use that overlay as the object in which the help was found.
743934db 10288
d1dc7e43 10289 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 10290
62145073
GM
10291 * window.c (foreach_window): Instead of a fake variable argument
10292 list, take one USER_DATA argument.
10293 (foreach_window_1): Likewise, and call callback functions with two
10294 args, the window and USER_DATA.
10295 (struct check_window_data): New struct.
10296 (check_window_containing): Use it.
10297 (window_from_coordinates): Set up a struct check_window_data for
10298 foreach_window.
10299 (add_window_to_list, freeze_window_start): Change parameters
10300 according to new calling convention.
10301
10302 * window.h (foreach_window): Change prototype.
10303
10304 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
10305
103062000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
10307
10308 * xmenu.c (menu_help_callback): Call show_help_echo with
10309 additional arguments OBJECT and POS.
10310
11270583
KH
103112000-07-21 Kenichi Handa <handa@etl.go.jp>
10312
07b14857
KH
10313 * data.c (Faset): Allow storing any multibyte character in a
10314 string. Convert unibyte string to multibyte if necessary.
10315
11270583
KH
10316 * xfns.c (x_encode_text): New function.
10317 (x_set_name): Use x_encode_text.
10318 (x_set_title): Likewise.
10319
10320 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
10321
10322 * xterm.h (x_encode_text): Add prototype.
10323
bc75b4fd
DL
103242000-07-20 Dave Love <fx@gnu.org>
10325
10326 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
10327 xfree, not free.
10328
48c14970
EZ
103292000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
10330
10331 * msdos.c (help_echo_window): New variable.
10332 (syms_of_msdos): Initialize and staticpro it.
10333 (IT_note_mode_line_highlight): Set help_echo_window.
10334 (IT_note_mouse_highlight): Ditto.
10335 (dos_rawgetc): Store help_echo_window in the second event produced
10336 for HELP_EVENTs.
10337
10338 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
10339 Record the object that generated the help echo and the position of
10340 that object in help_echo_object and help_echo_pos. Record that
10341 some glyphs in a row are displayed in mouse-face.
10342 (IT_update_begin): Don't clear mouse highlight unless one of the
10343 enabled glyph rows is marked as being displayed in mouse-face.
10344 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
10345 and position recorded in help_echo_object and help_echo_pos to the
10346 event queue.
10347 (IT_menu_display): Accept a new argument PN: the pane number of
10348 the current menu pane. Record the pane number and the item
10349 number of the item which has associated help string.
10350 (XMenuActivate): Update the prototype for help_callback in
10351 function declaration. Call IT_menu_display with the current menu
10352 pane number as an additional argument. Call help_callback with
10353 two additional arguments: the pane number and the item number of
10354 the menu item associated with the help text.
10355 (help_echo_object, help_echo_pos): New variables.
10356 (syms_of_msdos): Initialize them and staticpro help_echo_object.
10357
10358 * msdos.h (XMenuActivate): Update prototype.
10359
4279296d
GM
103602000-07-19 Gerd Moellmann <gerd@gnu.org>
10361
47db06aa
GM
10362 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
10363 Add some more prototypes.
10364
10365 * xterm.c, xterm.h: Add some more prototypes.
10366
10367 * lisp.h (Fnext_single_char_property_change): Add prototype.
10368
10369 * dispnew.c (direct_output_for_insert): Remove confusing
10370 outer local variable mouse_face_overwritten_p.
10371 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
10372
4279296d
GM
10373 * alloc.c (allocate_string_data): Don't copy old string contents.
10374
670acd62
KH
103752000-07-19 Kenichi Handa <handa@etl.go.jp>
10376
10377 * coding.c (code_convert_region): Delete text properties before
10378 shrinking the conversion region.
10379
7cea38bc
GM
103802000-07-18 Gerd Moellmann <gerd@gnu.org>
10381
dc1cac59
GM
10382 * dispnew.c (update_text_area): Write the whole row if it
10383 has mouse-face in it.
10384
85a8aca9
GM
10385 * xfaces.c (face-alternative-font-family-alist): Remove
10386 DEFVAR_LISP; staticpro instead.
10387
34a7a267 10388 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
10389 new arguments.
10390
10391 * keyboard.c (show_help_echo): Add parameter WINDOW.
10392 (read_char): Call show_help_echo with window extracted from Lisp
10393 help event.
10394 (gen_help_event): Add parameter WINDOW.
10395
10396 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
10397
10398 * xterm.c (help_echo_window): New variable.
52283633 10399 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
10400 (XTread_socket): Pass help_echo_window to gen_help_event.
10401 (syms_of_xterm): Initialize and staticpro help_echo_window.
10402
f8276b77
DL
104032000-07-18 Dave Love <fx@gnu.org>
10404
52283633 10405 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 10406
088831a6
GM
104072000-07-18 Gerd Moellmann <gerd@gnu.org>
10408
3d6cd763
GM
10409 * alloc.c (allocate_string_data): If string had already data
10410 assigned, copy old contents to new string data.
10411
10412 * coding.c (syms_of_coding): Fix typo in spelling of variable
10413 `inhibit-iso-escape-detection'.
10414
088831a6
GM
10415 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
10416
10417 * Makefile.in: Add dependencies on dispextern.h.
10418 (alloca.o): Don't define malloc and define EMACS_FREE instead of
10419 `free'; both can conflict with system header files.
10420
bc8a8d55
KH
104212000-07-18 Kenichi Handa <handa@etl.go.jp>
10422
10423 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
10424 undefined.
10425
069f5950
DL
104262000-07-18 Dave Love <fx@gnu.org>
10427
10428 * window.c (Fwindow_list): Declare arg `window'.
10429
aa96c820
KH
104302000-07-18 Kenichi Handa <handa@etl.go.jp>
10431
10432 * coding.c (setup_coding_system): Don't override the explicitly
10433 specified designations.
10434
06be8d32
MB
104352000-07-15 Miles Bader <miles@gnu.org>
10436
10437 * editfns.c (char_property_eq, char_property_stickiness): Renamed
10438 from `text_property_eq' and `text_property_stickiness', respectively.
10439 (find_field, Fconstrain_to_field, char_property_eq)
10440 (char_property_stickiness): Changed to call char-property functions
10441 instead of text-property-only ones.
10442
10443 * textprop.c (Fnext_single_char_property_change): Made a subr (was
10444 `next_single_char_property_change'). Do more error checking, and
10445 cleanup limit behavior.
10446 (Fprevious_single_char_property_change): New function.
10447 (syms_of_textprop): Initialize new subrs.
10448
10449 * xdisp.c (display_prop_end, invisible_text_between_p):
10450 Call Fnext_single_char_property_change instead of
10451 next_single_char_property_change.
10452
3fddcdc3
JR
104532000-07-15 Jason Rumney <jasonr@gnu.org>
10454
10455 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
10456 after menu is finished with.
10457 (add_menu_item): Only consider wv->title as a menu title.
10458 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
10459
10460 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
10461 null title.
10462 (FONT_REGEXP): Remove unused macro, and its sub-components.
10463 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
10464
10465 * w32term.c (help_echo_object, help_echo_pos): New variables.
10466 (note_mode_line_highlight): Store additional information about the
10467 help-echo in help_echo_object and help_echo_pos. Check both
10468 `local-map' and `keymap' properties for changing the cursor
10469 (note_mouse_highlight): Store additional information about the
10470 help-echo in help_echo_object and help_echo_pos.
10471 (note_tool_bar_highlight): Set help_echo_object to nil and
10472 help_echo_pos to -1.
10473 (w32_read_socket): Use gen_help_event instead of filling
10474 input_events manually.
10475 (syms_of_w32term): Staticpro help_echo_object.
10476 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 10477 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
10478 (x_clear_mouse_face): New function.
10479 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
10480 (x_update_window_begin): No need to turn off the mouse
10481 highlight here.
10482 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10483 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
10484 (x_fill_stretch_glyph_string): Consume runs of stretch
10485 glyphs instead of a single one.
10486 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10487 with new argument list.
10488 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10489 (x_append_glyph, x_append_composite_glyph)
10490 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10491 changes in struct glyph starting 1999-12-27. See comments for
10492 xterm.c on 2000-07-05.
10493
178c5d9c
SS
104942000-07-14 Sam Steingold <sds@gnu.org>
10495
10496 * xfaces.c (realize_x_face): Fix the last patch:
10497 check `default_face' before dereferencing.
10498
6fe533f6
DL
104992000-07-14 Dave Love <fx@gnu.org>
10500
069f5950 10501 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 10502
dd7b81cf
KH
105032000-07-14 Kenichi Handa <handa@etl.go.jp>
10504
0693904a 10505 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 10506 default_face's fontset, not using the default fontset.
0693904a 10507
dd7b81cf
KH
10508 * coding.c (inhibit_iso_escape_detection): New variable.
10509 (syms_of_coding): Make it a Lisp variable.
10510 (detect_coding_iso2022): If inhibit_iso_escape_detection is
10511 nonzero, ignore ISO2022's escape sequence.
10512
d5aa31d8
GM
105132000-07-14 Gerd Moellmann <gerd@gnu.org>
10514
e5acf0ca
GM
10515 * alloca.c (malloc) [emacs]: Define as xmalloc.
10516
bd23a692
GM
10517 * xfns.c (Fx_show_tip): If frame parameters contain a position,
10518 use that instead of the mouse position. Add parameters DX and DY.
10519
10520 * dispextern.h (Fx_show_tip): Adjust number of parameters
10521 in prototype.
10522
9662da0b
GM
10523 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
10524 if HELP is a function, call it with OBJECT and POS as parameters
10525 to get the help to display.
10526 (gen_help_event, kbd_buffer_store_help_event): New functions.
10527 (kbd_buffer_get_event): Construct the Lisp help-event differently.
10528 (read_char): Call show_help_echo with new parameters.
10529
178c5d9c 10530 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
10531 Add prototypes.
10532
10533 * xterm.c (help_echo_object, help_echo_pos): New variables.
10534 (note_mode_line_highlight): Store additional information about the
10535 help-echo in help_echo_object and help_echo_pos. Check both
10536 `local-map' and `keymap' properties for changing the cursor
10537 (note_mouse_highlight): Store additional information about the
10538 help-echo in help_echo_object and help_echo_pos.
10539 (note_tool_bar_highlight): Set help_echo_object to nil and
10540 help_echo_pos to -1.
10541 (XTread_socket): Use gen_help_event instead of filling
10542 input_events manually.
10543 (syms_of_xterm): Staticpro help_echo_object.
10544
10545 * xmenu.c (menu_highlight_callback): Use
10546 kbd_buffer_store_help_event instead of setting up and input_event
10547 structure manually.
10548
10549 * xdisp.c (eval_form): GCPRO argument sexpr.
10550 (call_function): New function.
10551 (handle_single_display_prop): Use call_function and FUNCTIONP
10552 instead of checking whether if font_height is a symbol and
10553 using eval_form.
10554
10555 * eval.c (internal_condition_case_2): New function.
10556
10557 * lisp.h (FUNCTIONP): New macro.
10558 (internal_condition_case_2, call_function): Add prototypes.
10559
d5aa31d8
GM
10560 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
10561 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
10562 Always set `arg' member of input_events.
10563 (construct_menu_click): Unused function removed.
10564
10565 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
10566
10567 * w32term.c (construct_mouse_click, construct_mouse_wheel)
10568 (construct_drag_n_drop, x_scroll_bar_handle_click)
10569 (w32_read_socket): Always set `arg' member of input_events.
10570
10571 * keyboard.c (show_help_echo): Use eval_form. Add comment.
10572
10573 * lisp.h (eval_form): Add prototype.
10574
10575 * xdisp.c (eval_form): Make it externally visible.
10576
0f1a9b23
GM
105772000-07-13 Gerd Moellmann <gerd@gnu.org>
10578
10579 * xterm.c (x_handle_tool_bar_click): Store the frame in the
10580 frame_or_window slot of TOOL_BAR_EVENT input events instead of
10581 consing. For prefix events, store the frame in the `arg' slot of
10582 the event, otherwise store the key there.
10583 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 10584 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
10585
10586 * xmenu.c (menu_highlight_callback): Store help string in the
10587 `arg' member of the input event; don't cons.
10588 (menubar_selection_callback): Use the `arg' slot of input events
10589 to queue additional information, instead of consing.
10590
10591 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
10592
10593 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
10594 TOOL_BAR_EVENTs.
10595 (w32_read_socket): Adapt to changes in HELP_EVENTs.
10596
10597 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
10598 input events to queue additional information, instead of consing.
10599
10600 * keyboard.c (kbd_buffer_gcpro): Renamed from
10601 kbd_buffer_frame_or_window. Now used for all Lisp objects
10602 referenced from the input queue.
10603 (kbd_buffer_store_event): Always use structure assignment for
10604 copying input events. Record all Lisp objects referenced from
10605 events in kbd_buffer_gcpro.
10606 (kbd_buffer_get_event): Construct Lisp `help-echo' events
10607 differently from input events. Test for prefix menu_bar_events
10608 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
10609 event in kbd_buffer_gcpro to nil.
10610 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
10611 frame_or_window is equal to its arg member as prefix events.
10612 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
10613 used by an input event to nil.
10614 (init_keyboard): Use two times the size of the input queue
10615 for kbd_buffer_gcpro.
10616 (syms_of_keyboard): Likewise.
10617
52283633
SM
10618 * emacs.c (handle_USR2_signal, handle_USR1_signal):
10619 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
10620
10621 * termhooks.h (struct input_event): Add member `arg'.
10622 (MENU_BAR_EVENT): Renamed from menu_bar_event.
10623 (USER_SIGNAL_EVENT): Renamed from user_signal.
10624
10625 * xfaces.c (ASET): Remove definition.
10626
10627 * lisp.h (AREF, ASET, ASIZE): New macros.
10628
10629 * fontset.c (AREF, ASIZE): Remove definitions.
10630
10631 * fns.c (AREF): Remove definition.
178c5d9c 10632
0f1a9b23
GM
10633 * composite.c (AREF): Remove definition.
10634
712eaef2
GM
106352000-07-12 Gerd Moellmann <gerd@gnu.org>
10636
d8ee7803
GM
10637 * dispnew.c (redraw_overlapped_rows): Add missing local.
10638 (scrolling_window): Remove debug code.
10639
712eaef2
GM
10640 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
10641 Before scrolling, turn off a mouse-highlight in the window
10642 being scrolled.
10643
10644 * xterm.c (x_update_window_end): Add parameter
10645 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
10646 redisplay in XTframe_up_to_date.
10647 (x_clear_mouse_face): New function.
10648 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
10649
10650 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
10651 current glyph row.
10652 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
10653 it when any row is written to that contains glyphs highlighted in
10654 mouse-face.
10655 (update_window): Call the window update end hook with new
10656 parameter MOUSE_FACE_OVERWRITTEN_P.
10657 (direct_output_for_insert): Give up if row contains mouse-face.
10658
10659 * dispextern.h (struct redisplay_interface): Add parameter
10660 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
10661 (clear_mouse_face): New function pointer member.
10662
02010917
SM
106632000-07-11 Stefan Monnier <monnier@cs.yale.edu>
10664
10665 * syntax.c (back_comment): Use one switch rather than a few `if's.
10666 Obey open_paren_in_column_0_is_defun_start.
10667 When reverting to the `slow' method, try to nicely handle the case
10668 of nested comments by checking that the comment-starter we found
10669 does indeed match the comment-ender.
10670 (scan_sexps_forward, scan_sexps_forward):
10671 Ignore excessive opening parenthesis rather than throwing an error.
10672
d76c03ea
GM
106732000-07-11 Gerd Moellmann <gerd@gnu.org>
10674
10675 * doc.c (Fsubstitute_command_keys): Handle case that a GC
10676 in Fwhere_is_internal or get_keymap_1 relocates string contents.
10677
10678 * dispnew.c (direct_output_forward_char): Give up if currently
10679 displaying a message instead of the minibuffer contents.
10680
10681 * xterm.c (x_update_window_begin): No need to turn off the mouse
10682 highlight here.
10683 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10684 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
10685
10686 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
10687 compare the mouse_face_p flags of both rows.
10688
10689 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
10690
d55ead18
EZ
106912000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
10692
10693 * keyboard.c (show_help_echo): Accept additional parameter
10694 ok_to_overwrite_keystroke_echo.
10695 (read_char): Call show_help_echo with a zero
10696 ok_to_overwrite_keystroke_echo argument.
52283633 10697 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
10698 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
10699 ok_to_overwrite_keystroke_echo argument.
10700 * w32menu.c (w32_menu_display_help): Call show_help_echo with
10701 non-zero ok_to_overwrite_keystroke_echo argument.
10702
df75b1a3
GM
107032000-07-10 Gerd Moellmann <gerd@gnu.org>
10704
4b92c49a
GM
10705 * xdisp.c (try_window_id): If changes are all below what is
10706 displayed in the window, and point is in the window, we still
10707 might have to find point on the display.
10708
10709 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
10710 glyphs instead of a single one.
10711 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10712 with new argument list.
10713 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10714
df75b1a3
GM
10715 * keymap.c (get_keymap_1): Add comment that this function can GC.
10716 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
10717 comment that functions can GC.
10718 (Fset_keymap_parent): GCPRO arg KEYMAP.
10719
4314cf3e
EZ
107202000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
10721
10722 * msdos.c (XMenuActivate): After exiting the menu, restore the
10723 echo area message and erase it.
10724
ab49ce15
KH
107252000-07-10 Kenichi Handa <handa@etl.go.jp>
10726
10727 * fontset.c (Ffontset_info): Make the return value more compatible
10728 with that of Emacs 20.
10729
090a072f
GM
107302000-07-07 Gerd Moellmann <gerd@gnu.org>
10731
10732 * eval.c (Fsignal): Handle case that backtrace_list is null.
10733
f92de4a6
KH
107342000-07-07 Kenichi Handa <handa@etl.go.jp>
10735
10736 * ccl.c (Fccl_execute): Typo fixed.
10737
dd8888a1
GM
107382000-07-06 Gerd Moellmann <gerd@gnu.org>
10739
e5c81191 10740 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 10741
dd8888a1
GM
10742 * window.c (Fwindow_list): Reverse list at the end.
10743 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
10744 means allow windows on OWINDOW's frame, only.
10745 (window_loop): Simplified; use Fwindow_list.
10746
10747 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
10748
485266d0
GM
107492000-07-05 Gerd Moellmann <gerd@gnu.org>
10750
10751 * xterm.c (XTread_socket): Increment handling_signal at the start,
10752 decrement it at the end.
10753
10754 * eval.c (handling_signal): New variable.
10755 (Fsignal): Abort if handling_signal is non-zero.
10756
10757 * lisp.h (handling_signal): External declaration.
178c5d9c 10758
485266d0
GM
10759 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
10760
80fcd514
KR
107612000-07-05 Ken Raeburn <raeburn@gnu.org>
10762
10763 Sound support for NetBSD through "Linux emulation" support:
10764 * config.in (HAVE_SOUNDCARD_H): Undef.
10765 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
10766 * Makefile.in (LIBSOUND): New variable.
10767 (LIBES): Include it.
52283633
SM
10768 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
10769 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
10770 (vox_open): Use DEFAULT_SOUND_DEVICE.
10771 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
10772
d5c5cddd
GM
107732000-07-05 Gerd Moellmann <gerd@gnu.org>
10774
10775 * print.c (print_error_message): If Vsignaling_function is set,
10776 show it in *Messages*.
10777
10778 * lisp.h (Vsignaling_function): External declaration.
10779
10780 * eval.c (Vsignaling_function): New variable.
10781 (Fsignal): Compute it.
10782 (syms_of_eval): Staticpro it.
10783
65171e3a
DL
107842000-07-05 Dave Love <fx@gnu.org>
10785
10786 * syswait.h: Use the autoconf recommended approach. Old code
10787 #if'd out in case we need to revert.
10788
178c5d9c 10789 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 10790
e2c46326
AI
107912000-07-05 Andrew Innes <andrewi@gnu.org>
10792
10793 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
10794 when non-NULL instead of __morecore, to take account of buffer
10795 memory. This also solves a problem with spurious memory warnings
10796 on Windows.
10797
10798 * ralloc.c: Make real_morecore non-static.
10799
10800 * eval.c (internal_condition_case): Comment out abort if
10801 interrupt_input_blocked is not zero.
10802
10803 * makefile.nt: Add support for `bootstrap' and related targets.
10804 Include minimal debug info in emacs.exe in release build.
10805 Remove all dependencies on lisp.h, and fixup some others.
10806
10807 * w32.c (init_environment): Install code from 20.7 for providing
10808 default values for environment variables, based on the
10809 executable's own location.
52283633 10810 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
10811 (sys_socket): Install socket inheritance bug fix from 20.7.
10812
10813 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
10814 here via blockinput.h).
10815
a027a91b
SM
108162000-07-05 Stefan Monnier <monnier@cs.yale.edu>
10817
e4b31601
SM
10818 * w32menu.c (w32_menu_display_help):
10819 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
10820
10821 * keyboard.h (show_help_echo): Declare.
10822
10823 * keyboard.c (show_help_echo): New function, extracted from read_char.
10824 Feval its `msg' argument if it's a cons cell.
10825 (read_char): Use it.
4cf8d9d5 10826 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 10827
178c5d9c 10828 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 10829 (note_tool_bar_highlight, XTread_socket):
178c5d9c 10830 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
10831 (dos_rawgetc):
10832 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
10833 (note_tool_bar_highlight, w32_read_socket):
10834 Do not gratuitously ignore non-string `help-echo' properties.
10835
88d75730
GM
108362000-07-05 Gerd Moellmann <gerd@gnu.org>
10837
969f7e79
GM
10838 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
10839
71201b00
GM
10840 * window.c (delete_all_subwindows): Reset Vwindow_list.
10841
88d75730
GM
10842 * xterm.c (x_append_glyph, x_append_composite_glyph)
10843 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10844 changes in struct glyph starting 1999-12-27. Some bit-fields of
10845 struct glyph were not set, which made glyphs unequal when compared
10846 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
10847 effects were the result. This also depended on the contents of
10848 memory returned by xmalloc. If flickering happens again, activate
10849 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 10850 gone with that, chances are that it is caused by something similar.
88d75730
GM
10851
10852 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 10853
88d75730
GM
10854 * dispextern.h: Add some comments.
10855
10856 * window.c (add_window_to_list): Add parameter LIST.
10857 (window_list): Order list so that, for each frame, windows are
10858 in canonical order, and so that frames appear in the list in
10859 the order given by Vframe_list.
10860 (next_window): Reverse the handling of NEXT_P.
10861
53654733
GM
108622000-07-04 Gerd Moellmann <gerd@gnu.org>
10863
87efd256
GM
10864 * window.c (Vwindow_list): New variable.
10865 (make_window, delete_window): Set Vwindow_list to nil.
10866 (check_window_containing): New function.
10867 (window_from_coordinates): Rewritten.
10868 (add_window_to_list, window_list, candidate_window_p)
10869 (decode_next_window_args, next_window): New functions.
52283633 10870 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
10871 (Fwindow_list): New function.
10872 (Fother_window): Cleaned up.
10873 (foreach_window): Add a longer "variable argument list". Let
10874 callback function return 0 to indicate that cycling over windows
10875 should stop.
10876 (foreach_window_1): Likewise.
10877 (freeze_window_start): Return int.
10878 (init_window): New function.
10879 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
10880
10881 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
10882 input_event with bzero.
10883 (main): Call init_window.
10884
53654733
GM
10885 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
10886 a menu filter.
10887
4a8c194f
KH
108882000-07-04 Kenichi Handa <handa@etl.go.jp>
10889
10890 * composite.h (make_composition_value_copy): Extern it.
10891
10892 * composite.c (make_composition_value_copy): New function.
10893
10894 * editfns.c (Fformat): While copying text properties, make each
10895 composition property value a copy.
10896
10897 * fns.c (concat): While copying text properties, make each
10898 composition property value a copy.
10899
831a6cb0
GM
109002000-07-03 Gerd Moellmann <gerd@gnu.org>
10901
2f516940
GM
10902 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
10903
178c5d9c 10904 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
10905 marked already.
10906
831a6cb0
GM
10907 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
10908 include those frames as candidates which have their focus
10909 redirected to the minibuffer frame.
10910
d9c4f922
SM
109112000-07-03 Stefan Monnier <monnier@cs.yale.edu>
10912
10913 * fns.c (Fputhash): Return `value' rather than nil.
10914
3780bc22
GM
109152000-06-30 Gerd Moellmann <gerd@gnu.org>
10916
97d176db
GM
10917 * frame.c (next_frame): Don't check focus redirection in case
10918 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
10919 unless their focus is redirected, which contradicts the
10920 specification of next-frame, and leads to infinite loops in
10921 certain situations when cycling through windows with next-window.
10922
dca9961d
KH
109232000-06-30 Kenichi Handa <handa@etl.go.jp>
10924
10925 * coding.c (code_convert_region): Even if the length of text is
10926 zero, try to convert it if coding->type is coding_type_ccl.
10927 (decode_coding_string, encode_coding_string): Likewise.
10928
d5483ab1
GM
109292000-06-28 Gerd Moellmann <gerd@gnu.org>
10930
af5c25e1 10931 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 10932 the display if windows_or_buffers_changed.
af5c25e1
GM
10933
10934 * dispnew.c (struct row_entry): New structure.
10935 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
10936 (row_table_size, old_lines, new_lines, old_lines_size)
10937 (new_lines_size, run_pool, runs_size, runs): New variables.
10938 (add_row_entry): New function.
10939 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 10940 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
10941 holding them in local variables. Use a larger hash table whose
10942 size depends on glyph matrix sizes. Don't use bzero to clear the
10943 hash table; instead, clear used slots only.
10944
10945 * fns.c (next_almost_prime): Make it externally visible.
10946
10947 * lisp.h (next_almost_prime): Add prototype.
10948
d5483ab1
GM
10949 * s/isc4-0.h (sigunblock): Define.
10950
10951 * s/sco5.h (sigunblock): Define.
10952
93e40f40
DL
109532000-06-27 Dave Love <fx@gnu.org>
10954
10955 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
10956 (moved to osf5-0.h).
10957 [!NOT_C_CODE]: Protect string.h stuff.
10958
10959 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
10960 (sys_siglist, NSIG): Definitions moved here from osf1.h.
10961
3c4b7685
GM
109622000-06-27 Gerd Moellmann <gerd@gnu.org>
10963
97d176db 10964 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
10965 below the last line from the needed window height.
10966
32cad0aa
SM
109672000-06-26 Stefan Monnier <monnier@cs.yale.edu>
10968
10969 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
10970 (Fwidget_get): Use it.
10971 (syms_of_fns): Defsubr it.
10972
2c69ced2
GM
109732000-06-26 Gerd Moellmann <gerd@gnu.org>
10974
178c5d9c 10975 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
10976 display info for XIM.
10977 (xim_open_dpy): Likewise.
10978 (xim_close_dpy): Don't free the display info's XIM.
10979
10980 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
10981
10982 * config.in (USE_XIM): New define.
10983
3fc720e4
GM
10984 * keymap.c (get_keyelt): For menu-items containing a `:filter
10985 FILTER', apply FILTER to the menu-item's definition to get the
10986 real definition to use.
10987
10988 * lisp.h (QCfilter): External declaration.
10989
2c69ced2
GM
10990 * xfns.c (Fimage_size): New function.
10991 (syms_of_xfns): Defsubr it.
10992
f978b2a2
AS
109932000-06-26 Andreas Schwab <schwab@suse.de>
10994
10995 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
10996 Fstring_as_unibyte.
10997
94cc7892
DL
109982000-06-25 Dave Love <fx@gnu.org>
10999
52283633 11000 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
11001
11002 * Makefile.in (blockinput.h): Depend on atimer.h.
11003 (atimer.h): Depend on systime.h.
11004
52283633 11005 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 11006
52283633 11007 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
11008
11009 * lisp.h (swap_in_global_binding): Declare.
11010
b8c24556
KR
110112000-06-24 Ken Raeburn <raeburn@gnu.org>
11012
11013 * process.c (Fopen_network_stream): Turn off atimers for duration
11014 of call to connect. (Patch from Gerd.)
11015
8cf8560b
DL
110162000-06-23 Dave Love <fx@gnu.org>
11017
511c7541
DL
11018 * ralloc.c: Maybe include unistd.h
11019
8cf8560b
DL
11020 * emacs.c (setgrp): Undefine before defining.
11021 (malloc_warning, set_time_zone_rule, index): Prototype.
11022
11023 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
11024 HAVE_STRUCT_TIMEZONE.
11025
11026 * s/osf1.h: Move string.h hack here from alpha.h and make it
11027 conditional.
11028 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
11029 _XOPEN_SOURCE.
11030 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
11031 (SOCKLEN_TYPE): Don't define.
11032
11033 * m/alpha.h: Remove string.h hack.
11034
11035 * s/osf5-0.h: New file.
11036
11037 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
11038 include time.h, done by systime.h.
11039 [__FreeBSD__]: Remove redundant includes.
11040
3fc720e4 11041 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
11042 (delete_temp_file): Return Qnil to avoid warning.
11043
11044 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
11045
11046 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
11047 HAVE_X_WINDOWS.
11048
11049 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
11050
11051 * composite.h (compose_text): Declare.
11052
11053 * xterm.c: Don't include sys/types.h unconditionally. Don't
11054 protect its inclusion with !USG (following xmenu.c).
11055
ea055732
GM
110562000-06-23 Gerd Moellmann <gerd@gnu.org>
11057
11058 * xfns.c (x_create_tip_frame): Initialize frame's colors like
11059 in x_create_frame.
11060
74b01b80
EZ
110612000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
11062
11063 * coding.c (decode_eol_post_ccl): Special handling for undecided
11064 and inconsistent EOL types.
11065
64f3a166
GM
110662000-06-22 Gerd Moellmann <gerd@gnu.org>
11067
16cf31f7
GM
11068 * xrdb.c (x_load_resources): Add default resource for scroll bar's
11069 trough color and main window's background color.
11070
52283633 11071 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
11072
11073 * xterm.h (Xt_app_con): External declaration.
11074
11075 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 11076
486a103d
GM
11077 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
11078
64f3a166
GM
11079 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
11080 (handle_invisible_prop): Record the start of invisible text in
11081 it->add_overlay_start.
11082 (struct overlay_entry): Add member `overlay'.
11083 (handle_overlay_change): Simplify.
11084 (next_overlay_string): After having processed overlay strings at the
11085 end of the buffer, record that fact in
11086 it->overlay_strings_at_end_processed_p.
11087 (compare_overlay_entries): If before- and after-strings come
11088 from the same overlay, let before-strings come first.
11089 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
11090 (load_overlay_strings): Take it->add_overlay_start into account
11091 when adding overlay strings.
11092
11093 * dispextern.h (struct it): Add member add_overlay_start.
11094
bb746ea6
DL
110952000-06-22 Dave Love <fx@gnu.org>
11096
11097 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
11098
11099 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
11100
a8f573f3
KH
111012000-06-22 Kenichi Handa <handa@etl.go.jp>
11102
11103 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
11104 is greater than 0.
11105
9f2bbc92
DL
111062000-06-21 Dave Love <fx@gnu.org>
11107
178c5d9c 11108 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 11109
3ee5041c
SM
111102000-06-21 Stefan Monnier <monnier@cs.yale.edu>
11111
11112 * syntax.c (back_comment): Simplify string-parity counting (with
11113 the added benefit of handling multiple string-styles as long as
11114 they are not intertwined).
11115 Jump to the slow code as soon as a comment starter is found in
11116 a "string_lossage" position. Fixes the case: " /* " /* " */.
11117
4c343001
DL
111182000-06-21 Dave Love <fx@gnu.org>
11119
11120 * Makefile.in: Use GETLOADAVG_LIBS.
11121
11122 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
11123 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
11124
e6365855
SM
111252000-06-20 Stefan Monnier <monnier@cs.yale.edu>
11126
11127 * syntax.c (describe_syntax): Recognize the `n'estable bit.
11128 (Fforward_comment, scan_lists):
11129 Check the comstyle of single-char comment-starters.
11130 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
11131 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
11132 Check the comstyle of single-char comment-starters.
11133 Clarify control-flow around the Scomment case.
e6365855 11134
5700d2cc
DL
111352000-06-20 Dave Love <fx@gnu.org>
11136
d355bd8a
SM
11137 * fns.c (make_hash_table, maybe_resize_hash_table):
11138 Cast arg of next_almost_prime.
5700d2cc 11139
178c5d9c 11140 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
11141
11142 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
11143 and unistd.h.
11144
4a27bdfb
GM
111452000-06-20 Gerd Moellmann <gerd@gnu.org>
11146
a61d762c 11147 * keyboard.c (adjust_point_for_property): Check if display
52283633 11148 property should be treated as intangible by looking at its value.
a61d762c 11149
178c5d9c 11150 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
11151 (display_prop_intangible_p): New functions.
11152
11153 * dispextern.h (display_prop_intangible_p): Add prototype.
11154
11155 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 11156
4a27bdfb
GM
11157 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
11158 argument to sigprocmask.
11159
11160 * s/sco5.h (sigblock): Redefined to pass a pointer as second
11161 argument to sigprocmask.
11162
11163 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
11164 sigprocmask_set, and pass a pointer to it to sigprocmask.
11165
11166 * sysdep.c (sigprocmask_set): New variable.
11167
11168 * fileio.c (make_temp_name): Don't use `%s' in string passed to
11169 report_file_error.
11170
427ec082
SS
111712000-06-20 Sam Steingold <sds@gnu.org>
11172
11173 * xrdb.c: Don't declare xmalloc, xrealloc.
11174
8972fe79 111752000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
11176
11177 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
11178 (re_comp): Cast gettext return value to avoid complaints when
11179 !HAVE_LIBINTL.
11180
074b6efe
DL
111812000-06-20 Dave Love <fx@gnu.org>
11182
52283633 11183 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 11184
5700d2cc 11185 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 11186
d355bd8a 11187 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
11188
11189 * m/alpha.h: Don't declare xmalloc, xrealloc.
11190
0af4f205
DL
11191 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
11192
11193 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
11194
11195 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
11196
11197 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
11198 HAVE_GETWD.
11199
074b6efe
DL
11200 * keyboard.h (poll_for_input_1): Declare.
11201
11202 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
11203
11204 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
11205
11206 * doprnt.c: Don't declare xmalloc, xrealloc.
11207
11208 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
11209 (getenv, ctime, getwd): Removed.
11210 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
11211
11212 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
11213 x_set_tool_bar_lines.
11214
11215 * config.in: Add HAVE_GETWD. Move some definitions above
11216 machine/system includes.
11217
68a5e97b
KH
112182000-06-20 Kenichi Handa <handa@etl.go.jp>
11219
95417e1e
KH
11220 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
11221
68a5e97b
KH
11222 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
11223 contain information about ENCODING.
11224
11225 * fontset.c (FONTSET_ASCII): Use the first element of char table
11226 for an ASCII font, not defalt slot.
11227 (fontset_ref_via_base): If FONTSET doesn't contain information for
11228 C, try the default fontset.
11229 (make_fontset): Don't copy the default fontset.
11230 (fontset_font_pattern): Likewise.
11231 (accumulate_font_info): If ELT is nil, use the corresponding
11232 element in the default fontset.
11233
3b4fa1b2
DL
112342000-06-19 Dave Love <fx@gnu.org>
11235
943e731c
DL
11236 * syntax.c (Fparse_partial_sexp): Doc fix.
11237
11238 * regex.h: Test PROTOTYPES as well as __STDC__.
11239
3b4fa1b2
DL
11240 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
11241 errno, strerror. Put text after #endif in comment.
11242
52283633 11243 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
11244
11245 * xterm.c (x_frame_of_widget): Likewise.
11246
cdf0357b
GM
112472000-06-19 Gerd Moellmann <gerd@gnu.org>
11248
11249 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
11250 to Vfundamental_mode_abbrev_table.
11251
11252 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
11253 bogus objects are marked. This slows down GC by ~80 percent, but
11254 it might be worth trying when debugging GC-related problems.
11255 This feature requires conservative stack marking to be enabled.
11256
11257 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
11258 returns XLookupChars, reset `modifiers' to zero.
11259
998e9f8c
DL
112602000-06-19 Dave Love <fx@gnu.org>
11261
11262 * mktime.c: Unprotoized.
11263
18e21ce8 112642000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
11265
11266 * data.c (set_internal): If variable is frame-local,
11267 store the new value immediately into the frame parameter alist.
11268
140c4ac6
KR
112692000-06-19 Ken Raeburn <raeburn@gnu.org>
11270
14358466
KR
11271 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
11272 in the custom handler pointer.
11273
140c4ac6
KR
11274 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
11275 value, or checks for CHAR_META can fail when Lisp_Object is a
11276 union type.
11277 * keymap.c (get_keyelt): Likewise.
11278
10d7bf84
KH
112792000-06-19 Kenichi Handa <handa@etl.go.jp>
11280
11281 * ccl.h (struct ccl_program): New member eol_type.
11282 (struct ccl_spec): New member cr_carryover.
11283
11284 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
11285 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
11286
11287 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
11288 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
11289 (decode_eol_post_ccl): New function.
11290 (decode_coding): Don't detect EOL format here for CCL based coding
11291 systems.
11292 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
11293 decode_eol_post_ccl after running the CCL program.
11294 (code_convert_region): Don't detect EOL format here for CCL based
11295 coding systems.
11296 (decode_coding_string): Likewise.
11297
52e386c2
KR
112982000-06-18 Ken Raeburn <raeburn@gnu.org>
11299
11300 * charset.c (update_charset_table): Use XINT on "iso_final_char"
11301 when treating it as an integer.
11302
11303 * coding.h (encode_coding_string): Declare.
11304
11305 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
11306 it as an integer.
11307
11308 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
11309 "xkeymap" to avoid shadowing the "enum map_type" value that needs
11310 to be passed to get_local_map.
11311
11312 * sound.c (Fplay_sound): Don't call make_number on
11313 Frun_hook_with_args count argument.
11314
11315 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
11316 for lisp objects in X event structure data field, when lisp
11317 objects are represented with unions.
11318 (x_scroll_bar_to_input_event): Ditto.
11319
b357b9d4
KR
113202000-06-16 Ken Raeburn <raeburn@gnu.org>
11321
11322 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
11323 termination of string. Fix sense of test whether
11324 Vline_number_display_limit is an integer.
b357b9d4 11325
a871441d
GM
113262000-06-16 Gerd Moellmann <gerd@gnu.org>
11327
a9021acd
GM
11328 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
11329 only if HAVE_X_WINDOWS.
11330
6344985d
GM
11331 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
11332 of titles.
11333
427ec082 11334 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
11335 out of bounds.
11336
228b083e
EZ
113372000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
11338
11339 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
11340 of its headers.
11341
c25b53a2
KH
113422000-06-15 Kenichi Handa <handa@etl.go.jp>
11343
11344 * coding.c (decode_coding_emacs_mule): Always set src_base at the
11345 start of the while loop.
11346
a6981b11
GM
113472000-06-15 Gerd Moellmann <gerd@gnu.org>
11348
e9924e52
GM
11349 * atimer.c (alarm_signal_handler): Add forward declaration.
11350
a6981b11
GM
11351 * data.c (set_internal): Remove debug code.
11352
25fa6deb
GM
113532000-06-14 Gerd Moellmann <gerd@gnu.org>
11354
dce6b995
GM
11355 * Makefile.in (bootstrap-temacs): Add `-I../src'.
11356
9f817ea4
GM
11357 * unexec.c (toplevel) [COFF]: Include coff.h.
11358
11359 * s/lynxos.h: New file.
11360
11361 * keymap.c (Fsingle_key_description): Enclose function key and
11362 event symbol names in angle brackets.
11363
8a4e3c0c
GM
11364 * xdisp.c (setup_echo_area_for_printing): Call
11365 message_log_maybe_newline if message_buf_print is not set.
11366
11367 * print.c (printchar, strout): Don't check message_buf_print
427ec082 11368 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
11369 function does something useful even when message_buf_print is
11370 already set.
11371
52283633
SM
11372 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
11373 New variables.
25fa6deb
GM
11374 (ensure_echo_area_buffers): Initialize echo buffer's
11375 truncate lines setting to nil.
11376 (with_echo_area_buffer): Don't set the echo buffer's truncate
11377 lines setting here.
8a4e3c0c 11378 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
11379 of message_truncate_lines.
11380 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
11381 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
11382 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
11383
11384 * keyboard.c (read_char): Bind message-truncate-lines to t
11385 while displaying a help-echo.
11386
11387 * lisp.h (Qmessage_truncate_lines): External declaration.
11388
163dcff3
GM
113892000-06-13 Gerd Moellmann <gerd@gnu.org>
11390
1681ead6
GM
11391 * xdisp.c (Vline_number_display_limit): Renamed from
11392 line_number_display_limit.
11393 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
11394 Extend documentation string. Initialize
11395 Vline_number_display_limit to nil meaning no limit.
11396 (decode_mode_spec): Use Vline_number_display_limit with its new
11397 meaning.
11398
163dcff3
GM
11399 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
11400
18e21ce8 114012000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
11402
11403 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 11404
163dcff3
GM
11405 * xfns.c (x_set_frame_parameters): Comment fix.
11406
11407 * frame.c (store_frame_param): Call swap_in_global_binding if the
11408 variable's current binding was chosen based on this frame.
11409
11410 * data.c (swap_in_global_binding): New function.
11411
a704139d
EZ
114122000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11413
11414 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
11415 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
11416
9b6610db
EZ
114172000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11418
11419 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
11420
c68833d2
JR
114212000-06-12 Jason Rumney <jasonr@gnu.org>
11422
11423 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
11424
11425 * w32.h (EMACS_W32_H): Renamed from _NT_H_
11426
11427 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
11428
11429 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
11430
ed1056b3
GM
114312000-06-12 Gerd Moellmann <gerd@gnu.org>
11432
11433 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
11434 (syms_of_xfaces): Defsubr Sdump_colors.
11435 (x_free_colors): Don't treat b&w specially on default visual.
11436 (x_free_dpy_colors): New function.
11437 (free_face_colors): Don't check visual class; it's done
11438 in x_free_colors.
11439
11440 * xterm.c (x_frame_of_widget): New function.
11441 (x_alloc_nearest_color_for_widget): Use it.
11442 (x_copy_dpy_color): New function.
11443 (x_destroy_window): Free various colors.
11444
5050a2ef
KH
114452000-06-12 Kenichi Handa <handa@etl.go.jp>
11446
11447 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
11448
11449 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
11450
11451 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
11452
11453 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
11454
11455 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
11456
fb1b041d
DL
114572000-06-11 Dave Love <fx@gnu.org>
11458
11459 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
11460
ff96b5f4
EZ
114612000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
11462
11463 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
11464
db8eeecd
GM
114652000-06-11 Gerd Moellmann <gerd@gnu.org>
11466
ed1056b3 11467 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
11468 to `XEvent *'.
11469
49b71c5f
KH
114702000-06-10 Kenichi Handa <handa@etl.go.jp>
11471
c479bd55
KH
11472 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
11473 (regex_compile): Fix the code for handling the case of single byte
11474 char and multibyte char being mixed in a range within [...].
11475
ff6a65c2
KH
11476 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
11477 and dst_multibyte members of coding.
11478
49b71c5f
KH
11479 * charset.c (update_charset_table): Update the table
11480 bytes_by_char_head.
11481 (init_charset_once): Initialize elements of bytes_by_char_head to
11482 1 except for leading codes for private charases.
11483
11484 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 11485 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 11486
9e80b57d
KR
114872000-06-09 Ken Raeburn <raeburn@gnu.org>
11488
11489 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
11490 access the data it doesn't point to.
11491
f83fe4b4
GM
114922000-06-08 Gerd Moellmann <gerd@gnu.org>
11493
11494 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 11495 will be translated to a switch-frame event when reading the
f83fe4b4
GM
11496 event queue. This is necessary because Emacs otherwise won't
11497 perform a switch-frame to a new frame until some other event, for
11498 example a keystroke event, forces it to do so. This has various
11499 effects, one visible being that the cursor of a frame created with
11500 C-x 5 2 or switched to with a window manager key binding like
11501 A-TAB stays hollow because selected_window isn't on the newly
11502 focused frame until the switch-frame is performed.
11503
11504 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
11505 generating a switch-frame event if necessary.
11506
11507 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
11508
11509 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
11510 it's an integer.
11511
0890801b
KH
115122000-06-08 Kenichi Handa <handa@etl.go.jp>
11513
52283633 11514 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 11515
173cbca8
GM
115162000-06-07 Gerd Moellmann <gerd@gnu.org>
11517
3091c2a6
GM
11518 * window.c (displayed_window_lines): Take empty lines at
11519 the bottom of a window into account.
427ec082 11520
f38952fe
GM
11521 * window.c (displayed_window_lines): New function.
11522 (Fmove_to_window_line): Use displayed_window_lines to determine
11523 the number of lines to move, instead of using the window's height.
11524
11525 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
11526 to stop reading, even if the form read sets point to a different
11527 value when evaluated.
11528
427ec082 11529 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
11530 put the cursor.
11531
6ba6c818
KH
115322000-06-07 Kenichi Handa <handa@etl.go.jp>
11533
11534 * fileio.c (e_write): Free composition data if stored in
11535 coding->cmp_data.
11536
5f1aea9a
GM
115372000-06-06 Gerd Moellmann <gerd@gnu.org>
11538
666852af
GM
11539 * xdisp.c (display_line): Set row's and iterator's
11540 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
11541 Set cursor even if row ends in the middle of a character.
11542 (dump_glyph_row): Print values of new flags.
11543 (redisplay_window) <cursor movement in unchanged window>: When
11544 point has been moved forward, and PT is at the end of the cursor
11545 row, don't place the cursor in the next row if the cursor row ends
11546 in the middle of a character or at ZV.
11547
11548 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
11549 (struct glyph_row): Add starts_in_middle_of_char_p and
11550 ends_in_middle_of_char_p.
11551 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
11552 ends_in_middle_of_char_p flag.
11553 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
11554
d13f3e2e
GM
11555 * term.c (append_glyph): Revert change of 2000-06-06.
11556
11557 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
11558 padding glyph not fitting on line as whole character not
11559 fitting on line.
11560
5f1aea9a
GM
11561 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
11562 this isn't true for images with `:ascent 100'.
11563
10cda9b0
KH
115642000-06-06 Kenichi Handa <handa@etl.go.jp>
11565
ed00559d
KH
11566 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
11567 as modified if it is originally unmodified.
11568
10cda9b0
KH
11569 * term.c (encode_terminal_code): Change the way to check if
11570 terminal coding does any conversion.
11571 (append_glyph): Set glyph->pixel_width correctly.
11572
11573 * xdisp.c (display_line): While checking line continuation, pay
11574 attention to a padding glyph.
11575
1969fae2
GM
115762000-06-05 Gerd Moellmann <gerd@gnu.org>
11577
11578 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
11579
162ccef4
DL
115802000-06-05 Dave Love <fx@gnu.org>
11581
f19f32dd
DL
11582 * xdisp.c: Include fontset.h.
11583
11584 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
11585
11586 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11587
11588 * dispnew.c: Conditionally include term.h.
11589
11590 * coding.h: Declare code_convert_string_norecord.
11591
11592 * frame.h (struct frame): Use volatile unconditionally.
11593
11594 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
11595
11596 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
11597
11598 * systime.h: Protect against multiple inclusion.
11599 (timezone) [USG5_4]: Define as time_t.
11600
11601 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11602 (Foptimize_char_table, make_temp_name): Declare.
11603
11604 * Makefile.in (xdisp.o): Depend on fontset.h.
11605
11606 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11607
11608 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11609 (Foptimize_char_table, make_temp_name): Declare.
11610
427ec082 11611 * s/irix4-0.h:
162ccef4
DL
11612 * s/irix5-0.h:
11613 * s/netbsd.h: Don't define autoconfiscated MATHERR.
11614
2082fe81
DL
116152000-06-02 Dave Love <fx@gnu.org>
11616
11617 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
11618
dcf671d2
GM
116192000-06-02 Gerd Moellmann <gerd@gnu.org>
11620
11621 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 11622 result face, set flags in that face indicating that colors may not
dcf671d2
GM
11623 be freed.
11624
11625 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
11626 glyph, use the ASCII NUL character to determine the face.
11627
d42122a3
DL
116282000-06-02 Dave Love <fx@gnu.org>
11629
11630 * sysdep.c: Conditionally include stdlib.h, unistd.h.
11631 (VFORK_RETURN_TYPE): Remove.
427ec082 11632
d42122a3
DL
11633 * config.in: Add NO_MATHERR.
11634
dd432f16
DL
116352000-06-01 Dave Love <fx@gnu.org>
11636
90aa4ea8
DL
11637 * cmds.c (internal_self_insert): Don't check
11638 Vbefore_change_function, Vafter_change_function.
11639
11640 * insdel.c (signal_before_change, signal_after_change): Likewise.
11641
11642 * buffer.c (Vbefore_change_function, Vafter_change_function):
11643 Variables and their initializations deleted.
11644
2330c9d4
DL
11645 * callint.c (Fcall_interactively): Doc fix.
11646
dd432f16
DL
11647 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
11648
bf9e8804
DL
116492000-05-31 Dave Love <fx@gnu.org>
11650
11651 * textprop.c: Revert last change -- duplicated.
11652
3694b4ab
GM
116532000-05-31 Gerd Moellmann <gerd@gnu.org>
11654
11655 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
11656 in #if 0.
11657
11658 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
11659
f14156cd
JR
116602000-05-31 Jason Rumney <jasonr@gnu.org>
11661
8119aab8
JR
11662 * search.c (Fre_search_forward, Fre_search_backward)
11663 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
11664
f14156cd
JR
11665 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
11666
4aab9be3
JR
116672000-05-30 Jason Rumney <jasonr@gnu.org>
11668
11669 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
11670 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
11671
52283633 11672 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
11673
11674 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
11675 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
11676 expand a nil default_filename.
11677
11678 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
11679 pointer to glyph_to_pixel_coords, not a frame.
11680
11681 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
11682 coding.h to dependencies.
11683
11684 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
11685
11686 * w32console.c (glyph_to_pixel_coords): Change first parameter to
11687 window pointer to be consistent with w32term.c and xterm.c.
11688
11689 * w32fns.c: Format and doc changes to bring closer to xfns.c.
11690 (VIETNAMESE_CHARSET): Define if not defined in system headers.
11691 (Qline_spacing, Qcenter): New variables.
11692 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
11693 (x_set_line_spacing): New function.
52283633 11694 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
11695 (x_specified_cursor_type): New function.
11696 (x_set_cursor_type): Use it.
11697 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
11698 and icon strings.
11699 (validate_x_resource_name, x_get_resource_string): Measure lengths
11700 of external strings in bytes.
11701 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
11702 GetTextExtentPoint32 with NULL title.
11703 (Fx_create_frame): Initialize Qline_spacing.
11704 (w32_load_system_font): Initialize font->double_byte_p.
11705 (x_to_w32_charset): Use Vw32_charset_info_alist.
11706 (Image, busy cursor, tooltip functions): Merged changes from
11707 xfns.c. Not yet functional on Windows.
11708
11709 * w32gui.h (W32FontStruct): Add double_byte_p member.
11710
11711 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
11712 (emacs_button_translation): Use it.
11713 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
11714 in `mask' to be set.
11715
11716 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
11717 menu strings.
11718
11719 * w32term.c: Format and doc changes to bring closer to xterm.c.
11720 (w32_char_font_type): New enum.
11721 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
11722 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
11723 (w32_encode_char): New function.
11724 (x_encode_char): Removed.
11725 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
11726 x_encode_char and w32_font_is_double_byte.
11727 (x_produce_image_glyph): Use image_ascent.
11728 (x_produce_glyphs): Use new version of w32_per_char_metric and
11729 handle NULL return value. Allow extra line spacing.
11730 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
11731 (w32_get_glyph_overhangs): Remove unicode_p param. Use
11732 w32_font_type member of glyph instead.
11733 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
11734 (fast_find_position): Make sure not to consider rows not visible
11735 in the window.
11736 (w32_read_socket) [WM_MENUSELECT]: Cannot call
11737 w32_menu_display_help with input blocked, as it can abort.
11738 (x_display_and_set_cursor): Choose cursor depending
11739 on buffer-local value of cursor_type.
11740 (x_draw_bar_cursor): Add parameter WIDTH.
11741
11742 * w32term.h (CP_DEFAULT): Define.
11743 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
11744
10fc3187
GM
117452000-05-30 Gerd Moellmann <gerd@gnu.org>
11746
11747 * search.c (Fre_search_forward, Fre_search_backward)
11748 (Fposix_search_backward, Fposix_search_forward): Doc fix.
11749
d0555360
KH
117502000-05-30 Kenichi Handa <handa@etl.go.jp>
11751
11752 * coding.c (detect_coding_iso2022): Fix code for checking
11753 CODING_CATEGORY_MASK_ISO_8_2.
11754
f1ad044f
SM
117552000-05-29 Stefan Monnier <monnier@cs.yale.edu>
11756
11757 * regex.c (PREFETCH_NOLIMIT): New function.
11758 (re_match_2_internal): Use it and adjust the end_match_2 logic.
11759
84ec3b4b
GM
117602000-05-29 Gerd Moellmann <gerd@gnu.org>
11761
66254a13
GM
11762 * syntax.c (find_defun_start): Move test for
11763 open_paren_in_column_0_is_defun_start outside of the loop.
11764
49e70dec
GM
11765 * xdisp.c (redisplay_window): Really switch buffers when
11766 displaying mode lines, and temporarily set selected_frame to the
11767 frame of the window that's redisplayed.
11768
84ec3b4b
GM
11769 * xfaces.c (free_realized_faces): Block/unblock input.
11770 (free_realized_multibyte_face): Ditto.
11771
869a3a14
DL
117722000-05-29 Dave Love <fx@gnu.org>
11773
11774 * textprop.c (Qkeymap): New variable.
11775 (syms_of_textprop): Intern it.
11776
11777 * keymap.c: Include intervals.h.
11778 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
11779
11780 * Makefile.in (keymap.o): Depend on intervals.h.
11781
11782 * keyboard.c (menu_bar_items, tool_bar_items)
11783 (Fexecute_extended_command): Deal with `keymap' property.
11784 (read_key_sequence): Track map from `keymap' property as well as
11785 `local_map'.
11786
11787 * intervals.c (get_local_map): Extra arg to allow looking for
11788 `keymap' too.
11789
11790 * intervals.h (map_property): New enum.
11791 (get_local_map): Extra arg using it.
11792 (Qkeymap): Declare.
11793
84ec3b4b 11794 * lisp.h (get_local_map): Don't declare here.
869a3a14 11795
89d0c844
KH
117962000-05-29 Kenichi Handa <handa@etl.go.jp>
11797
11798 * Makefile.in (callproc.o): Depend on composite.h.
11799
11800 * callproc.c: Include composite.h.
11801 (Fcall_process): Handle composition correctly.
11802
11803 * coding.h (coding_allocate_composition_data): Extern it.
11804 (coding_restore_composition): Likewise.
11805
11806 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
11807 yet allocated, finish decoding with result
11808 CODING_FINISH_INSUFFICIENT_CMP.
11809 (coding_allocate_composition_data): Make it non-static.
11810 (coding_restore_composition): Likewise.
11811
797a084a
EZ
118122000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
11813
11814 * charset.c (syms_of_charset): Revert last change.
11815
cf872af5
EZ
118162000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11817
11818 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
11819 charsets as unibyte, with 1-column screen width. Sent by Kenichi
11820 Handa.
cf872af5 11821
5b1ae051
EZ
118222000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11823
11824 * charset.c (syms_of_charset): Set width of character sets
11825 eight-bit-control and eight-bit-graphic to 1 column.
11826
34ec9ebe
GM
118272000-05-26 Gerd Moellmann <gerd@gnu.org>
11828
11829 * config.in (HAVE_SPEED_T): New define.
11830
11831 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
11832 `extern speed_t'.
11833
dd854dc2
DL
118342000-05-26 Dave Love <fx@gnu.org>
11835
11836 * coding.c (shrink_decoding_region): Initialize eol_conversion.
11837
11838 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
11839 (Fsubr_arity): New function.
11840 (syms_of_data): Install them.
11841
ba9f8f95
KH
118422000-05-26 Kenichi Handa <handa@etl.go.jp>
11843
0f3e0672
KH
11844 * charset.c (init_charset_once): Set the table bytes_by_char_head
11845 correctly.
11846
cebefb44
KH
11847 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
11848 the default fontset to what Emacs uses by default.
0f3e0672
KH
11849 (check_registry_encoding): This function deleted.
11850 (Fset_fontset_font): Remove the adhoc condition for the default
11851 fontset. Allow cons in FONTNAME.
cebefb44 11852
0f3e0672
KH
11853 * fns.c (map_char_table): Ignore char-table entries for
11854 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 11855
7a18af49
KR
118562000-05-25 Ken Raeburn <raeburn@gnu.org>
11857
11858 * emacs.c (main): Initialize keyboard syms before initializing
11859 window code, so face names are available.
11860
d2af47df
SM
118612000-05-25 Stefan Monnier <monnier@cs.yale.edu>
11862
11863 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
11864 of an anchor at the beginning of a shy-group.
11865
fc6a6a4e
GM
118662000-05-25 Gerd Moellmann <gerd@gnu.org>
11867
11868 * xdisp.c (handle_invisible_prop): Don't try to skip over
11869 invisible text if end of text is already reached.
11870
005f0d35
DL
118712000-05-25 Dave Love <fx@gnu.org>
11872
02513cdd
DL
11873 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
11874
005f0d35
DL
11875 * coding.c (encode_eol): Add null statement after label.
11876
89f6ca4e
EZ
118772000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
11878
11879 * w16select.c (Fw16_set_clipboard_data): Fix the change from
11880 2000-05-20.
11881
a4e1759e
KH
118822000-05-25 Kenichi Handa <handa@etl.go.jp>
11883
11884 * ccl.c (ccl_driver): Fix previous change.
11885
eacfd7fe
KH
118862000-05-25 Kenichi Handa <handa@etl.go.jp>
11887
46ab33a9
KH
11888 * coding.c (run_pre_post_conversion_on_str): Set point to the
11889 beginning of buffer before calling coding->post_read_conversion.
11890 (decode_coding_string): Give correct args to
11891 run_pre_post_conversion_on_str.
11892 (encode_coding_string): Likewise.
11893
eacfd7fe
KH
11894 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
11895 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
11896 eight-bit-graphic correctly.
11897
f8569325
DL
118982000-05-24 Kenichi HANDA <handa@etl.go.jp>
11899
11900 * fileio.c (Finsert_file_contents): Even if a file is not found,
11901 execute codes for setting up coding system. Call
11902 after-insert-file-functions unconditionally.
11903
04545643
GM
119042000-05-24 Gerd Moellmann <gerd@gnu.org>
11905
11906 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
11907 BSD_PGRPS are not defined.
11908
747d90ea
KH
119092000-05-24 Kenichi Handa <handa@etl.go.jp>
11910
11911 * charset.c (update_charset_table): Accept nil in LONG_NAME and
11912 DESCRIPTION.
11913 (syms_of_charset): Avoid building same strings.
11914
716e3b88
GM
119152000-05-23 Gerd Moellmann <gerd@gnu.org>
11916
11917 * lread.c (Fload): Add a comment about the meaning of
11918 Vuser_init_file being t.
11919
11920 * puresize.h (BASE_PURESIZE): Increase to 675000.
11921
11922 * s/gnu-linux.h (setpgrp): Don't define it here because this
11923 prevents compilation on GNU/Linux systems with glib 2.2.
11924
11925 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
11926 as setpgid.
427ec082 11927
9aeb39fa
EZ
119282000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
11929
11930 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
11931 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
11932 version.
11933 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
11934
29ced61b
KH
119352000-05-23 Kenichi Handa <handa@etl.go.jp>
11936
52283633 11937 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 11938
3d80f24d
KH
11939 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
11940
52283633 11941 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 11942
29ced61b
KH
11943 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
11944
d7e00792
KH
119452000-05-22 Kenichi Handa <handa@etl.go.jp>
11946
c9d80d38
KH
11947 * keyboard.c (read_char): Allow character codes 128..255 to be
11948 handled by input-method-function.
11949
d7e00792
KH
11950 * insdel.c (adjust_markers_for_replace): Fix previous change.
11951 (adjust_after_replace): If PREV_TEXT is nil, call
11952 adjust_markers_for_insert, not adjust_markers_for_replace.
11953
087121cc 119542000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 11955
087121cc
GM
11956 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
11957 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
11958 [HAVE_GRANDPT]: Define.
11959 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
11960
11961 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
11962 like SYSV_PTYS.
11963
11964 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
11965
11966 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
11967
c9671f81
KH
119682000-05-20 Kenichi Handa <handa@etl.go.jp>
11969
11970 The following changes are to handle 8-bit characters in a
11971 multibyte buffer/string without facing with byte combining
11972 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
11973 eight-bit-graphic (for 0xA0..0xFF) are introduced.
11974
11975 * Makefile.in (fns.o): Depend on charset.h.
11976
11977 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
11978 convert it to unibyte.
11979 (make_string): Use parse_str_as_multibyte, not chars_in_text.
11980
11981 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
11982 apparent char boundary.
11983 (Fset_buffer_multibyte): Convert 8-bit characters in the range
11984 0x80..0x9F to/from multibyte form.
11985
11986 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
11987 to unibyte.
11988
11989 * callproc.c (Fcall_process): Always encode an argument string if
11990 it is multibyte. Setup src_multibyte and dst_multibyte members of
11991 process_coding properly.
ce75fd23 11992
c9671f81
KH
11993 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
11994 SPLIT_NON_ASCII_CHAR.
11995
11996 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
11997 as is.
11998 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
11999
52283633 12000 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 12001 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 12002 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
12003 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
12004 and eight-bit-graphic.
12005 (char_to_string): Likewise. Signal an error for too large
12006 character code.
12007 (char_printable_p): Return 0 for 8-bit characters.
12008 (update_charset_table): Update iso_charset_table only when a final
12009 character is non-negative.
12010 (find_charset_in_text): Renamed from find_charset_in_str.
12011 Arguments and return value changed. Callers changed.
12012 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
12013 be -1 if CHARSET is used only internally.
12014 (Fmake_char_internal): Handle new charsets; eight-bit-control and
12015 eight-bit-graphic.
12016 (Fcharset_after): Simplified.
12017 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
12018 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
12019 (multibyte_chars_in_text): Simplified by assuming there's no
12020 invalid multibyte sequence.
52283633
SM
12021 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
12022 (str_as_unibyte): New functions.
12023 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
12024 (init_charset_once): Initialization for
12025 LEADING_CODE_8_BIT_CONTROL.
12026 (syms_of_charset): Intern and staticpro Qeight_bit_control and
12027 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
12028 eight-bit-control and eight-bit-graphic.
12029
52283633
SM
12030 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
12031 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
12032 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
12033 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
12034 (CHARSET_REVERSE_CHARSET): Likewise.
12035 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
12036 eight-bit-graphic.
12037 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
12038 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
12039 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
12040 encounter an invalid multibyte sequence.
12041 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
12042 sequence is always valid.
12043 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 12044 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
12045 (CHAR_STRING): For 8-bit characters, call char_to_string.
12046 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
12047 multibyte sequence is always valid.
12048 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
12049 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
12050 (str_as_unibyte): Extern them.
c9671f81 12051 (BCOPY_SHORT): Fix a bug.
52283633 12052 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
12053 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
12054 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
12055 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
12056
bd4bde7f 12057 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 12058 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
12059 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
12060 (EMIT_BYTES): New macros.
12061 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
12062 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
12063 macros deleted.
12064 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
12065 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
12066 check the validity of multibyte sequence.
12067 (decode_coding_emacs_mule): New function.
12068 (encode_coding_emacs_mule): New macro.
12069 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
12070 the source.
12071 (DECODE_ISO_CHARACTER): Just return a character code.
12072 (DECODE_COMPOSITION_START): Set coding->result instead of result.
12073 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
12074 EMIT_CHAR to produced decoded characters. Exit the loop only by
12075 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
12076 block here.
12077 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
12078 only position codes for an invalid character.
12079 (encode_designation_at_bol): Return new destination pointer. 5th
12080 arg DSTP is changed to DST.
12081 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
12082 from the source by ONE_MORE_CHAR. Don't handle the case of last
12083 block here.
12084 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
12085 macros deleted.
52283633
SM
12086 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
12087 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
12088 TWO_MORE_BYTES to fetch a byte from the source.
12089 (encode_eol): Pay attention to coding->src_multibyte.
12090 (detect_coding, detect_eol): Preserve members src_multibyte and
12091 dst_multibyte.
12092 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
12093 (encoding_buffer_size): Set magnification to 3 for all coding
12094 systems that require encoding.
12095 (ccl_coding_driver): For decoding, be sure that the result is
12096 valid multibyte sequence.
12097 (decode_coding): Initialize coding->errors and coding->result.
12098 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
12099 and raw-text, always call decode_eol. Handle the case of last
12100 block here. If not coding->dst_multibyte, convert the resulting
12101 sequence to unibyte.
12102 (encode_coding): Initialize coding->errors and coding->result.
12103 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
12104 and raw-text, always call encode_eol. Handle the case of last
12105 block here.
12106 (shrink_decoding_region, shrink_encoding_region): Detect cases
12107 that we can't skip data more rigidly.
12108 (code_convert_region): Setup src_multibyte and dst_multibyte
12109 members of coding. For decoding, if the buffer is multibyte,
12110 convert the source sequence to unibyte in advance. For encoding,
12111 if the buffer is multibyte, convert the resulting sequence to
12112 multibyte afterward.
12113 (run_pre_post_conversion_on_str): New function.
12114 (code_convert_string): Deleted and divided into the following two.
12115 (decode_coding_string, encode_coding_string): New functions.
12116 (code_convert_string1, code_convert_string_norecord): Call one of
12117 above.
12118 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
12119 MAKE_NON_ASCII_CHAR.
52283633
SM
12120 (Fset_terminal_coding_system_internal)
12121 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
12122 and dst_multibyte members.
12123 (init_coding_once): Initialize iso_code_class with new enum
12124 ISO_control_0 and ISO_control_1.
12125
12126 * coding.h (enum iso_code_class_type): Member ISO_control_code is
12127 devided into ISO_control_0 and ISO_control_1.
12128 (struct coding_system): New members src_multibyte, dst_multibyte,
12129 errors, and result. Delete member fake_multibyte.
12130 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
12131 nonzero.
12132 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
12133 nonzero.
12134
12135 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
12136 (Faset): Likewise.
12137
12138 * editfns.c (Fformat): Be sure to convert 8-bit characters to
12139 multibyte form.
12140 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
12141 combining occurs.
12142 (Ftranspose_region): Delete codes for handling byte combining.
12143
12144 * fileio.c (Finsert_file_contents): Setup src_multibyte and
12145 dst_multibyte members of coding. On handling REPLACE on unibyte
12146 buffer, convert the result of decode_coding to unibyte. On
12147 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 12148 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
12149 multibyteness of the source (buffer or string).
12150
12151 * fns.c (concat): Handle 8-bit characters correctly.
12152 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
12153 unibyte in the result.
12154 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
12155 valid multibyte form in the result.
12156 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
12157 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
12158 return -1, signal an error.
12159 (base64_encode_1): New arg MULTIBYTE. Get each character by
12160 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
12161 character is found, return -1.
12162 (Fbase64_decode_region): Delete codes for handling byte-combining.
12163 Treat each decoded byte as a unibyte character.
12164 (Fbase64_decode_string): Return unibyte string.
12165 (Fcompare_strings, concat, string_byte_to_char): Use
12166 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
12167 FETCH_STRING_CHAR_ADVANCE.
12168 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12169 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
12170
12171 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
12172 SPLIT_NON_ASCII_CHAR.
12173 (fontset_ref_via_base, fontset_set): Likewise
12174
12175 * insdel.c (adjust_markers_for_record_delete): Deleted.
12176 (adjust_markers_for_insert): Argument changed. Caller changed.
12177 (adjust_markers_for_replace): Likewise.
52283633
SM
12178 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
12179 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
12180 (copy_text): Delete unused local varialbe c_save. For converting
12181 to multibyte, be sure to make all 8-bit characters in valid
12182 multibyte form.
12183 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
12184 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12185 (adjust_after_replace, replace_range, del_range_2)
c9671f81 12186 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
12187 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12188 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
12189 handling byte combining.
12190 (adjust_before_replace): Deleted.
427ec082 12191
c9671f81
KH
12192 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
12193 SPLIT_NON_ASCII_CHAR.
12194 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 12195 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
12196 (Fkey_description): Likewise.
12197
12198 * lread.c (read1): On reading multibyte string, be sure to make
12199 all 8-bit chararacters in valid multibyte form.
12200 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12201
12202 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
12203 unconditionally.
12204
12205 * process.c (Fstart_process): GCPRO current_dir before calling
12206 Ffind_operation_coding_system. Encode arguments here.
12207 (create_process): Don't encode arguments here. Setup
12208 src_multibyte and dst_multibyte members of struct coding.
12209 (read_process_output): Setup src_multibyte and dst_multibyte
12210 members of struct coding. If the output is to multibyte buffer,
12211 always decode the output of the process. Adjust the
52283633 12212 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
12213 (send_process): Setup coding->src_multibyte according to the
12214 multibyteness of the source.
12215
52283633 12216 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
12217 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
12218 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
12219
52283633 12220 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
12221
12222 * w16select.c (Fw16_set_clipboard_data): Setup members
12223 src_multibyte and dst_multibyte of coding. Adjusted for the
12224 change for find_charset_in_str.
12225 (Fw16_get_clipboard_data): Likewise.
12226
12227 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
12228 dst_multibyte of coding.
12229 (x_to_w32_font): Likewise.
12230
12231 * w32select.c (Fw32_set_clipboard_data): Setup members
12232 src_multibyte and dst_multibyte of coding. Adjusted for the
12233 change for find_charset_in_str.
12234 (Fw32_get_clipboard_data): Likewise.
12235
12236 * xdisp.c (get_next_display_element): Handle 8-bit characters
12237 correctly.
52283633
SM
12238 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
12239 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
12240
12241 * xselect.c (selection_data_to_lisp_data): Setup members
12242 src_multibyte and dst_multibyte of coding. Adjusted for the
12243 change for find_charset_in_str.
12244 (lisp_data_to_selection_data): Likewise.
12245
5f64c9e0
GM
122462000-05-19 Gerd Moellmann <gerd@gnu.org>
12247
52283633 12248 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 12249
5f64c9e0
GM
12250 * dispextern.h (Vimage_types): Add extern declaration.
12251
12252 * xdisp.c (Vimage_types): Moved here from xfns.c.
12253 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
12254
12255 * xfns.c (Vimages_types): Moved to xdisp.c.
12256 (syms_of_xfns): Move `image-types' to xdisp.c.
12257
12258 * w32fns.c (Vimage_types): Removed.
12259 (syms_of_w32fns): Remove `image-types'.
12260
813086ea
KH
122612000-05-18 Kenichi Handa <handa@etl.go.jp>
12262
12263 * fns.c (map_char_table): Pay attention to character number of
12264 charset. Check the validity of charset at the first level. For
12265 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
12266 the default value.
12267
12268 * fontset.c: Include "buffer.h".
12269 (fs_load_font): If the face has fontset, record the face ID in
12270 that fontset.
12271 (Finternal_char_font): New function.
12272 (accumulate_font_info): New function.
12273 (Ffontset_info): Rewritten for the new fontset implementation.
12274 (syms_of_fontset): Register Vdefault_fontset in the first element
12275 of Vfontset_table. Include Vdefault_fontset in
12276 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
12277 function.
12278
bdaebbf0
DL
122792000-05-16 Dave Love <fx@gnu.org>
12280
12281 * m/iris5d.h: Deleted -- unused.
12282
cb613bb8
GM
122832000-05-16 Gerd Moellmann <gerd@gnu.org>
12284
b15f3b77
GM
12285 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
12286 `invalid' instead of `illegal'.
12287
12288 * indent.c (Fmove_to_column): When ending within a tab, insert
12289 spaces first so that markers at the end of the tab get adjusted.
12290
835c1b36
GM
12291 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
12292 buffer list that wasn't selected in that frame.
12293
cb613bb8
GM
12294 * filelock.c (get_boot_time): To obtain an 8 char file name, which
12295 is needed on mescaline, use a 2 char prefix, and call
12296 make_temp_name with second arg non-zero.
12297
12298 * fileio.c (make_temp_name): New function, extracted from
12299 Fmake_temp_name.
12300 (Fmake_temp_name): Use it.
12301
f685bea9
EZ
123022000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
12303
52283633 12304 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 12305
a1b8d58b
GM
123062000-05-15 Gerd Moellmann <gerd@gnu.org>
12307
12308 * Makefile.in (lisp): Add env.elc.
12309
12310 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
12311
a265079f
GM
123122000-05-12 Gerd Moellmann <gerd@gnu.org>
12313
12314 * search.c (Freplace_match): Handle case of `\N' in the
12315 replacement when there's no group N.
12316
da4496b6
GM
123172000-05-11 Gerd Moellmann <gerd@gnu.org>
12318
0ace421a
GM
12319 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
12320 of the message to message_dolog.
12321
1172eb8d
GM
12322 * keyboard.c (read_char): Don't clear current message for help
12323 events; let the code handling help events handle this. Change
12324 code detecting help events that should be ignored.
12325
da4496b6
GM
12326 * xdisp.c (handle_single_display_prop): Don't try to set PT if
12327 we're interating over a string.
12328
0623e40f
DL
123292000-05-09 Dave Love <fx@gnu.org>
12330
12331 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
12332 that offset before writing. Move gcpro region past call of
12333 Ffile_regular_p.
12334
bae2503b
DL
123352000-05-04 Dave Love <fx@gnu.org>
12336
12337 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
12338
ec82fb2f
GM
123392000-05-04 Gerd Moellmann <gerd@gnu.org>
12340
12341 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
12342 of inserted characters when BUF equals the current buffer, and PT
12343 is in front of or equal to FROM.
12344
cbf18892
GM
123452000-05-03 Gerd Moellmann <gerd@gnu.org>
12346
4ff40dd0
GM
12347 * xdisp.c (handle_single_display_prop): If display property value
12348 is invalid, or something not supported on the frame, restore
12349 iterator's position to what it was initially. Make sure to return
12350 0 for invalid and unsupported property values.
12351
cbf18892
GM
12352 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
12353 that x_per_char_metric returns null.
12354
1b0672c3
GM
123552000-05-02 Gerd Moellmann <gerd@gnu.org>
12356
576da55d
GM
12357 * xterm.h (struct face): Add forward declaration.
12358 (struct image): Ditto.
12359 (image_ascent): Add prototype.
12360
12361 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
12362 (x_draw_image_relief, x_draw_image_foreground_1): Call function
12363 image_ascent instead of using IMAGE_ASCENT.
12364
12365 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
12366 (IMAGE_ASCENT): Removed.
12367
12368 * xfns.c (Qcenter): New variable.
12369 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
12370 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
12371 (image_ascent): New function.
12372 (lookup_image): Recognize `:ascent center'.
12373 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
12374 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
12375 (xbm_load): Don't set image's ascent here.
12376 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
12377 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
12378 check ascent values here.
12379 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
12380 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
12381 (syms_of_xfns): Initialize Qcenter.
12382
1b0672c3
GM
12383 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
12384 to the limits, increase the limits.
12385
0d7811ed
KH
123862000-05-01 Kenichi Handa <handa@etl.go.jp>
12387
12388 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 12389 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 12390
a943a5ca
GM
123912000-04-28 Gerd Moellmann <gerd@gnu.org>
12392
12393 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
12394 taller than the window.
12395
5dba1e29
KH
123962000-04-28 Kenichi Handa <handa@etl.go.jp>
12397
12398 * xfaces.c (realize_x_face): Fix the argument of the second
12399 xassert. BASE_FACE may not be a face for ASCII.
12400
353964e3
GM
124012000-04-27 Gerd Moellmann <gerd@gnu.org>
12402
c76e04a8
GM
12403 * print.c (print_object): Treat print-length < 0 as nil.
12404
12405 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
12406
12407 * s/freebsd.h (TERMCAP_OBJ): Removed.
12408 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
12409
12410 * lread.c (read1): Don't treat period followed by certain
12411 characters as symbol start.
12412
12413 * xfns.c (slurp_file): New function.
12414 (xbm_image_p): Handle case of in-memory XBM files.
12415 (xbm_scan): Rewritten to work on memory buffers instead of files.
12416 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
12417 Work on memory buffers instead of files. If DATA is null test
12418 if buffer looks like an in-memory XBM file.
12419 (xbm_load_image): Renamed from xbm_load_image_file. Work on
12420 memory buffers instead of files.
12421 (xbm_file_p): New function.
12422 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
12423
353964e3
GM
12424 * lread.c (end_of_file_error): New function.
12425 (read1): Call it instead of signaling `end-of-file' directly.
12426
427ec082 12427 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
12428 with Fprinc instead of Fprin1.
12429
24d744ac
KR
124302000-04-26 Ken Raeburn <raeburn@gnu.org>
12431
12432 * window.c (freeze_window_start): Check that minibuffer scroll
12433 window isn't nil before extracting the window structure pointer
12434 from it.
12435
12436 * undo.c (record_delete): If we hit the end of the undo list, stop
12437 picking elements apart.
12438
7464346d
GM
124392000-04-26 Gerd Moellmann <gerd@gnu.org>
12440
12441 * xdisp.c (display_line): If lines are continued, restore
12442 iterator's ascent/descent information to the values before the
12443 first glyph not fitting on the line.
12444
612839b6
GM
124452000-04-25 Gerd Moellmann <gerd@gnu.org>
12446
12447 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 12448 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
12449
12450 * dispnew.c (increment_matrix_positions): Renamed from
12451 increment_glyph_matrix_buffer_positions.
12452 (increment_row_positions): Renamed from
12453 increment_glyph_row_buffer_positions.
12454
12455 * dispextern.h: Change names of renamed functions from dispnew.c
12456 in prototypes.
12457
cc181e95
GM
124582000-04-24 Gerd Moellmann <gerd@gnu.org>
12459
abfcc168
GM
12460 * fileio.c (Fdo_auto_save): Create directories for auto-save
12461 list file if necessary.
12462
cc181e95
GM
12463 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
12464 from buffer or frame.
12465 (automatic_hscrolling_p): New variable.
12466 (hscroll_windows): Scroll windows horizontally only if automatic
12467 hscrolling is allowed.
12468 (syms_of_xdisp): New variable `automatic-hscrolling'.
12469
12470 * frame.h (struct frame): Add member extra_line_spacing.
12471
12472 * xfns.c (x_set_line_spacing): New function.
12473 (Fx_create_frame): Set line spacing from resources.
12474 (Qline_spacing): New variable.
12475 (syms_of_xfns): Initialize Qline_spacing.
427ec082 12476
cc181e95
GM
12477 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
12478
12479 * buffer.c (init_buffer_once): Handle extra_line_spacing.
12480 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 12481 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
12482 extra_line_spacing from default value.
12483 (init_buffer_once): Initialize default value of extra_line_spacing.
12484
12485 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
12486 and extra3.
12487
12488 * xterm.c (x_produce_glyphs): Remove reference to struct it's
12489 prompt_width. Add extra line spacing.
12490
12491 * term.c (produce_glyphs): Remove reference to struct it's
12492 prompt_width.
12493
12494 * dispextern.h (struct it): Remove member prompt_width, add
12495 extra_line_spacing.
12496
58827478
GM
124972000-04-22 Gerd Moellmann <gerd@gnu.org>
12498
12499 * dispnew.c (update_frame_line): When writing a whole line, make
12500 sure cursor is in the right row afterwards, otherwise a use of
12501 capability `ch' in cmgoto might leave the cursor in the row below.
12502
25a87f42
GM
125032000-04-21 Gerd Moellmann <gerd@gnu.org>
12504
12505 * lisp.h (struct Lisp_Buffer_Cons): Remove.
12506
12507 * keyboard.c (timer_check): Fix typo in comment.
12508
54edf5c2
KH
125092000-04-21 Kenichi Handa <handa@etl.go.jp>
12510
12511 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
12512 name change: ch -> character.
12513
3a64eef5
GM
125142000-04-20 Gerd Moellmann <gerd@gnu.org>
12515
12516 * keyboard.c (echo_message_buffer): New variable.
12517 (echo_now): Set echo_message_buffer to the echo area buffer used
12518 to display the echo.
12519 (cancel_echoing): Reset echo_message_buffer to nil.
12520 (read_char): Code rewritten that handles canceling an echo or
12521 echoing a dash, respectively.
12522
12523 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
12524 directory doesn't exist.
12525
6142fdcb
DL
125262000-04-19 Dave Love <fx@gnu.org>
12527
12528 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
12529 (concat): Don't allow numeric args.
12530 (Fconcat): Doc change.
6142fdcb 12531
ac6b5352
SM
125322000-04-19 Stefan Monnier <monnier@cs.yale.edu>
12533
12534 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
12535 instead define end_match(1|2) more carefully.
12536 Use GET_CHAR_BEFORE_2 for `begline'.
12537
cb9215e4
GM
125382000-04-19 Gerd Moellmann <gerd@gnu.org>
12539
5e3dac3f
GM
12540 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
12541 on 64-bit systems where NULL is defined as `0'.
12542
12543 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
12544 the `variable argument list' to make it work on Alpha.
12545
cb9215e4
GM
12546 * m/alpha.h (_LP64) [!_LP64]: Define.
12547 (ORDINARY_LINK): Define for NetBSD.
12548
12549 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 12550
f532dca0
DL
125512000-04-19 Dave Love <fx@gnu.org>
12552
c750667e
DL
12553 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
12554 change.
12555
12556 * Makefile.in (LIBS): Don't use.
12557 (GETLOADAVG_OBJ): Define again.
12558 (otherobj): Add GETLOADAVG_OBJ.
12559
f532dca0
DL
12560 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
12561
1c7e22fd
GM
125622000-04-18 Gerd Moellmann <gerd@gnu.org>
12563
f6d3257b
GM
12564 * lread.c (read_filtered_event): Cancel and start busy cursor.
12565
427ec082 12566 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
12567 that the per-character metrics may be null.
12568
e10f64e7
GM
125692000-04-17 Gerd Moellmann <gerd@gnu.org>
12570
0daee095
GM
12571 * buffer.c (clone_per_buffer_values): New function.
12572 (Fmake_indirect_buffer): Add optional argument CLONE. Call
12573 clone_per_buffer_values if CLONE is not nil.
12574
e10f64e7
GM
12575 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
12576
38687d43
DL
125772000-04-16 Dave Love <fx@gnu.org>
12578
12579 * Makefile.in: Remove obsolete localcpp stuff.
12580 (GETLOADAVG_OBJ): Don't define.
12581 (obj): Move LIBOBJS...
12582 (otherobj): ... to here.
12583 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
12584 whitespace-only lines after the continuation (Irix).
12585
c21c7262
GM
125862000-04-14 Gerd Moellmann <gerd@gnu.org>
12587
12588 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
12589
12590 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
12591
314767c0
DL
125922000-04-14 Dave Love <fx@gnu.org>
12593
12594 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
12595 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
12596 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
12597 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
12598 NLIST_STRUCT.
12599
12600 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
12601 autoconfiscated HAVE_GETLOADAVG.
12602
12603 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
12604 BROKEN_MKTIME.
12605
a2522dca
GM
126062000-04-14 Gerd Moellmann <gerd@gnu.org>
12607
12608 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 12609 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 12610
33744b5d
DL
126112000-04-14 Dave Love <fx@gnu.org>
12612
c21c7262 12613 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
12614 (INTERVAL_SRC): Convert to make variable.
12615 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
12616 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
12617 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
12618 add LIBOBJS.
12619 (SOME_MACHINE_OBJECTS): Remove interval stuff.
12620 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
12621 (shortlisp): Add facemenu, float-sup, frame.
12622 (SOME_MACHINE_LISP): Remove them from here.
12623 (LIBES): Change unused LDLIBS to autoconf LIBS.
12624
12625 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
12626
9d3d5916
KH
126272000-04-14 Kenichi Handa <handa@etl.go.jp>
12628
12629 * composite.c (update_compositions): If FROM and TO are not in a
12630 valid range, do nothing.
12631
198e3c7a
GM
126322000-04-13 Gerd Moellmann <gerd@gnu.org>
12633
52283633 12634 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 12635
52283633 12636 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
12637
12638 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
12639 as TERMCAP_OBJ.
12640
055a28c9
EZ
126412000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
12642
12643 * fileio.c (a_write): Remove redundant semi-colons.
12644 (e_write): Return -1 if failed to write all the data.
12645 This fixes the changes made at 1999-12-15.
12646
f5c75033
DL
126472000-04-12 Dave Love <fx@gnu.org>
12648
12649 * fns.c (mapcar1): Test for null vals to support mapc.
12650 (Fmapc): New function.
12651
0c3cfc51
EZ
126522000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
12653
12654 * msdos.c (NUM_MOUSE_BUTTONS): Define.
12655 (IT_frame_up_to_date): Support the buffer local value of
12656 cursor-type, if defined.
12657
33465a31
DL
126582000-04-10 Dave Love <fx@gnu.org>
12659
12660 * editfns.c (preceding-char, following-char): Doc fix.
12661
6ed56568
KR
126622000-04-10 Ken Raeburn <raeburn@gnu.org>
12663
12664 * Makefile.in (temacs): Revert 2000-03-12 change.
12665
7cf80d4e
JR
126662000-04-10 Jason Rumney <jasonr@gnu.org>
12667
12668 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
12669
34f3f342
GM
126702000-04-10 Gerd Moellmann <gerd@gnu.org>
12671
1a1b1895
GM
12672 * xdisp.c (setup_echo_area_for_printing): Choose an echo
12673 area buffer, if it's not set up yet.
12674
34f3f342
GM
12675 * indent.c (compute_motion): Set immediate_quit.
12676
be0dbdab
GM
126772000-04-09 Gerd Moellmann <gerd@gnu.org>
12678
52283633 12679 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
12680 (realize_tty_face): Suppress boldness if colors are the inverse of
12681 the default colors, and tty_suppress_bold_inverse_default_colors_p
12682 is set.
12683 (Ftty_suppress_bold_inverse_default_colors): New function.
12684 (syms_of_xfaces): Defsubr it.
12685
be0dbdab
GM
12686 * buffer.c (Frestore_buffer_modified_p): New function.
12687 (syms_of_buffer): Defsubr it.
12688
e8413c3b
KR
126892000-04-08 Ken Raeburn <raeburn@gnu.org>
12690
87f67317
KR
12691 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
12692 charset id (int) argument, not a charset (Lisp_Object).
12693
e8413c3b
KR
12694 * coding.h (code_convert_string): Declare.
12695 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
12696 object, as the fourth argument to code_convert_string.
12697
52283633 12698 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
12699 (Fset_fontset_font): Use EQ to compare lisp objects.
12700
7c752c80
KR
127012000-04-05 Ken Raeburn <raeburn@gnu.org>
12702
c0333abc
KR
12703 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
12704 a pointer that looks like a lisp object.
12705 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
12706 zero, instead see whether it's an integer object, since they can't
12707 have intervals.
12708 (GET_INTERVAL_OBJECT): Simply assign to the destination.
12709
52283633
SM
12710 * dispnew.c (allocate_matrices_for_frame_redisplay)
12711 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
12712 to convert between (unsigned) int values and lisp integers.
12713 * keyboard.c (read_key_sequence): Likewise.
12714 * lread.c (substitute_object_recurse): Likewise.
12715 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
12716 * minibuf.c (do_completion, Fminibuffer_complete_word)
12717 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
12718 * term.c (produce_special_glyphs): Likewise.
12719
12720 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
12721 * print.c (print_preprocess, print_object): Likewise.
12722
12723 * search.c (compile_pattern): Use NILP when checking for nil.
12724
74e49b38
KR
12725 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
12726 __OPTIMIZE__]: Provide a GNU C macro version that handles
12727 lisp-object unions.
12728 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
12729 field, to better cope with ENABLE_CHECKING and calls that modify a
12730 Lisp_Object using its old value.
12731
685e5ed2
GM
127322000-04-04 Gerd Moellmann <gerd@gnu.org>
12733
c407c570
GM
12734 * window.c (compare_window_configurations): Signal an error
12735 if parameters C1 or C2 aren't window configurations.
12736
685e5ed2
GM
12737 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
12738 AFTER_POTENTIAL_GC calls around calls to functions that can
12739 signal an error and thus invoke the debugger.
12740
587a49ab
GM
127412000-04-03 Gerd Moellmann <gerd@gnu.org>
12742
62f20204
GM
12743 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
12744 an error if decoding fails.
12745
587a49ab
GM
12746 * keyboard.c (lispy_mouse_names): Variable removed.
12747 (Vlispy_mouse_stem): New variable.
12748 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
12749 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
12750 for any mouse button number. Increase size of mouse_syms and
12751 button_down_location as needed. Call modify_event_symbol with
12752 different arguments.
12753 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
12754 Call modify_event_symbol with different arguments.
12755 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
12756 for any button number. Call modify_event_symbol with different
12757 arguments.
12758 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
12759 Accept a string for NAME_ALIST_OR_STEM.
12760
12761 * lisp.h (larger_vector): Add prototype.
12762
12763 * fns.c (larger_vector): Make externally visible.
12764
12765 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
12766
2d1675e4
SM
127672000-04-02 Stefan Monnier <monnier@cs.yale.edu>
12768
12769 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
12770 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
12771 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
12772 we are between str1 and str2.
12773 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
12774 (PATFETCH): Use `TRANSLATE'.
12775 (PATFETCH_RAW): Fetch multibyte char if applicable.
12776 (PATUNFETCH): Remove.
12777 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
12778 When writing a char, write it directly into the pattern buffer rather
12779 than going needlessly through a temp char-array.
12780 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
12781 multibyte magic and remove the useless `#ifdef emacs'.
12782 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
12783 buffer.
12784
12785 * regex.h (struct re_pattern_buffer): Make field `multibyte'
12786 conditional on `emacs'.
12787
12788 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
12789
cc2d8c6b
KR
127902000-04-01 Ken Raeburn <raeburn@gnu.org>
12791
12792 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
12793 non-union-type versions of XMARK and friends here, because XMARK
12794 and friends won't work on an integer field if NO_UNION_TYPE is not
12795 defined.
52283633 12796 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 12797
52283633 12798 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
12799 (syms_of_composite): Delete local var NARGS, pass an int as first
12800 argument to Fmake_hash_table.
12801
2387b382
KR
12802 * editfns.c (text_property_stickiness): Use NILP to test
12803 Lisp_Object boolean value.
12804 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
12805 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
12806 problems reading from and changing the same lisp value in an
12807 XSETSTRING call.
12808
27660e89
GM
128092000-04-01 Gerd Moellmann <gerd@gnu.org>
12810
12811 * term.c (TN_no_color_video): New variable.
12812 (term_init): Intitialize TN_no_color_video.
12813 (enum no_color_bit): New enumeration.
12814 (MAY_USE_WITH_COLORS_P): New macro.
12815 (turn_on_face): Use it to determine if attributes may be used
12816 combined with colors.
12817
3578db3c
KR
128182000-04-01 Ken Raeburn <raeburn@gnu.org>
12819
12820 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 12821 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
12822 (enlarge_window): Variable sizep now points to Lisp_Object. Use
12823 proper accessor macros.
12824 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
12825 (grow_mini_window): Fix typo getting int value of root->height.
12826
6fc556fd
KR
12827 * xdisp.c (compute_string_pos): Fix order of arguments to
12828 string_pos_nchars_ahead.
12829 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
12830 count arg to variable-arg routines like Frun_hook_with_args and
12831 Fformat.
587a49ab
GM
12832 (back_to_previous_visible_line_start)
12833 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
12834 fixed-arg routines like Fget_char_property and Fmake_string.
12835 (reconsider_clip_changes): Use XINT when comparing integer lisp
12836 objects, or passing them as int arguments.
587a49ab
GM
12837 (mark_window_display_accurate, insert_left_trunc_glyphs)
12838 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
12839 storing or passing integer values as lisp objects.
12840 (set_cursor_from_row, highlight_trailing_whitespace): Use
12841 INTEGERP, not implicit test against zero, for glyph object.
12842 (try_window_id): Don't use make_number when we want an int value.
12843
12844 * xfaces.c (xlfd_symbolic_value): Make last argument a
12845 Lisp_Object, to be consistent with callers.
12846 (Fbitmap_spec_p): Use XINT to get numeric value of height.
12847 (lface_hash): Apply XFASTINT to lisp values before folding in.
12848
12849 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
12850 fill in window width and height. Pass an int, not a lisp object,
12851 as first arg to Finsert.
12852
6e7b2457
GM
128532000-04-01 Gerd Moellmann <gerd@gnu.org>
12854
610d841e
GM
12855 * xfaces.c (realize_basic_faces): Block input while realizing
12856 the faces.
12857
6e7b2457
GM
12858 * keyboard.c (lispy_mouse_names): Add additional mouse names.
12859
12860 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
12861
aa110c0c
GM
128622000-03-31 Gerd Moellmann <gerd@gnu.org>
12863
12864 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 12865 or ASCII, handle case that per-char metric is null.
aa110c0c 12866
8801a864
KR
128672000-03-30 Ken Raeburn <raeburn@gnu.org>
12868
c6129d7e
KR
12869 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
12870
52283633
SM
12871 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
12872 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
12873 pointer, using eassert.
12874 * frame.h (XFRAME): Likewise.
12875
52283633
SM
12876 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
12877 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
12878 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 12879 * data.c (set_internal): Likewise.
52283633
SM
12880 * dispextern.h (WINDOW_WANTS_MODELINE_P)
12881 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
12882 * fileio.c (auto_save_1): Likewise.
12883 * insdel.c (check_markers): Likewise.
12884 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
12885 * undo.c (record_insert): Likewise.
12886 * vmsproc.c (child_sig): Likewise.
12887 * window.c (unshow_buffer, window_loop): Likewise.
12888 * xterm.c (x_erase_phys_cursor): Likewise.
12889
8e7af858
GM
128902000-03-30 Gerd Moellmann <gerd@gnu.org>
12891
12892 * xfns.c (free_image_cache): Free the cache structure itself
12893 last, after all its members have been freed.
12894
12895 * lisp.h (xstrdup): Add prototype.
12896
12897 * alloc.c (xstrdup): Moved here from xfaces.c.
12898 (allocating_for_lisp): Variable removed.
52283633 12899 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
12900
12901 * xfaces.c (realize_tty_face): Use find_symbol_value instead
12902 of Fsymbol_value.
12903 (xstrdup): Moved to alloc.c.
12904
e0b8c689
KR
129052000-03-29 Ken Raeburn <raeburn@gnu.org>
12906
b96f9fb7
KR
12907 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
12908
12909 * emacs.c (main): Fix sense of no-loadup test.
12910
e0b8c689
KR
12911 * config.in (ENABLE_CHECKING): Undef.
12912
12913 * lisp.h (struct interval): Replace "parent" field with a union of
12914 interval pointer and Lisp_Object; add new bitfield to use as
12915 discriminant. Change other flag fields to bitfields.
12916 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
12917 is defined and the supplied test fails, print a message and abort.
12918 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
12919
12920 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
12921 pointers; abort if the value looks like a lisp object.
52283633
SM
12922 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
12923 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
12924 Modify for new interval parent definition.
12925
52283633
SM
12926 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
12927 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
12928 addressable lisp object in the interval structure.
12929 (die): New function.
12930 (suppress_checking): New variable.
12931
12932 * intervals.c (interval_start_pos): Just return 0 if there's no
12933 parent object.
12934
f83c5440
GM
129352000-03-29 Gerd Moellmann <gerd@gnu.org>
12936
12937 * lread.c (read1): Accept `.' (period) as symbol start like in CL
12938 and earlier Emacs versions.
12939
12940 * keyboard.c (Ftop_level): Cancel busy-cursor.
12941
12942 * eval.c (call_debugger): Cancel busy-cursor.
12943
fdce64ff
KH
129442000-03-29 Kenichi Handa <handa@etl.go.jp>
12945
12946 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 12947 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 12948
f6a3f532
SM
129492000-03-28 Stefan Monnier <monnier@cs.yale.edu>
12950
12951 * regex.c (analyse_first): New function obtained by ripping out most
12952 of re_compile_fastmap and generalizing it a little bit so that it
12953 can also just return whether a given (sub)pattern can match the empty
12954 string or not.
12955 (regex_compile): Use `analyse_first' to decide whether the loop-check
12956 needs to be done or not for *, +, *? and +? (the loop check is costly
12957 for non-greedy repetition).
12958 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
12959
e9b309ac
DL
129602000-03-28 Dave Love <fx@gnu.org>
12961
52283633 12962 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 12963
e9b309ac
DL
12964 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
12965
ed0767d8
SM
129662000-03-27 Stefan Monnier <monnier@cs.yale.edu>
12967
12968 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
12969 an expression.
12970 (enum re_opcode_t): Update description of succeed_n.
12971 (PATFETCH): Always define.
12972 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
12973 operators, char classes, shy-groups and intervals).
12974 Optimize special cases of intervals so as to only use succeed_n and
12975 jump_n when really needed.
12976 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
12977 that we don't have to handle the special cases any more.
12978 Simplify on_failure_jump handling as well.
12979
e11e7e46
JR
129802000-03-28 Jason Rumney <jasonr@gnu.org>
12981
12982 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
12983
88faab89
GM
129842000-03-27 Gerd Moellmann <gerd@gnu.org>
12985
182ff242
GM
12986 * s/freebsd.h (GC_SETJMP_WORKS): Define.
12987
12988 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 12989
182ff242
GM
12990 * alloc.c (mark_maybe_object): New function.
12991 (mark_memory): Use it.
12992 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
12993 (setjmp_tested_p, longjmp_done): New variables.
12994 (test_setjmp): New function.
12995 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
12996 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
12997
c1005d06
GM
12998 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
12999 to DEC_TEXT_POS and INC_TEXT_POS.
13000
13001 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
13002 with parameter MULTIBYTE_P.
13003
52283633 13004 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 13005
7439e5b9 13006 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
13007 buffers because it looks for multibyte character byte sequences
13008 which don't exist in unibyte text.
7439e5b9 13009
d9c545da
GM
13010 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
13011
11fd416e 13012 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
13013 [DEBUG_X_COLORS]: New functions.
13014 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
13015
13016 * xfns.c (x_set_cursor_color): Get color reference counts right.
13017
13018 * xterm.c (x_copy_color): New function.
13019 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
13020
13021 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
13022 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
13023 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
13024 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
13025 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
13026 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
13027 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
13028 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
13029 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
13030 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
13031
11fd416e
GM
13032 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
13033 names for handling per-buffer variables.
d9c545da
GM
13034
13035 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
13036 instead of MAX_BUFFER_LOCAL_VARS.
13037 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
13038
13039 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
13040
88faab89
GM
13041 * xfns.c (x_specified_cursor_type): New function.
13042 (x_set_cursor_type): Use it.
13043
13044 * buffer.h (struct buffer): Add cursor_type.
13045
d80f42b7
SM
130462000-03-26 Stefan Monnier <monnier@cs.yale.edu>
13047
13048 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
13049 (print_partial_compiled_pattern, re_compile_fastmap):
13050 Handle new opcode.
d80f42b7
SM
13051 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
13052 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
13053 executing it as well as when popping it off the stack to find infinite
13054 loops in non-greedy repetition operators.
13055
89e80928
GM
130562000-03-26 Gerd Moellmann <gerd@gnu.org>
13057
3d4ff2dd
GM
13058 * doc.c (Qfunction_documentation): New variable.
13059 (syms_of_doc): Initialize Qfunction_documentation.
13060 (Fdocumentation): If FUNCTION is a symbol with non-nil
13061 `function-documentation' property, return a documentation derived
13062 from that.
13063
bd96bd79
GM
13064 * buffer.c (syms_of_buffer): Add default-cursor-type.
13065 (init_buffer_once): Don't let cursor_type have a local value
13066 in every buffer.
13067
19d1bc27
GM
13068 * xterm.c (x_display_and_set_cursor): Choose cursor depending
13069 on buffer-local value of cursor_type.
13070 (x_draw_bar_cursor): Add parameter WIDTH.
13071
13072 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
13073 (init_buffer_once): Set default cursor_type value to t.
13074 Mark cursor_type as local everywhere.
13075 (syms_of_buffer): New per-buffer variable cursor-type.
13076
89e80928
GM
13077 * buffer.h (struct buffer): Remove member local_var_flags,
13078 add local_flags.
13079 (MAX_BUFFER_LOCAL_VARS): New macro.
13080 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
13081 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
13082 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
13083 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
13084
52283633 13085 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
13086
13087 * category.c (Fset_category_table): Use new macros for per-buffer
13088 variables.
13089
13090 * buffer.c (buffer_permanent_local_flags): Make a char array.
13091 (max_buffer_local_idx): New variable.
13092 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
13093 for new handling of per-buffer variables.
13094 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
13095 (init_buffer_once): Initialize per-buffer vars differently.
13096 Set max_buffer_local_idx.
13097
13098 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
13099 variables.
13100
52283633 13101 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
13102
13103 * data.c (do_symval_forwarding, store_symval_forwarding)
13104 (find_symbol_value, set_internal, default_value, Fset_default)
13105 (Fkill_local_variable, Flocal_variable_p): Use new macros for
13106 per-buffer variables.
13107
13108 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
13109
9a0dd3dc
GM
131102000-03-24 Gerd Moellmann <gerd@gnu.org>
13111
b68c375f
GM
13112 * xterm.c (x_term_init): Unblock input around call1 of
13113 Qvendor_specific_keysyms.
13114
9a0dd3dc
GM
13115 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
13116 (find_defun_start): Consider an open parenthesis in column 0
13117 a defun start only if open_paren_in_column_0_is_defun_start is set.
13118 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
13119
7973e637
SM
131202000-03-24 Stefan Monnier <monnier@cs.yale.edu>
13121
13122 * eval.c (Fautoload): Add entry in load-history (if after dump).
13123 * lread.c (load-history): Update docstring.
13124
39210e90
GM
131252000-03-24 Gerd Moellmann <gerd@gnu.org>
13126
13127 * indent.c (Fvertical_motion): Always use the current buffer.
13128 Temporarily change the window's buffer, if necessary.
13129
72db3ab5
GM
131302000-03-23 Gerd Moellmann <gerd@gnu.org>
13131
13132 * xterm.c (fast_find_position): Make sure not to consider rows
13133 not visible in the window.
13134
990b2375
SM
131352000-03-22 Stefan Monnier <monnier@cs.yale.edu>
13136
13137 * regex.c (enum syntaxcode): Provide default for non-Emacs.
13138 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
13139
ff4df011
JR
131402000-03-22 Jason Rumney <jasonr@gnu.org>
13141
13142 * w32menu.c (single_submenu): Set help string to NULL if none.
13143 (w32_menu_show): Set help string correctly.
13144 (add-menu-item): Set help string in MIIM_DATA for menu item.
13145 Load SetMenuItemInfoA explicitly.
13146 (w32_menu_display_help): New function.
427ec082 13147
ff4df011
JR
13148 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
13149 (QCdata): Moved to xdisp.c.
13150
13151 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
13152 (Vw32_charset_to_codepage_alist): Removed.
13153 (Vw32_charset_info_alist): New variable.
52283633
SM
13154 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
13155 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
13156 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
13157 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
13158 with TODO comment.
13159 (w32_codepage_for_font): Use Vw32_charset_info_alist.
13160 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
13161 Define Vw32_charset_info_alist and w32_charset symbols.
13162
131632000-03-22 Jason Rumney <jasonr@gnu.org>
13164
13165 * makefile.nt (w32bdf.obj): Update dependencies.
13166
13167 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
13168
13169 * w32fns.c: Include fontset.h after dispextern.h.
13170 (Fx_create_frame): Do not create fontset.
13171 (w32_load_system_font): Doc fix.
13172 (Fx_close_connection): Free full_name if it is not shared.
13173
13174 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
13175 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
13176 Callers updated.
ff4df011
JR
13177 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
13178 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
13179 (w32_font_is_double_byte): New function, needs body.
13180 (x_append_glyph): Set glyph->glyph_not_available_p.
13181 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13182 it->charset. If it->multibyte_p is zero and it->c is a multibyte
13183 character, convert it to a unibyte character.
13184 (struct glyph_string): Delete member `charset'.
13185 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
13186 calculating it is found.
13187 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13188 the case that per char metric is not available correctly.
13189 (x_fill_glyph_string): Handle the case that the specific glyph is
13190 not available correctly.
13191 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13192 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13193 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13194 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13195 fontset. Don't call FS_LOAD_FONT.
13196
439d5cb4
KR
131972000-03-22 Ken Raeburn <raeburn@gnu.org>
13198
13199 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
13200 (INT_LISPLIKE): New macro.
13201 (NULL_INTERVAL_P): Use it.
52283633
SM
13202 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
13203 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
13204 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
13205
13206 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
13207 explicit references to "parent" field of struct interval and
13208 associated unclean type conversions.
52283633
SM
13209 * intervals.c (create_root_interval, root_interval, rotate_right)
13210 (rotate_left, balance_possible_root_interval, split_interval_right)
13211 (split_interval_left, interval_start_pos, find_interval)
13212 (next_interval, previous_interval, update_interval)
13213 (adjust_intervals_for_insertion, delete_node, delete_interval)
13214 (adjust_intervals_for_deletion, merge_interval_right)
13215 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
13216 (copy_intervals_to_string): Likewise.
439d5cb4
KR
13217 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
13218 Likewise.
13219 * syntax.c (update_syntax_table): Likewise.
13220
13221 * intervals.c (reproduce_tree_obj): New function, like
13222 reproduce_tree but takes a Lisp_Object for the parent. Declare
13223 with prototype.
13224 (graft_intervals_into_buffer): Use it when appropriate.
13225 (reproduce_tree): Declare with prototype.
13226 (balance_possible_root_interval): Check that the parent is a lisp
13227 object before trying to examine its type.
13228
ee1c5b21
GM
132292000-03-22 Gerd Moellmann <gerd@gnu.org>
13230
13231 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
13232 as strings only if both are known to be strings.
13233
13234 * s/openbsd.h (LIBS_TERMCAP): Undef.
13235
1fb352e0
SM
132362000-03-21 Stefan Monnier <monnier@cs.yale.edu>
13237
13238 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
13239 definitions for non-Emacs compilation.
13240 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
13241 outside of `#ifdef emacs'.
13242 (print_partial_compiled_pattern): Update.
13243 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
13244 (re_compile_fastmap): Merge handling of charset and charset_not (for
13245 emacs and non-emacs compilation as well).
13246 Similarly for (not)categoryspec and (not)syntaxspec.
13247 Don't use the fastmap when reaching `anychar' since the added
13248 complexity is not justified.
13249 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
13250 and (not)syntaxspec. Merge (not)categoryspec.
13251
fdaa1f77
KH
132522000-03-22 Kenichi Handa <handa@etl.go.jp>
13253
52283633
SM
13254 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
13255 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 13256 --without-x.
fdaa1f77 13257
d152fb46
DL
132582000-03-21 Dave Love <fx@gnu.org>
13259
13260 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
13261 doc string.
13262
d2cafc8c
GM
132632000-03-21 Gerd Moellmann <gerd@gnu.org>
13264
13265 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
13266 (lface_fully_specified_p): Don't check contents of
13267 LFACE_FONT_INDEX because that attribute is optional.
13268 (realize_x_face): Remove now unwarranted xassert.
13269
9111d4b5
KH
132702000-03-21 Kenichi HANDA <handa@etl.go.jp>
13271
13272 The following changes are to make font selection based on
13273 characters, not charset. In addition, they recover fontset
13274 facilities while utilizing the new font selection mechanism.
13275
6c4bfdc0
KH
13276 * Makefile.in (fontset.o): Depend on dispextern.h.
13277
13278 * alloc.c (mark_face_cache): Don't mark face->registry.
13279
9111d4b5
KH
13280 * dispextern.h (struct glyph): New member glyph_not_available_p.
13281 Use 22 bits for face_id.
13282 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
13283 (struct face): Delete member registry, new member ascii_face.
13284 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
13285 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
13286 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 13287 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
13288
13289 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
13290 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
13291 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
13292 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 13293 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
13294 (fs_free_face_fontset, fontset_font_pattern)
13295 (face_suitable_for_char_p, face_for_char)
13296 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
13297 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
13298 (FS_LOAD_FACE_FONT): New macro.
13299
13300 * fontset.c: All codes rewritten or adjusted for the change of
13301 fontset implementation. Now fontset is represented by char table.
52283633
SM
13302 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
13303 Variables removed.
9111d4b5 13304 (my_strcasecmp): Function removed.
52283633 13305 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 13306 (AREF, ASIZE): New macros.
52283633
SM
13307 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
13308 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
13309 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
13310 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
13311 (fontset_id_valid_p, font_family_registry, fontset_name)
13312 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
13313 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
13314 New functions.
13315 (fs_load_font): New arg FACE. Caller changed.
13316 (fs_query_fontset): Argument changed. Caller changed.
13317 (Fquery_fontset): call fs_query_fontset.
13318 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
13319 Functions removed.
52283633
SM
13320 (clear_fontset_elements, check_registry_encoding)
13321 (check_fontset_name): New functions.
9111d4b5
KH
13322 (syms_of_fontset): Set char-table-extra-slots property of fontset
13323 to 3. Staticpro and initialize Vfontset_table and
13324 Vdefault_fontset. Defsubr fontset_font and fontset_list.
13325
13326 * frame.h (struct frame): Member `fontset_data' removed.
13327 (FRAME_FONTSET_DATA): Macro removed.
13328
13329 * frame.c (make_frame): Don't allocate f->fontset_data.
13330 (Fdelete_frame): Don't free f->fontset_data.
13331
6c4bfdc0
KH
13332 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
13333
9111d4b5
KH
13334 * xdisp.c (charset_at_position): Function removed.
13335 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
13336 (handle_face_prop, reseat_to_string, set_iterator_to_next)
13337 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
13338 Likewise.
13339 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
13340 FACE_FOR_CHARSET.
52283633
SM
13341 (get_next_display_element, append_space)
13342 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
13343
13344 * xfaces.c (Qx_charset_registry, Vface_default_registry):
13345 Variables removed.
13346 (clear_font_table, frame_update_line_height, load_face_font):
13347 Adjusted for the change of fontset implementation.
13348 (load_face_fontset_font): Function removed.
13349 (pixel_point_size): New function.
13350 (font_list): Argument type changed. Caller changed.
13351 (LFACE_FONT): New macro.
13352 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
13353 (set_lface_from_font_name): Type of arg FONTNAME is changed to
13354 Lisp_Object. Determine the font name by actually loading a font
13355 by the specified pattern. Set LFACE_FONT (lface) to the specified
13356 pattern. Even if a font is not found, don't try alternatives.
13357 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
13358 (set_font_frame_param): If `font' is specified in lface, use it.
13359 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
13360 (lface_same_font_attributes_p): Likewise.
13361 (make_realized_face): Arguent changed. Caller changed. Set
13362 face->ascii_face to face itself.
13363 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
13364 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
13365 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
13366 (free_realized_multibyte_face): New function.
13367 (lookup_face, lookup_named_face, lookup_derived_face): Argument
13368 changed. Caller changed.
13369 (try_font_list): Argument type changed.
13370 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
13371 (choose_face_font): Argument changed. Handle fontset properly.
13372 (choose_face_fontset_font): Function removed.
13373 (realize_default_face, realize_named_face): Don't remove the
13374 former face here.
13375 (realize_face): Argument changed. Caller changed. Remove face
52283633 13376 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
13377 (realize_x_face): Argument changed. Caller changed. For a
13378 multibyte character, share fontset with base_face. For a single
52283633 13379 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
13380 (realize_tty_face): Argument changed. Caller changed.
13381 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
13382 (face_at_buffer_position): Don't check multibyte_p for returning
13383 DEFAULT_FACE_ID.
13384 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
13385 FACE_SUITABLE_FOR_CHARSET_P.
13386 (syms_of_xfaces): Remove code for Qx_charset_registry and
13387 Vface_default_registry.
13388
6c4bfdc0
KH
13389 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
13390 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
13391 (x_per_char_metric): Don't try FONT->default_char. Even if
13392 pcm->width is zero, glyph bits may exist.
13393 (x_encode_char): Always initialize char2b->byte1.
13394 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 13395 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
13396 (x_append_glyph): Set glyph->glyph_not_available_p.
13397 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13398 it->charset. Handle the case that per char metric is not
13399 available. If it->multibyte_p is zero and it->c is a multibyte
13400 character, convert it to a unibyte character.
13401 (struct glyph_string): Delete member `charset'.
13402 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13403 the case that per char metric is not available correctly.
13404 (x_fill_glyph_string): Handle the case that the specific glyph is
13405 not available correctly.
13406 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13407 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13408 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13409 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13410 fontset. Don't call FS_LOAD_FONT.
13411
13412 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
13413 (x_create_tip_frame): Likewise.
13414 (Fx_close_connection): Free full_name of font_info.
13415
13416 * fns.c (optimize_sub_char_table): New function.
13417 (Foptimize_char_table): New function.
13418 (syms_of_fns): Defsubr Soptimize_char_table.
13419
b33dd3b0
GM
134202000-03-20 Gerd Moellmann <gerd@gnu.org>
13421
13422 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
13423 only if buffer is displayed in some window.
13424
13425 * xdisp.c (handle_single_display_prop): Initialize local `value'.
13426 (try_window_reusing_current_matrix): Don't call scroll run
13427 function if run's current and desired position are the same;
13428 this prevents cursor flickering.
13429
4e8a9132
SM
134302000-03-19 Stefan Monnier <monnier@cs.yale.edu>
13431
13432 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
13433
13434 * regex.c (RE_STRING_CHAR): New macro.
13435 (GET_CHAR_AFER_2): Remove.
13436 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
13437 (enum re_opcode_t): Remove on_failure_jump_exclusive.
13438 (print_partial_compiled_pattern, re_compile_fastmap)
13439 (re_match_2_internal): Remove on_failure_jump_exclusive.
13440 (regex_compile): Turn optimizable P+ loops into PP*, so that the
13441 optimization only need to work for * (ie. can use of_keep_string_jump).
13442 Remove the special case for .*\n since it is now covered by the general
13443 optimization.
13444 (re_search_2): Don't bother with `room'.
13445 (skip_one_char): New function.
13446 (skip_noops): Simplify since `memory' is not needed any more.
13447 (mutually_exclusive_p): Restructure slightly to use `switch' and
13448 add handling for "all" remaining cases.
13449 (re_match_2_internal): Change on_failure_jump_smart to use
13450 on_failure_keep_string_jump (and redirect the end-of-loop jump)
13451 rather than on_failure_jump_exclusive.
13452
2136fdd4
GM
134532000-03-19 Gerd Moellmann <gerd@gnu.org>
13454
13455 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
13456 number of bits per RGB because it's everywhere used as the depth
13457 of the visual.
13458
13459 * term.c (calculate_costs): Remove code dealing with X frames.
13460
18e21ce8 134612000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
13462
13463 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
13464
d7b511c4
GM
134652000-03-18 Gerd Moellmann <gerd@gnu.org>
13466
13467 * lread.c (read_integer): Unread the last char not consumed.
13468
16b5d424
GM
134692000-03-17 Gerd Moellmann <gerd@gnu.org>
13470
13471 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 13472 which are in the process of being deleted.
16b5d424 13473
1fa28578
GM
134742000-03-16 Gerd Moellmann <gerd@gnu.org>
13475
83488cce
GM
13476 * Makefile.in (mostlyclean): Add `*.core'.
13477 (clean): Add `bootstrap-emacs'.
13478
1fa28578
GM
13479 * lread.c (read_integer): New function.
13480 (read1): Support read syntax #o, #x, #b, #r.
13481
99633e97
SM
134822000-03-15 Stefan Monnier <monnier@cs.yale.edu>
13483
1fa28578
GM
13484 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
13485 make sure POINTER_TO_OFFSET gives the same value before and after
13486 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
13487 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
13488 (debug): Now only active if > 0 rather than if != 0.
13489 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
13490 (print_partial_compiled_pattern): Add missing `succeed' case. Use
13491 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
13492 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
13493 (store_op1, store_op2, insert_op1, insert_op2)
13494 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
13495 (group_in_compile_stack): Move to after its arg's types are
13496 declared and add a prototype.
99633e97 13497 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 13498 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 13499 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
13500 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
13501 indentation of the greedy-op and shy-group code.
99633e97
SM
13502 (at_(beg|end)line_loc_p): Fix argument's types.
13503 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
13504 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
13505 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
13506 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
13507 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
13508 QUIT unconditionally.
99633e97 13509
699238d9
GM
135102000-03-15 Gerd Moellmann <gerd@gnu.org>
13511
13512 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
13513 a sole completion.
13514
13515 * process.c (send_process): Add a hint that the function
13516 can call Lisp code to its comment.
13517
13518 * lread.c (load_dangerous_libraries): New variable.
13519 (Vbytecomp_version_regexp): New variable.
13520 (safe_to_load_p): New function.
13521 (Fload): Handle files not compiled with Emacs specially.
13522 (syms_of_lread): New Lisp variable load-dangerous-libraries.
13523
34e23e5a
GM
135242000-03-14 Gerd Moellmann <gerd@gnu.org>
13525
9c763cca
GM
13526 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
13527
13528 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
13529 support functions only if HAVE_X11R6_XIM is defined.
13530 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
13531
13532 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
13533
13534 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 13535 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
13536 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
13537
13538 * config.in (HAVE_X_I18N): Moved here from xterm.h.
13539 (HAVE_X11R6_XIM): Define.
13540
13541 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
13542
34e23e5a
GM
13543 * xterm.c (x_term_init): Add support for X resource `synchronous'.
13544 If set, call XSynchronize.
13545
66f0296e
SM
135462000-03-13 Stefan Monnier <monnier@cs.yale.edu>
13547
34e23e5a
GM
13548 * regex.c: Declare a new type `re_char' used throughout the code
13549 for the string char type. It's `const unsigned char' to match the
13550 rest of Emacs. Consistently make sure all pointers to strings use
52283633 13551 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 13552 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
13553 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
13554 code duplication.
66f0296e
SM
13555
13556 * charset.h (GET_CHAR_AFTER_2): Remove.
13557 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
13558
854a025c
KR
135592000-03-12 Ken Raeburn <raeburn@gnu.org>
13560
13561 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
13562 variable before the invocation of YMF_PASS_LDFLAGS, in case both
13563 of them try to use backquotes.
13564
b9d2c7e2
DL
135652000-03-12 Dave Love <fx@gnu.org>
13566
13567 * unexelf.c: Restore changes of 1999-10-19.
13568 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
13569 fix its type and alignment; copy it from current process.
13570
5e5dff44
GM
135712000-03-12 Gerd Moellmann <gerd@gnu.org>
13572
9b2f3c38
GM
13573 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
13574 has been found. Fix bug not computing timer's predecessor.
13575
427ec082 13576 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
13577 file name.
13578
e1cff360
GM
13579 * window.c (Fsave_window_excursion): Doc fix.
13580
52283633 13581 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 13582
e411ce4b
EZ
135832000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
13584
13585 * msdos.c (vga_installed): New function, code moved from
13586 dos_set_window_size.
13587 (Qbar, Qcursor_type, outside_cursor): New variables.
13588 (syms_of_msdos): Intern and staticpro them.
13589 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
13590 shape used outside Emacs when called for the first time.
13591 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
13592 cursor shape used outside Emacs.
13593 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
13594 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
13595 type has changed.
13596 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
13597 parameters specify the cursor. Make qreverse a global
13598 variable (renamed to Qreverse).
13599
80460654
GM
136002000-03-09 Gerd Moellmann <gerd@gnu.org>
13601
13602 * fns.c (Fy_or_n_p): Cancel busy-cursor.
13603
95cd4c40
SM
136042000-03-08 Stefan Monnier <monnier@cs.yale.edu>
13605
13606 This is a big redesign of failure-stack and register handling, prompted
13607 by bugs revealed when trying to add shy-groups. Overall, what happened
13608 is that loops are now structured a little differently, groups can be
13609 shy and the code is a little simpler.
13610
13611 * regex.h: Update the copyright.
13612 (RE_SHY_GROUPS): New value.
13613 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
13614 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
13615
80460654
GM
13616 * regex.c (enum re_opcode_t): Remove jump_past_alt,
13617 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
13618 on_failure_jump_(exclusive, loop and smart). Also fix the comment
13619 for (start|stop)_memory since they now only take one argument (the
13620 second has becomes unnecessary).
52283633 13621 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
13622 (print_compiled_pattern): Use %ld to printf long ints and flush to
13623 make debugging a little easier.
95cd4c40
SM
13624 (union fail_stack_elt): Make the integer unsigned.
13625 (struct fail_stack_type): Add a `frame' element.
13626 (INIT_FAIL_STACK): Init `frame' as well.
13627 (POP_PATTERN_OP): New macro for re_compile_fastmap.
13628 (DEBUG_PUSH, DEBUG_POP): Remove.
13629 (NUM_REG_ITEMS): Remove.
13630 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
13631 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
13632 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 13633 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
13634 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
13635 New macros.
80460654
GM
13636 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
13637 address pushed is not the destination of the jump but the source
13638 of it instead.
95cd4c40
SM
13639 (NUM_FAILURE_ITEMS): Remove.
13640 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
13641 registers before the actual failure point). Don't hardcode any
13642 meaning for str==NULL anymore.
95cd4c40 13643 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
13644 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
13645 Remove.
95cd4c40
SM
13646 (REG_UNSET_VALUE): Use NULL (why not?).
13647 (compile_range): Remove declaration since it doesn't exist.
13648 (struct compile_stack_elt_t): Remove inner_group_offset.
13649 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
13650 (regex_grow_registers): Remove dead code.
13651 (FIXUP_ALT_JUMP): New macro.
80460654
GM
13652 (regex_compile): Add shy-groups Change loops to use
13653 on_failure_jump_smart&jump instead of
13654 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
13655 initial (dummy_failure_)jump. Remove c1_base (looks like unused
13656 variable to me). Use `jump' instead of `jump_past_alt' and don't
13657 bother with push_dummy_failure in alternatives since it is now
13658 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
13659 emacs' for (re)allocating the stack.
13660 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
13661 from loop when bufp->can_be_null rather than jumping to `done'.
13662 Avoid jumping backwards so as to ensure termination. Use
13663 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
13664 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 13665 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
13666 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
13667 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
13668 (lowest_active_reg, highest_active_reg)
13669 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
13670 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
13671 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
13672 variables. Push register (in `start_memory') on the stack rather
13673 than storing it in old_reg(start|end). Remove the cycle detection
13674 from `stop_memory', replaced by the use of on_failure_jump_loop
13675 for greedy loops. Add code for the new on_failure_jump_<foo>.
13676 Remove ad-hoc code in `on_failure_jump' to push more registers in
13677 the case of a loop. Take out code from `maybe_pop_jump' into
13678 separate functions and adapt it to the semantics of
13679 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
13680 and push_dummy_failure. Remove dummy_failure handling and
13681 handling of `failures to jump to on_failure_jump' (this last one
13682 was already dead code, it seems).
13683 (group_match_null_string_p, alt_match_null_string_p)
13684 (common_op_match_null_string_p): Remove.
95cd4c40 13685
7397acc4
DL
136862000-03-08 Dave Love <fx@gnu.org>
13687
13688 * config.in: Don't depend on __STDC__ for volatile.
13689 Add POINTER_TYPE, PTR, PROTOTYPES.
13690
13691 * hftctl.c, strftime.c: Use PROTOTYPES.
13692 * eval.c (find_handler_clause): Likewise.
13693
13694 * mem-limits.h: Use POINTER_TYPE.
13695
13696 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
13697 (memory_warnings): Declare using POINTER_TYPE.
13698
5e91ff9e
GM
136992000-03-08 Gerd Moellmann <gerd@gnu.org>
13700
feab4fba
GM
13701 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
13702
52283633 13703 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 13704
5e91ff9e
GM
13705 * xfns.c: Remove obsolete code in #if 0.
13706 (Fx_focus_frame): New function.
13707
a735b7e1
KH
137082000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13709
13710 * coding.c (coding_category_name): Add coding-category-utf-8,
13711 coding-category-utf-16-be, coding-category-utf-16-le.
13712 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
13713 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
13714 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
13715 (detect_coding_utf_8): New function.
13716 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
13717 UTF_16_LOW_SURROGATE_P): New macros.
13718 (detect_coding_utf_16): New function
13719 (detect_coding_mask): When priorities are specified, skip any
13720 categories that have `nil' coding-system. Fix bug of returning
13721 wrong mask when PRIORITIES is specified and detect_coding_XXX()
13722 returns a mask not set in PRIORITIES.
13723 (detect_eol_type_in_2_octet_form): New function.
13724 (detect_eol): selects detect_eol_type_XXX to call according to
13725 cooding->category_idx.
13726 (detect_coding_system): Remove `nil' coding-system in the result.
13727 (Fupdate_coding_systems_internal): Update all coding-categories.
13728
52283633
SM
13729 * coding.h (CODING_CATEGORY_IDX_UTF_8)
13730 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
13731 New macros.
13732 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
13733 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
13734 (CODING_CATEGORY_IDX_UTF_16_LE)
13735 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
13736 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
13737 (CODING_CATEGORY_MASK_ANY): Include the above macros.
13738 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
13739
9994cc69
GM
137402000-03-07 Gerd Moellmann <gerd@gnu.org>
13741
e9b4e5ff
GM
13742 * doc.c (Fdocumentation_property): If value is not a string,
13743 and doesn't refer to etc/DOC, evaluate it to obtain a string.
13744
f7daf1e1
GM
13745 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
13746 close the display with XtCloseDisplay. This caused a bus error
13747 on OpenWindows.
13748
9994cc69
GM
13749 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
13750 complete but not unique.
13751
4336c705
GM
137522000-03-06 Gerd Moellmann <gerd@gnu.org>
13753
18bb0684
GM
13754 * process.c (send_process): Remove local variable `procname' that
13755 might become invalid when a GC happens. Instead, access the
13756 process name slot directly.
13757
4336c705
GM
13758 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
13759 orig_height if set.
13760
13761 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
13762 orig_height if set.
13763
515d0d0e
EZ
137642000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
13765
13766 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
13767 glyph matrices have been freed.
13768
100b3cbb
GM
137692000-03-05 Gerd Moellmann <gerd@gnu.org>
13770
50df5e5a 13771 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 13772 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
13773
13774 * xfns.c (QCdata): Moved to xdisp.c.
13775
13776 * xdisp.c (QCdata): Moved here from xfns.c.
13777 (syms_of_xdisp): Initialize QCdata.
13778
13779 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
13780
13781 * window.c (coordinates_in_window): Use
13782 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
13783 FRAME_INTERNAL_BORDER_WIDTH.
13784
100b3cbb 13785 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 13786 it is obviously invalid.
100b3cbb
GM
13787
13788 * xterm.c (x_term_init): Create a colormap if not using the
13789 default visual.
13790
13791 * xterm.h (select_visual): Change prototype.
13792
13793 * xfns.c (select_visual): Rewritten. Recognize user-specified
13794 visual classes.
13795 (visual_classes): New variable.
13796
64d739c4
GM
137972000-03-04 Gerd Moellmann <gerd@gnu.org>
13798
13799 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
13800 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
13801 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 13802 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
13803 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
13804 XtNcolormap resources.
13805 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
13806 (Fx_create_frame): Initialize color members of x_output structure.
13807 (xpm_load): Pass colormap to XPM lib.
13808
13809 * xfaces.c (x_free_colors): Access colormap of frame using
13810 FRAME_X_COLORMAP. Be paranoid about freeing black and white
13811 when default colormap is used.
13812
13813 * xterm.c (x_term_init): Set Colormap member of x_display_info
13814 structure. Copy colormap if resource `privateColormap' is
13815 specified (PseudoColor only).
13816 (x_setup_relief_color): Access colormap of frame using
13817 FRAME_X_COLORMAP.
13818
13819 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
13820 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
13821
c3cee013
JR
138222000-03-04 Jason Rumney <jasonr@gnu.org>
13823
13824 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
13825 other non-platform-specific equivalents.
64d739c4 13826 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
13827 specific functions and macros as their w32 equivalents where
13828 non-platform-specifics are not available.
13829 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
13830 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
13831 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
13832 (frame_update_line_height): Use macros to access f->output_data.
13833 (defined_color): Remove FIXME comments; fixed.
13834 (x_face_list_fonts, prepare_face_for_display): Put X specifics
13835 into #ifdef blocks. Add WINDOWSNT blocks.
13836 (Fx_list_fonts): Use macros for accessing font data.
13837 (set_lface_from_font_name): Different default fonts for X and
13838 WINDOWSNT.
13839 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
13840 scalable for backward compatibility.
64d739c4 13841 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
13842 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
13843
64d739c4 13844 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
13845 syms_of_w32faces.
13846
13847 * makefile.nt (w32faces.obj): Remove.
13848 (xfaces.obj): Add.
13849
807cc41c
JR
138502000-03-03 Jason Rumney <jasonr@gnu.org>
13851
13852 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
13853 correct parameters.
13854
0007072a
KR
138552000-03-03 Ken Raeburn <raeburn@gnu.org>
13856
13857 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
13858 standard ELF definitions here if the system header does not.
13859
71a6ba55
GM
138602000-03-03 Gerd Moellmann <gerd@gnu.org>
13861
13862 * xterm.c (PER_CHAR_METRIC): Removed.
13863 (x_per_char_metric_1, x_default_char): New functions.
13864 (x_per_char_metric): If font's default char is invalid, return
13865 metrics of a suitably chosen usable default char.
13866 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
13867 char, replace occurrences of unprintable chars with a suitably
13868 chosen usable default char.
71a6ba55 13869
900fa1f1
GM
138702000-03-02 Gerd Moellmann <gerd@gnu.org>
13871
42f55fe0
GM
13872 * xterm.c (note_mouse_highlight): Return quickly if frame's
13873 glyph matrices have been freed.
13874
13875 * dispnew.c (free_glyphs): Block input while freeing matrices.
13876
900fa1f1
GM
13877 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
13878
52283633
SM
13879 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
13880 Use x_free_colors.
900fa1f1
GM
13881
13882 * dispextern.h (x_free_colors): Add prototype.
13883
13884 * xfaces.c (x_free_colors): New function.
13885 (unload_color, free_face_colors): Use it.
13886
2f950292
EZ
138872000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
13888
13889 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
13890
13891 * window.c [MSDOS]: Include msdos.h.
13892
54d04320
DL
138932000-03-02 Dave Love <fx@gnu.org>
13894
13895 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
13896
13897 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
13898 set C_OPTIMIZE_SWITCH for gcc.
13899
0ba93ac4
KH
139002000-03-02 Kenichi Handa <handa@etl.go.jp>
13901
13902 * coding.c (coding_save_composition): Be sure to allocate
13903 composition data area in coding even if there's no composition in
13904 the current run.
13905
a2bc11d4
JR
139062000-03-01 Jason Rumney <jasonr@gnu.org>
13907
13908 * w32term.c: Equivalent changes to those made to xterm.c on
13909 2000-02-25 and 2000-02-24.
13910
13911 * w32fns.c: Equivalent changes to those made to xfns.c on
13912 2000-02-25 and 2000-02-21.
13913
13914 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
13915 correct line-end convention is followed.
13916
13917 * w32menu.c [HAVE_BOXES]: Remove #undef.
13918 (single_keymap_panes): Remove code for simulating checkmarks.
13919 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
13920 Remove code for drawing simulated checkmarks.
13921 (w32_menu_show): make unibyte help string correctly.
13922 (add_menu_item): draw standard Windows checkmarks. Draw radio
13923 buttons as radio buttons if possible.
13924
72d19d75
GM
139252000-03-01 Gerd Moellmann <gerd@gnu.org>
13926
2df636f4
GM
13927 * sysdep.c (start_of_text): Don't define this function for NetBSD
13928 with ELF.
13929
427ec082 13930 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
13931 Don't define.
13932 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
13933 (LINKER): Don't undef if __NetBSD__ is defined.
13934
13935 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
13936
13937 * fileio.c [__NetBSD__]: Define `unix'.
13938
72d19d75
GM
13939 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
13940
ed4d0512
GM
139412000-02-29 Gerd Moellmann <gerd@gnu.org>
13942
50b1039f
GM
13943 * atimer.c (start_atimer): Don't abort when timers are stopped.
13944 (append_atimer_lists): New function.
13945 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
13946 arbitrary lists of stopped and running atimers.
13947
ed4d0512
GM
13948 * atimer.c (cancel_atimer): Handle canceling an atimer when
13949 some timers are stopped.
13950
13951 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
13952 after canceling it.
13953
13954 * fns.c (maybe_resize_hash_table): Handle case of new size
13955 coming out as being the same as old size.
13956
387023ee
JR
139572000-02-27 Jason Rumney <jasonr@gnu.org>
13958
13959 * makefile.nt: Add atimer.h to dependencies.
13960 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
13961 * w32console.c: Only disable window system features for dispextern.h
13962 (initialize_w32_display): Build a display info for the console.
13963 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
13964 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
13965 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
13966 as 2 button mice.
13967 * w32gui.h (struct W32FontStruct): Revert last change after change
13968 to xdisp.c.
13969 * w32menu.c (single_submenu): Set up help string.
13970 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
13971 (w32_dialog_show): Set up help string.
13972 * w32term.c (w32_display_info_for_display): Remove unused function.
13973 (w32_draw_bitmap): Use pre-built bitmaps.
13974 (w32_initialize_display_info): New function to initialize parts of
13975 display info that are common to both GUI and console frames.
13976 (w32_term_init): Use w32_initialize_display_info. Do not set
13977 Vw32_num_mouse_buttons here, as it is not called for console
13978 frames. Build bitmaps for indicating truncated lines etc.
13979 (x_delete_display): Destroy pre-built bitmaps.
13980 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
13981 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
13982
4516715a
DL
139832000-02-27 Dave Love <fx@gnu.org>
13984
13985 * lisp.h: Add a bunch of prototypes.
13986
171ca836
KH
139872000-02-26 Kenichi Handa <handa@etl.go.jp>
13988
13989 * keyboard.c (read_char): Set `usec' correctly.
13990
4013921d
KH
139912000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13992
13993 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
13994 `lambda', set reg[RRR] to the map index.
13995 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
13996 reg[RRR] to 0. Otherwise, set it to -1.
13997
9244a058
GM
139982000-02-25 Gerd Moellmann <gerd@gnu.org>
13999
2df636f4 14000 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 14001
18e21ce8 140022000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 14003
f43d79c1
GM
14004 * fileio.c (Ffile_symlink_p): If result starts with a `/'
14005 and contains a `:', prepend `/:'.
14006
14007 * window.c (select_window_1): If selected_window is nil,
14008 don't "swap out" the buffer's point.
14009 (Fset_window_configuration): Set selected_window to nil
14010 before calling Fselect_window.
14011 (unshow_buffer): Don't set point in buffer from window's point
14012 if another more recently selected window also shows the buffer.
14013
bed0c171
GM
140142000-02-25 Gerd Moellmann <gerd@gnu.org>
14015
449c3c52
GM
14016 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
14017
f5b58615
GM
14018 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
14019 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
14020 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
14021 New variables.
f5b58615
GM
14022 (DEFAULT_BUSY_CURSOR_DELAY): New define.
14023 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
14024 (hide_busy_cursor): New functions.
14025 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
14026
14027 * minibuf.c (read_minibuf): Cancel busy-cursor.
14028
14029 * keyboard.c (command_loop_1): Call start_busy_cursor before
14030 Fcommand_execute and cancel_busy_cursor after it.
14031 (timer_check): Remove busy-cursor code.
14032 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
14033 cursor timer.
14034
14035 * process.c (wait_reading_process_input): Remove busy-cursor code.
14036
14037 * eval.c (Fsignal): Call cancel_busy_cursor instead of
14038 Fx_hide_busy_cursor.
14039
14040 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
14041 Remove prototyoes.
14042 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
14043
14044 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
14045
14046 * xterm.c (XTread_socket): Remove busy-cursor code.
14047
4eb8436f
GM
14048 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
14049 (build_frame_matrix_from_leaf_window): Put code handling
14050 glyph row's not being a slice of a frame row in #if 0.
14051 (sync_window_with_frame_matrix_rows): New function.
14052 (frame_row_to_window): New function.
14053 (mirror_line_dance): Handle copies between windows.
14054
3cb65b0e
GM
14055 * lread.c (Fload): Use `xfree' instead of `free'.
14056 (init_obarray): Use `xmalloc' instead of `malloc'.
14057
bed0c171
GM
14058 * window.c (Fset_window_buffer): Set WINDOW to the window
14059 after decoding.
2add4349
GM
14060 (coordinates_in_window): Take frame's internal border width
14061 into account.
bed0c171 14062
42088c12
GM
140632000-02-24 Gerd Moellmann <gerd@gnu.org>
14064
14065 * xterm.c (x_display_and_set_cursor): Display cursor of
14066 non-selected windows depending on the setting of
14067 cursor_in_non_selected_windows.
14068
14069 * xdisp.c (cursor_in_non_selected_windows): New variable.
14070 (syms_of_xdisp): DEFVAR_BOOL it.
14071
d1e103b2
GM
140722000-02-23 Gerd Moellmann <gerd@gnu.org>
14073
723e779c
GM
14074 * data.c (Fstring_to_number): If number is greater than what
14075 fits into an integer, return a float.
14076
d1e103b2
GM
14077 * eval.c (specbind): Remove references to
14078 keyword_symbols_constant_flag.
14079
14080 * data.c (keyword_symbols_constant_flag): Removed.
14081 (Fmakunbound, set_internal, syms_of_data): Remove references to
14082 keyword_symbols_constant_flag.
14083
14084 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
14085
214f877f
KH
140862000-02-23 Kenichi Handa <handa@etl.go.jp>
14087
14088 * syntax.c (multibyte_syntax_as_symbol): New variable.
14089 (syms_of_syntax): Declare it as a Lisp variable.
14090 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
14091 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
14092 nonzero, treat all multibyte characters as symbol.
52283633 14093 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 14094
130adcb7
EZ
140952000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
14096
3cb65b0e 14097 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 14098 a deleted frame.
130adcb7 14099
17cbbf95
GM
141002000-02-21 Gerd Moellmann <gerd@gnu.org>
14101
14102 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
14103
14104 * xfns.c (x_window_to_frame, x_any_window_to_frame)
14105 (x_non_menubar_window_to_frame): Check the busy-cursor window.
14106
beb0bc36
DL
141072000-02-21 Dave Love <fx@gnu.org>
14108
14109 * frame.c (Vmouse_position_function): New variable.
14110 (Fmouse_position): Use it.
14111 (syms_of_frame): Install it.
14112
14113 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
14114
1d92afcd
GM
141152000-02-20 Gerd Moellmann <gerd@gnu.org>
14116
14117 * fileio.c (Finsert_file_contents): Unbind the binding of
14118 standard-output done by temp_output_buffer_setup.
329eed9f
GM
14119
14120 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
14121 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
14122 (specbind, unbind_to): Handle most common case of non-constant
14123 symbol with trivial value specially.
14124
14125 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
14126
18e21ce8 141272000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
14128
14129 * data.c (Fmake_variable_buffer_local): Doc fix.
14130 Init found_for_buffer to 0.
14131 (Fmake_variable_frame_local): If the variable has already
14132 been buffer-local, set the check_frame field.
14133
1d4311c3
EZ
141342000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
14135
14136 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
14137 produced for CODING_MODE_LAST_BLOCK requires.
14138
2dc95ddd
DL
141392000-02-18 Dave Love <fx@gnu.org>
14140
14141 * keyboard.c (echo_keystrokes): Remove declaration.
14142 (Vecho_keystrokes) New variable.
14143 (read_char, record_menu_key, read_key_sequence): Use it to allow
14144 use of float value.
14145 (syms_of_keyboard): Change Vecho_keystrokes declaration.
14146
14147 * lread.c: Undef feature selection macros before defining.
14148
f0930f35
GM
141492000-02-18 Gerd Moellmann <gerd@gnu.org>
14150
14151 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
14152 for symbols other than the symbol in question.
14153
e3d4de90
DL
141542000-02-17 Dave Love <fx@gnu.org>
14155
14156 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
14157
0b378936
GM
141582000-02-17 Gerd Moellmann <gerd@gnu.org>
14159
d621caf7
GM
14160 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
14161
0b378936
GM
14162 * alloc.c (enum mem_type): Compile unconditionally.
14163
3b451f74
EZ
141642000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
14165
14166 * xfaces.c (tty_defined_color): Don't return faulire indication
14167 for unspecified-fg and unspecified-bg pseudo-colors.
14168
10689a01
GM
141692000-02-17 Gerd Moellmann <gerd@gnu.org>
14170
1216f5e4
GM
14171 * alloc.c (mark_object): Don't mark symbol names in pure space.
14172 (gc_sweep): Don't unmark symbol names in pure space.
14173
14174 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
14175 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
14176 [GC_MARK_STACK]: New defines.
427ec082 14177 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
14178 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
14179
14180 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
14181
14182 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
14183 allocate_buffer instead of xmalloc.
14184
14185 * alloc.c (toplevel): Include setjmp.h.
14186 (PURE_POINTER_P): New define.
14187 (enum mem_type) [GC_MARK_STACK]: New enumeration.
14188 (Vdead) [GC_MARK_STACK]: New variable.
14189 (lisp_malloc): Add parameter TYPE, call mem_insert if
14190 GC_MARK_STACK is defined.
14191 (allocate_buffer): New function.
427ec082 14192 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
14193 (free_float) [GC_MARK_STACK]: Set type to Vdead.
14194 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
14195 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
14196 (MEM_NIL) [GC_MARK_STACK]: New define.
14197 (struct mem_node) [GC_MARK_STACK]: New structure.
14198 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
14199 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
14200 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
14201 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
14202 (mark_stack) [GC_MARK_STACK]: New functions.
14203 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
14204 (clear_marks): Removed.
14205 (gc_sweep): Set free conses' car, free floats' type, free
14206 symbols' function to Vdead. Use lisp_free to free buffers.
14207 (init_alloc_once): Initialize Vdead.
14208 (survives_gc_p): Return non-zero for pure objects.
14209
14210 * alloc.c: Add comments throughout the file.
14211
2503c8b1
GM
14212 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
14213 that unblocks alarms.
14214
8389e1e2
GM
14215 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
14216 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
14217 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
14218
10689a01 14219 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 14220
bfc17d18
KH
142212000-02-17 Kenichi Handa <handa@etl.go.jp>
14222
4a09dee0
KH
14223 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
14224 avoid infinite error signaling. Allocate sufficient memory for
14225 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 14226
2b927d02
SM
142272000-02-17 Stefan Monnier <monnier@cs.yale.edu>
14228
14229 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
14230 depends on the previous behavior.
14231
b49cb764
GM
142322000-02-16 Gerd Moellmann <gerd@gnu.org>
14233
14234 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
14235
99e95407
GM
142362000-02-15 Gerd Moellmann <gerd@gnu.org>
14237
14238 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
14239
14240 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 14241 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
14242 write(2).
14243
6ffd3cf7
RS
142442000-02-15 Richard M. Stallman <rms@gnu.org>
14245
14246 * data.c (set_internal): Don't make variable buffer-local
14247 if within a let-binding for the same buffer.
14248 (let_shadows_buffer_binding_p): New function.
14249
14250 * eval.c (specbind): For buffer-local value,
14251 record the current buffer also.
14252 (unbind_to): Cope with that change.
14253
cad53475
GM
142542000-02-15 Gerd Moellmann <gerd@gnu.org>
14255
14256 * window.c (Fsave_window_excursion): Doc fix.
14257
1aa963c8
SM
142582000-02-15 Stefan Monnier <monnier@cs.yale.edu>
14259
14260 * syntax.c (back_comment): Make sure we only consider comment-starters
14261 of the relevant style and return -1 in case of a failure to find the
14262 beginning of the comment.
14263 (Fforward_comment): If back_comment fails, go back to the position just
14264 after the comment-end.
14265 (scan_lists): Add comment describing a very minor bug.
14266
b9b84fd3
SM
142672000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14268
14269 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
14270 `completion-regexp-list' in the docstring.
14271
3a28db80
DL
142722000-02-14 Dave Love <fx@gnu.org>
14273
14274 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
14275
fb4a568d
SM
142762000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14277
14278 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
14279 to Emacs' syntax. Also fix the comment about set/not-set meanings
14280 since Emacs syntax is not the value 0 any more.
14281 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
14282 since it's now part of RE_SYNTAX_EMACS.
14283
1063ebb5
DL
142842000-02-12 Dave Love <fx@gnu.org>
14285
52283633 14286 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 14287
fb07a302
GM
142882000-02-12 Gerd Moellmann <gerd@gnu.org>
14289
14290 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
14291
aaf2320c
DL
142922000-02-12 Dave Love <fx@gnu.org>
14293
14294 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
14295
14296 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
14297 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
14298 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
14299
14300 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
14301
14302 * s/nextstep.h: Don't define HAVE_ALLOCA.
14303
14304 * config.in: Add vfork bits.
14305
eedf8bde
GM
143062000-02-12 Gerd Moellmann <gerd@gnu.org>
14307
14308 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
14309 unwind function to undo the effect of stopping atimers.
14310
52283633 14311 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
14312
14313 * atimer.c (stopped_atimers): New variable.
14314 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
14315 New functions.
14316
14317 * atimer.h (stop_other_atimers, run_all_atimers)
14318 (unwind_stop_other_atimers): Add function prototypes.
427ec082 14319
eedf8bde
GM
14320 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
14321
8476c2f8
KR
143222000-02-11 Ken Raeburn <raeburn@gnu.org>
14323
14324 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
14325 library may depend on jpeg.
14326 (atimer.o): Depends on atimer.c.
14327
0e85e4a3
KH
143282000-02-11 Kenichi Handa <handa@etl.go.jp>
14329
14330 * insdel.c (del_range_1): Call update_compositions.
14331 (del_range_both): Call update_compositions just once..
14332
97fa0cc8
DL
143332000-02-10 Dave Love <fx@gnu.org>
14334
14335 * xfns.c (create_frame_xic): Fix initialization of automatic
14336 aggregates for pcc.
14337
25566a3c
KH
143382000-02-09 Kenichi Handa <handa@etl.go.jp>
14339
14340 * ccl.c (CCL_MAKE_CHAR): New macro.
14341 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
14342 registers by CCL_MAKE_CHAR before calling translate_char.
14343 <CCL_TranslateCharacterConstTbl> Likewise.
14344
69da54ba
DL
143452000-02-08 Dave Love <fx@gnu.org>
14346
14347 * lread.c (__EXTENSIONS__): Define.
14348
f7136ee8
GM
143492000-02-08 Gerd Moellmann <gerd@gnu.org>
14350
14351 * puresize.h (BASE_PURESIZE): Increase to 650000.
14352
7768790b
EZ
143532000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14354
14355 * msdos.c (XMenuActivate): Turn off the cursor after displaying
14356 the help message.
14357
38fd211b
EZ
143582000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14359
14360 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
14361 md, mh, mb, mr, and me to the fake termcap entry.
14362
66e4690f
KR
143632000-02-06 Ken Raeburn <raeburn@gnu.org>
14364
14365 * sound.c (sound_cleanup): Don't call device close routine if the
14366 function pointer is null.
14367
a75dfea0
AI
143682000-02-06 Andrew Innes <andrewi@gnu.org>
14369
14370 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
14371 around image definitions and prototypes.
14372 (gamma_correct) [WINDOWSNT]: New prototype.
14373
14374 * w32term.c (x_make_frame_visible): Replace call to
14375 input_poll_signal with poll_for_input.
14376
14377 * window.c [WINDOWSNT]: Include w32term.h.
14378
14379 * xdisp.c [WINDOWSNT]: Include w32term.h.
14380
14381 * makefile.nt: Add dependencies on w32gui.h.
14382 (OBJ1): Include atimer.obj.
14383 ($(BLD)\atimer.obj): New dependency rule.
14384
14385 * w32.c (sigmask): New function (does nothing).
14386 (sigunblock): Ditto.
14387
14388 * frame.c [WINDOWSNT]: Include w32term.h.
14389
14390 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
14391
14392 * lread.c (syms_of_lread): Fix literal newlines.
14393
14394 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
14395 the string constant limit (2048 bytes) in MSVC.
14396 (main): Ditto.
14397
59ddecde
GM
143982000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
14399
52283633 14400 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
14401 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
14402 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
14403 dispatch the event.
14404
07590973
DL
144052000-02-04 Dave Love <fx@gnu.org>
14406
14407 * fileio.c: Remove some unused vars.
14408 (_GNU_SOURCE): Define (for euidaccess).
14409
14410 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
14411
14412 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
14413 gcpro1, gcpro2.
14414 (read_minibuf): Deal with allow_props correctly.
14415
649351f9
EZ
144162000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
14417
14418 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
14419
66e4690f 144202000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
14421
14422 * search.c (compile_pattern): If a cache entry has a nil regexp,
14423 fill in that entry instead of clobbering a previously cached
14424 string regexp.
14425
66e4690f 144262000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
14427
14428 * puresize.h (BASE_PURESIZE): Increase to 610000.
14429
d240a249
GM
144302000-02-02 Gerd Moellmann <gerd@gnu.org>
14431
14432 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
14433 can GC.
14434
ca91fb26
KH
144352000-02-02 Kenichi Handa <handa@etl.go.jp>
14436
25660570
KH
14437 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
14438 instead of incrementing ic directly.
14439 <CCL_WriteExprConst> Likewise.
14440 <ccl_set_expr>: Set ic to jump_address.
14441
ca91fb26
KH
14442 * fileio.c (e_write): Fix the handling of
14443 CODING_FINISH_INSUFFICIENT_SRC.
14444
2ede9689
DL
144452000-02-01 Dave Love <fx@gnu.org>
14446
14447 * editfns.c (Fpropertize): Doc fix.
14448
14449 * process.c (Fstart_process): Doc fix.
14450
14451 * eval.c: Fix various doc strings not to duplicate information
14452 from help-manyarg-func-alist.
14453
52283633 14454 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
14455
14456 * doc.c (Vhelp_manyarg_func_alist): New variable.
14457 (Fdocumentation): Use it.
14458 (syms_of_doc): Define it.
14459
b6680a0e
GM
144602000-01-31 Gerd Moellmann <gerd@gnu.org>
14461
2cb750ba
GM
14462 * xterm.c (xim_open_dpy): Remove unused local variable.
14463
52283633 14464 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
14465
14466 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
14467 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
14468
b6680a0e
GM
14469 * fns.c (sweep_weak_table): New function.
14470 (sweep_weak_hash_tables): Use it. Keep on marking until there
14471 is no more change.
14472
994c5afe
GM
144732000-01-30 Gerd Moellmann <gerd@gnu.org>
14474
14475 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
14476 that XTread_socket does not crash by trying to call XNoOp on a
14477 closed display.
427ec082 14478
f00276e3
JR
144792000-01-30 Jason Rumney <jasonr@gnu.org>
14480
14481 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14482 Change selected_frame to SELECTED_FRAME ().
14483 (w32_console_mouse_position): Remove #ifndef MULE from around
14484 `insist' parameter.
14485
14486 * makefile.nt: Remove dosfns.obj.
14487
14488 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
14489
14490 * w32fns.c (w32_defined_color): Check for valid frame before
14491 applying gamma correction. Eliminate dependency on frame elsewhere.
14492 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
14493 (w32_to_x_font): Use resx and resy not height_in and width_in.
14494 (x_to_w32_font): Doc fix.
14495 (xlfd_strip_height): New function to strip and return font height.
14496 (w32_font_match): Compare height separately from rest of xlfd
14497 spec, using xlfd_strip_height.
14498
14499 * w32term.c (w32_term_init): Swap resx and height_in, resy and
14500 width_in. Use w32_defined_color in place of defined_color.
14501
14502 * w32faces.c: Merge more of DOS and X specifics in preparation for
14503 merge with xfaces.c.
14504 (defined_color): Remove FIXME comment.
14505 (tty_color_name): Provide w32-specific function.
14506 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
14507
14508 * w32console.c (turn_on_face, turn_off_face): Removed.
14509 (w32_face_attributes): New function.
14510 (Global_variables): Reduce scope where possible.
14511 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
14512 fill attribute.
14513 (hl_mode): Don't modify text attributes.
14514 (write_glyphs): Don't do anything if len <= 0. Use
14515 w32_face_attributes to get attributes for drawing. Write
14516 terminating codes using char_attr_normal.
14517 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
14518 (update_begin, update_end): Likewise.
14519 (vga_stdcolor_name): New function.
14520 (initialize_w32_display): Remove char_attr_reverse and char_attr.
14521 (Fset_screen_color): Remove char_attr_reverse.
14522
b08e8bb2
GM
145232000-01-29 Gerd Moellmann <gerd@gnu.org>
14524
14525 * xfns.c (xic_set_preeditarea): Take window parameter and
14526 window-relative pixel-positions.
14527
14528 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
14529 is its frame's selected window.
14530 (xim_instantiate_callback): Likewise.
14531
14532 * xfns.c (x_create_im): Removed.
14533 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
14534 (supported_xim_styles): Renamed from supported_styles.
14535 (best_xim_style): Renamed from best_style.
14536 (create_frame_xic): Renamed from xic_create_frame.
14537 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 14538
b08e8bb2
GM
145392000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
14540
14541 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
14542 our frames, call XFilterEvent with 2nd parameter `None'.
14543 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
14544 returning XBufferOverflow.
52283633 14545 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
14546 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
14547 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
14548 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
14549 (xim_initialize, xim_close)
14550 [HAVE_X_I18N && HAVE_X11R6]: New functions.
14551 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
14552 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
14553 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
14554
14555 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
14556 and `xim_styles'.
14557 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
14558 `xic_style' and `xic_xfs'.
14559 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
14560 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
14561 (FRAME_XIM): Removed.
14562
14563 * xfns.c (supported_styles): New variable.
14564 (DEFAULT_STYLE, DEFAULT_FONT): New macros
14565 (xic_create_xfontset, best_style, xic_create_frame)
14566 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
14567 (xic_set_xfontset): New functions.
14568
142e109c
DL
145692000-01-28 Dave Love <fx@gnu.org>
14570
14571 * s/irix6-5.h: Revert last change after change to irix5-0.h.
14572
14573 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
14574
b02786f9
GM
145752000-01-28 Gerd Moellmann <gerd@gnu.org>
14576
d060bc9f
GM
14577 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
14578 for *scratch* if it already existed.
14579
b02786f9
GM
14580 * emacs.c (USAGE): New macro.
14581 (main): Use it to display usage information.
14582
2c52d7e4
EZ
145832000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14584
14585 Support for the menu-help feature:
14586
52283633 14587 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
14588
14589 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
14590 part of the line to the termscript file.
14591 (IT_clear_to_end): Clear the entire line, not just its beginning.
14592 (menu_help_message, prev_menu_help_message): New variables.
14593 (IT_menu_make_room): Make room for the help_text member.
14594 (IT_menu_display): New argument disp_help; all callers changed.
14595 If disp_help is non-zero, store the help text of the active menu
14596 item in menu_help_message.
14597 (XMenuAddPane): Initialize the help_text member to NULL.
14598 (XMenuAddSelection): New argument help_text. Store it in the
14599 XMenu structure.
14600 (XMenuActivate): New argument help_callback. If the value of
14601 menu_help_message has changed since the last time, display the
14602 menu help message text while waiting for the mouse to move. Clear
14603 the echo area before exiting.
14604 (XMenuDestroy): Free the help_text member.
14605
ffe0bcd1
GM
146062000-01-27 Gerd Moellmann <gerd@gnu.org>
14607
14608 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
14609 XMenuAddSelection. Pass help callback to XMenuActivate.
14610 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
14611
50dbd23f
EZ
146122000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14613
14614 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
14615 and EMACS_SET_USECS.
14616
f5941bf8
GM
146172000-01-26 Dave Love <fx@gnu.org>
14618
6c67ddee
DL
14619 * editfns.c (Fchar_after, Fchar_before): Doc fix.
14620
f5941bf8
GM
14621 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
14622 an error may be signalled.
14623
9e49c990
GM
146242000-01-26 Gerd Moellmann <gerd@gnu.org>
14625
fc3cb460
GM
14626 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
14627 LD_SWITCH_SYSTEM inherited from irix5-0.h.
14628
9e49c990
GM
14629 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
14630
d0c037d8
GM
146312000-01-25 Gerd Moellmann <gerd@gnu.org>
14632
14633 * charset.c (Fstring): If there is a multibyte char among
14634 the args, always return a multibyte string.
14635
e12489f9
GM
146362000-01-25 Gerd Moellmann <gerd@gnu.org>
14637
14638 * sysdep.c (sys_select): Turn atimers off and on instead of
14639 recording and restoring old alarm handler
14640
14641 * process.c (toplevel): Include atimer.h.
14642 (create_process_1): Rewritten.
14643 (create_process): Use atimers instead of alarm.
14644 (wait_reading_process_input) [hpux]: Turn atimers off instead
14645 of turning off SIGALRM.
14646 (wait_reading_process_input): Turn off atimers instead off
14647 calling stop_polling.
14648
14649 * emacs.c (main): Call init_atimer.
14650
14651 * keyboard.c (toplevel): Include systime.h and atimer.h.
14652 (polling_for_input): Removed because unused.
14653 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
14654 (poll_timer): New variable.
14655 (poll_for_input, poll_for_input_1): New functions.
14656 (start_polling, stop_polling): Rewritten.
14657
14658 * keyboard.h (polling_for_input): Removed.
427ec082 14659
e12489f9
GM
14660 * atimer.h, atimer.c: New files.
14661
14662 * Makefile.in (obj): Add atimer.o.
14663 (atimer.o): New target.
14664
14665 * blockinput.h (pending_atimers): Add extern declaration.
14666 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
14667
14668 * lisp.h (popup_activated_flag): Add extern declaration.
14669
14670 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 14671 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
14672 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
14673
14674 * xterm.c (toplevel): Include atimer.h.
14675 (toolkit_scroll_bar_interaction): New variable.
14676 (Fxt_process_timeouts): Removed.
14677 (x_process_timeouts): New function.
14678 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
14679 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
14680 (x_make_frame_visible): Call poll_for_input_1 instead of
14681 input_poll_signal. Don't call alarm.
14682 (x_initialize): Install timer calling x_process_timeouts.
427ec082 14683
1e5279b9
DL
146842000-01-24 Dave Love <fx@gnu.org>
14685
6c67ddee 14686 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
14687 Don't use -cckr -- apparently not now necessary.
14688
edf6aeb8
EZ
146892000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
14690
14691 * msdos.c (IT_menu_display): Truncate long menu lines at the right
14692 screen boundary.
14693
9badad41
JR
146942000-01-23 Jason Rumney <jasonr@gnu.org>
14695
14696 * w32fns.c (w32_defined_color): Apply gamma correction before
14697 trying to map to the palette.
14698 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
14699 to w32_clear_rect.
14700
14701 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
14702 here. Callers changed to always pass real device context.
14703 (w32_draw_bitmap): Likewise.
14704 (w32_get_glyph_overhangs): Likewise.
52283633 14705 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
14706 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
14707 pfnSetScrollInfo and SetScrollRange.
14708 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
14709 back into MULE characters after decoding them.
14710 (x_get_glyph_face_and_encoding): Likewise.
14711 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
14712 GetCharABCWidthsW fails, since this is defined on Windows 9x.
14713 (x_produce_glyphs): Calculate per char metrics for a character
14714 that we know exists in default font when font_not_found_p is true.
14715
63bd786b
JR
147162000-01-22 Jason Rumney <jasonr@gnu.org>
14717
14718 * makefile.nt (intervals.obj, composite.obj): New modules.
14719 (composite.h): Added as dependency where appropriate.
14720
14721 * w32gui.h (XGCValue): New struct for emulating X GCs.
14722
14723 * w32term.h (XCharStruct): New struct for emulating X.
14724
14725 * w32console.c (turn_on_face, turn_off_face): New functions.
14726 (change_line_highlight): New prototype for new redisplay.
14727 (write_glyphs): Support multibyte text. Support faces.
14728
52283633 14729 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
14730
14731 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
14732 throughout. struct frame * in place of FRAME_PTR.
14733 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 14734 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
14735 (w32_get_arg): Renamed from x_get_arg.
14736 (Fx_file_dialog): New function.
14737 (w32_list_fonts): Check cache before asking system.
14738 (Vw32_enable_synthesized_fonts): New variable.
14739 (Vw32_enable_italics): Obsolete, removed.
14740
14741 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14742 Use SELECTED_FRAME macro.
14743
14744 * w32menu.c: Add skeleton support for help strings on menus.
14745 (add_menu_item): Native checkbox and radio support added, but not
14746 yet enabled due to bugs.
14747 (push_menu_item): Add parameters type, selection and help.
14748 Callers updated.
14749 Formatting changes to reduce unnecessary diffs with xmenu.c.
14750
14751 * w32select.c (Fw32_set_clipboard_data): Update call to
14752 find_charset_in_str.
14753
14754 * w32term.c: Complete rewrite for new redisplay based on new
14755 xterm.c with necessary sections merged back in from old w32term.c.
14756
6ffd3cf7 147572000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
14758
14759 * data.c (set_internal): Further fix in same criterion.
14760
6ffd3cf7 147612000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
14762
14763 * data.c (set_internal): Fix the criteria for whether
14764 to swap out the old cached binding.
14765
60af03f1
DL
147662000-01-19 Dave Love <fx@gnu.org>
14767
14768 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
14769
f9be074f
KH
147702000-01-18 Kenichi Handa <handa@etl.go.jp>
14771
14772 * regex.c (re_compile_fastmap): While checking a range table for
14773 `charset', skip flag bits for a character class correctly.
14774
52b8dbf9
GM
147752000-01-17 Gerd Moellmann <gerd@gnu.org>
14776
d36100c9
GM
14777 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
14778
52283633 14779 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
14780
14781 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 14782 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
14783
14784 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
14785 MENU_ITEMS_ITEM_.*.
14786 (MENU_ITEMS_ITEM_HELP): New enumerator.
14787 (push_menu_item): Add parameter HELP. Record help in menu_items.
14788 (single_menu_item, single_submenu, list_of_items): Call
14789 push_menu_item with new parameter.
14790 (single_submenu): Set help string in widget value.
14791 (menu_highlight_callback): New function.
14792 (set_frame_menubar): Call lw_create_widget with new
14793 parameter list.
14794 (xmenu_show, xdialog_show): Ditto.
14795
3139018f
GM
147962000-01-13 Gerd Moellmann <gerd@gnu.org>
14797
14798 * sound.c (Fplay_sound): Improve doc string.
14799
83c8f461
RS
148002000-01-11 Richard M. Stallman <rms@gnu.org>
14801
14802 * lisp.h (set_internal): Enter the new arg.
14803
14804 * eval.c (specbind): Record buffer-local variables specially,
14805 indicating which buffer's binding was saved.
14806 (unbind_to): Restore buffer-local variables specially
14807 in the proper buffer.
14808
14809 * data.c (set_internal): New arg BUF.
427ec082 14810
83c8f461
RS
14811 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
14812 * data.c (Fset): Pass new arg to set_internal.
14813 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 14814
1fab1775
GM
148152000-01-11 Gerd Moellmann <gerd@gnu.org>
14816
52283633 14817 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 14818
83c8f461 148192000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
14820
14821 * minibuf.c (Ftry_completion): Doc fix.
14822
7a85e4df
GM
148232000-01-11 Gerd Moellmann <gerd@gnu.org>
14824
14825 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
14826 vector, too.
14827
a970dae4
AS
148282000-01-11 Andreas Schwab <schwab@suse.de>
14829
14830 * coding.c (code_convert_region): Initialize total_skip.
14831
c65d14ee
DL
148322000-01-08 Dave Love <fx@gnu.org>
14833
14834 * eval.c (Fuser_variable_p): Check customizability too.
14835
834938d2
GM
148362000-01-07 Gerd Moellmann <gerd@gnu.org>
14837
14838 * minibuf.c (Fcompleting_read): Doc fix.
14839
e0303cd6
GM
148402000-01-05 Gerd Moellmann <gerd@gnu.org>
14841
8a26744b
GM
14842 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
14843 -L /usr/local/lib.
14844
e0303cd6
GM
14845 * xfns.c (x_create_im): New function to set IM and IC of a frame.
14846 Check that input style is supported before trying to create an
14847 IC for it.
14848 (x_window): Call x_create_im.
427ec082 14849
2e471eb5
GM
148502000-01-04 Gerd Moellmann <gerd@gnu.org>
14851
560a7bd2
GM
14852 * xfns.c (current_gif_memory_src): New variable.
14853 (gif_load): Record the address of the current memory source
14854 in current_gif_memory_src.
14855 (gif_read_from_memory): Use current_gif_memory_src.
14856
f9ee84a3
GM
14857 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
14858 macros statement form.
14859
d1299cde
GM
14860 * sound.c (struct sound): Renamed from struct sound_file.
14861 (struct sound): Add members `data' and `header_size'.
14862 (enum sound_attr): Add SOUND_DATA.
14863 (current_sound, current_sound_device): Variables renamed from
14864 sound_file and sound_device.
14865 (parse_sound): Parse :data.
14866 (parse_sound): Handle sound data in strings.
14867 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 14868 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
14869 needed header size.
14870 (wav_play, au_play): Play sounds from string data.
14871
2e471eb5
GM
14872 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
14873
14874 * lisp.h: Add prototype for allocate_string_data.
14875
52283633 14876 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
14877
14878 * alloc.c (mark_buffer): Remove code in #if 0.
14879 (gc_sweep): Ditto.
14880 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
14881 (strings_consed): New variable.
14882 (allocate_string): Set it.
14883 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
14884 (Fmemory_use_counts): Return strings_consed. Use Flist.
14885
14886 * alloc.c: General cleanup in comments etc. Remove conditional
14887 compilation for `standalone'.
14888
14889 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
14890
14891 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
14892 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
14893 (DONT_COPY_FLAG): Removed.
14894 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
14895 (struct sdata, struct sblock): New
14896 (struct string_block): Rewritten.
14897 (STRINGS_IN_STRING_BLOCK): New macro.
14898 (oldest_sblock, current_sblock, total_strings, total_free_strings)
14899 (large_sblocks, string_blocks, string_free_list): New variables.
14900 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
14901 (init_strings): Rewritten.
14902 (allocate_string, allocate_string_data, compact_small_strings)
14903 (free_large_strings, sweep_strings): New functions.
14904 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
14905 (struct string_block_head, current_string_block)
14906 (first_string_block, large_string_blocks, STRING_FULLSIZE)
14907 (STRING_PAD): Removed.
14908 (make_uninit_multibyte_string, make_pure_string): Rewritten.
14909 (Fgarbage_collect): Don't set mark bit in large strings.
14910 (mark_object): Mark strings differently. Mark symbol names
14911 differently.
14912 (survives_gc_p): Test marked strings differently.
427ec082 14913 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
14914 symbol names.
14915 (compact_strings): Removed.
14916
42608ba8
EZ
149172000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
14918
14919 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
14920 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
14921
e0a09e1a
KH
149222000-01-04 Kenichi Handa <handa@etl.go.jp>
14923
dd9f0750 14924 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 14925 in a non-empty buffer.
dd9f0750 14926
3c0f3b15 14927 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 14928
44cd3ae5
GM
149292000-01-03 Gerd Moellmann <gerd@gnu.org>
14930
14931 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
14932 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
14933
14934 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
14935
c182a70f
EZ
149362000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14937
14938 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
14939 need to test for MSDOS frames.
14940
24480d5b
EZ
149412000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14942
14943 * dosfns.c (unspecified_colors): Remove.
14944 (msdos_stdcolor_idx): Use global variables unspecified_fg and
14945 unspecified_bg.
14946 (msdos_stdcolor_name): Return strings for unspecified fore- and
14947 back-ground colors.
14948
14949 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 14950 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
14951 (tty_color_name): Return Lisp strings for unspecified fore- and
14952 back-ground colors.
14953 (Finternal_set_lisp_face_attribute): Remove the special treatment
14954 for Qunspecified_{f,b}g.
52283633 14955 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 14956
047f434a
GM
149572000-01-03 Gerd Moellmann <gerd@gnu.org>
14958
14959 * xdisp.c (reseat_at_next_visible_line_start): Position before
14960 newline only if ending up on a newline.
14961 (next_element_from_ellipsis): Return success. Handle case of
52283633 14962 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
14963 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
14964 returns 0.
14965
d684c676
EZ
149662000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14967
14968 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
14969 (Fcolor_supported_p): Renamed from face-color-supported-p.
14970
5fe1d139
EZ
149712000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14972
14973 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
14974 list of colors renamed to tty-defined-color-alist.
14975 (tty_color_name): Pass the frame to tty-color-by-index.
14976 (realize_tty_face): tty-color-alist is now a function which
14977 accepts the frame as argument.
14978
52283633 14979 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 14980
816be8b8
EZ
149812000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14982
14983 * term.c (insert_glyphs): Pass glyph, not &glyph, to
14984 encode_terminal_code.
14985
b635321e
EZ
149862000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14987
14988 * dispnew.c (mode_line_string): Support termcap frames as well.
14989
9b784e96
GM
149902000-01-01 Gerd Moellmann <gerd@gnu.org>
14991
27189709
GM
14992 * syntax.c (Fforward_word): Undo previous change.
14993
14994 * editfns.c (Fconstrain_to_field): Don't constrain if
14995 inhibit-field-text-motion is non-nil.
14996 (Fline_beginning_position): Undo previous change.
14997 (Fline_end_position): Ditto.
14998
14999 * syntax.c (Fforward_word): Notice field boundaries only if
15000 inhibit-field-text-motion is nil.
15001
15002 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
15003
15004 * editfns.c (Vinhibit_field_text_motion): New variable.
15005 (inhibit-field-text-motion): New DEFVAR_LISP.
15006 (Fline_beginning_position, Fline_end_position): Notice field
15007 boundaries only if inhibit-field-text-motion is nil.
15008
45158a91
GM
15009 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
15010 All calls adjusted.
15011 (x_build_heuristic_mask): Likewise.
15012 (xbm_load_image_from_file): Change error output.
15013 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
15014 (gif_load, gs_load, x_kill_gs_process): Ditto.
15015
9b784e96
GM
15016 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
15017 color indices when accessing raster pixels.
63cec32f
GM
15018 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
15019 one of :file or :data.
15020 (enum pbm_keyword_index): Add PBM_DATA.
15021 (pbm_format): Add :data.
15022 (pbm_image_p): Allow either :file or :data.
15023 (pbm_read_file): New function.
15024 (pbm_scan_number): Rewritten to read from string.
15025 (pbm_load): Support :data.
9b784e96 15026
2cb085db 15027See ChangeLog.8 for earlier changes.
6922b018
KH
15028
15029;; Local Variables:
49b3bd82 15030;; coding: iso-2022-7bit
6922b018 15031;; End:
2a34a036
GM
15032
15033 Copyright (C) 2001 Free Software Foundation, Inc.
15034 Copying and distribution of this file, with or without modification,
15035 are permitted provided the copyright notice and this notice are preserved.