(split_font_name): Use the right field when
[bpt/emacs.git] / src / ChangeLog
CommitLineData
dbcf3c03
GM
12001-05-16 Gerd Moellmann <gerd@gnu.org>
2
1b7818b4
GM
3 * buffer.c (copy_overlays): New function.
4 (clone_per_buffer_values): Use it.
5
6 * buffer.h (OVERLAY_PLIST): New macro.
7
9bae8781
GM
8 * keymap.c (Fsingle_key_description): Replace a build_string with
9 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
10
dbcf3c03
GM
11 * fontset.c (Ffontset_info): Check that face is non-null
12 before accessing its fields.
13
8a1ae4dd
GM
142001-05-15 Gerd Moellmann <gerd@gnu.org>
15
18a0a39e
GM
16 * keyboard.c (read_key_sequence): Prevent generating a fake
17 prefix key twice.
18
e335b66a
GM
19 * xfaces.c (split_font_name): Handle `[...]' for the right
20 font name fields.
21
8a1ae4dd
GM
22 * ccl.c (ccl_driver): Don't copy remaining bytes in case
23 of CCL_STAT_INVALID_CMD.
24
3cf80731
SM
252001-05-14 Stefan Monnier <monnier@cs.yale.edu>
26
33568849
SM
27 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
28 in <var> has no default value yet.
29
3cf80731
SM
30 * xfaces.c (try_alternative_families): First try the FAMILY.
31 And if nothing is found in the end, try again with scalable fonts.
32 (try_font_list): Let try_alternative_families do a bit more of
33 the work. Only use FAMILY if it is not nil.
34 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
35
933b0249
GM
362001-05-14 Gerd Moellmann <gerd@gnu.org>
37
58e5af83
GM
38 * xterm.c (note_mouse_highlight): Avoid changing the mouse
39 pointer shape when show_mouse_face has already done it.
33568849 40
58e5af83 41 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
42 full-width rows.
43
7b16a6bf
GM
44 * xfaces.c (split_font_name): Make sure to leave the loop
45 with the right value of `i'.
3cf80731 46
933b0249
GM
47 * xfaces.c (split_font_name): Handle matrix transformations
48 in the pixel and point size fields of XLFD font names.
49 (xlfd_point_size): Likewise.
50
dddcbf00
EZ
512001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
52
3cf80731 53 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
54 (x_to_w32_font): Add prototype.
55
7689ef0b
EZ
56 * regex.c (malloc, realloc, free) [emacs]: Undefine before
57 redefining, to avoid compiler warnings.
58
e7c15bba
EZ
59 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
60
dddcbf00
EZ
61 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
62 (w32_get_bdf_glyph): Cast between unsigned char and char when
63 passing arguments to subroutines, to shut up compiler warnings.
64 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
65 GET_HEX_VAL.
66
67 * xfaces.c: Include keyboard.h before frame.h, not after it.
68
69 * widget.c: Include keyboard.h before frame.h.
70
71 * w32term.h (struct image, struct face): Forward declaration, to
72 avoid compiler warnings.
73
7bd2d083
GM
742001-05-11 Gerd Moellmann <gerd@gnu.org>
75
47e72862
GM
76 * keyboard.c (read_key_sequence): Don't modify events when
77 generating fake prefix keys (mode-line, scroll-bar, ...) since
78 this prevents proper processing of such events when pushed back
79 into unread-command-events.
80
dd5f324b
GM
81 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
82 actually redrawn. Make the function static.
83 (note_mouse_highlight): Fix a case where the mouse cursor
84 was changed back to the text cursor.
85
86 * xterm.h (clear_mouse_face): Remove prototype.
87
d88a79d4
GM
88 * xdisp.c (try_window_id): Fix the fix and set the right
89 window_end_vpos.
90
91 * xdisp.c (try_window_id): Fix computation of window end in the
92 case that lines were deleted at the end of the window. Add some
93 more debug_method_adds.
0416532f 94
7bd2d083
GM
95 * xfaces.c (try_alternative_families): New function.
96 (try_font_list): Use it. If ATTRS specifies a family, check
97 fonts from that family first.
98 (choose_face_font): Remove code setting the family part of
99 the pattern to nil.
100
23fca891
GM
1012001-05-10 Gerd Moellmann <gerd@gnu.org>
102
ff9aa2ca
GM
103 * xdisp.c (try_window_id): Fix case of all changes before
104 the window start.
7b2654b5 105
23fca891
GM
106 * xdisp.c (try_window_id): Add some xasserts.
107
e9726794
GM
1082001-05-09 Gerd Moellmann <gerd@gnu.org>
109
110 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
111
9e53a675
GM
1122001-05-09 Dave Love <fx@gnu.org>
113
114 * xdisp.c (GIVE_UP): Fix for K&R C.
115
0d487c52
GM
1162001-05-09 Gerd Moellmann <gerd@gnu.org>
117
fe88d421
GM
118 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
119
0d487c52
GM
120 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
121 back to the text cursor shape without need.
122
1e9fc92e
GM
1232001-05-07 Gerd Moellmann <gerd@gnu.org>
124
a2a6232e
GM
125 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
126
127 * dispextern.h (inverse_video): Declare extern.
128
1e9fc92e
GM
129 * keyboard.c (delete_kboard): Handle the case that selected_frame
130 has been deleted in the course of x_connection_closed.
131
12949a7f
EZ
1322001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
133
7b2654b5
SM
134 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
135 Fix the change from 2001-04-30.
12949a7f 136
2fa2f461
GM
1372001-05-03 Gerd Moellmann <gerd@gnu.org>
138
a779d213
GM
139 * xfns.c (file_dialog_unmap_cb): New function.
140 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
141 where a dialog is closed via the window manager.
142
7b2654b5 143 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
144 the window start or all below the window end mostly rewritten.
145 (redisplay_window): Move the tests if try_window_id is
146 applicable to try_window_id.
147 (GIVE_UP): New macro.
148
3356df63
GM
1492001-05-02 Gerd Moellmann <gerd@gnu.org>
150
a39202f6 151 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
152 currently being updated, mark the frame garbaged.
153 Fix computation of rows intersecting the exposed rectangle.
a39202f6 154 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 155
3356df63
GM
156 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
157 again if it has already been drawn.
158
a9d2fd1d
SM
1592001-05-01 Stefan Monnier <monnier@cs.yale.edu>
160
161 * syntax.c (update_syntax_table): Check that oldi has the same
162 properties as old_prop before deciding not to invalidate.
163
c95fc5f1
GM
1642001-04-30 Gerd Moellmann <gerd@gnu.org>
165
a9793e45
GM
166 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
167 read-only text that is so because of text properties.
168
c95fc5f1 169 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 170 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
171 windows that are components of a Lucid menu bar.
172
5a5d9185
GM
1732001-04-27 Gerd Moellmann <gerd@gnu.org>
174
175 * term.c (turn_on_face): Fix reverse video handling on terminals
176 that don't support colors.
177
ba973f7a
GM
1782001-04-26 Gerd Moellmann <gerd@gnu.org>
179
180 * editfns.c (save_excursion_restore): Don't use XBUFFER on
181 a non-buffer.
182
8c56a983
GM
1832001-04-25 Gerd Moellmann <gerd@gnu.org>
184
a728644c
GM
185 * term.c (toggle_highlight): New function.
186 (turn_on_face): Change handling of reverse video.
187
7b2654b5
SM
188 * process.c (wait_reading_process_input):
189 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 190
bfd8410f
GM
191 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
192 of the number of overlays to check.
193
be2488ca
GM
194 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
195
8c56a983
GM
196 * xdisp.c (try_window_id): Fix a case where window_end_pos
197 and window_end_bytepos were not adjusted.
198
522d42f7
GM
1992001-04-23 Gerd Moellmann <gerd@gnu.org>
200
201 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
202 zero instead of -1.
203
78c1afb6
EZ
2042001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
205
a9d2fd1d
SM
206 * process.c (wait_reading_process_input) [!subprocesses]:
207 Don't reference waiting_for_user_input_p, it's not defined in the
208 branch without async subprocesses support.
78c1afb6 209
a2fab450
GM
2102001-04-19 Gerd Moellmann <gerd@gnu.org>
211
a122a38e
GM
212 * keyboard.c (delete_kboard): Prevent a dangling reference
213 from current_kboard to KB, which is freed.
214
a9d2fd1d
SM
215 * process.c (wait_reading_process_input):
216 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
217 read_key_sequence aware of buffer changes from under it.
218
0f8d6dc7
GM
2192001-04-18 Gerd Moellmann <gerd@gnu.org>
220
eeffb293
GM
221 * xfaces.c (Qscalable_fonts_allowed): New variable.
222 (realizing_basic_faces_p): Removed.
2fa2f461
GM
223 (x_face_list_fonts): Special handling for realizing_basic_faces_p
224 removed.
eeffb293 225 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
226 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
227 for scalable-fonts-allowed to t.
eeffb293 228
0f8d6dc7
GM
229 * fileio.c (Finsert_file_contents): If the file size returned from
230 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 231 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 232
eec2d1de
EZ
2332001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
234
235 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
236 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
237 (__memalign_hook): Make the two prototypes consistent.
238
f4f480bd
GM
2392001-04-17 Gerd Moellmann <gerd@gnu.org>
240
241 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
242 matrix of mini-windows.
243
52283633
SM
2442001-04-12 Stefan Monnier <monnier@cs.yale.edu>
245
246 * intervals.c (find_interval): Don't rebalance during signal handling.
247
ec2423c9
GM
2482001-04-11 Gerd Moellmann <gerd@gnu.org>
249
30cb0001 250 * fns.c: Include blockinput.h.
52283633 251
ec2423c9
GM
252 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
253
719d83ad
GM
2542001-04-10 Gerd Moellmann <gerd@gnu.org>
255
60f8d735
GM
256 * fns.c (Fcompare_strings): Fix return values.
257
afffeb57
GM
258 * window.c (window_scroll): Change the meaning of N to mean
259 N screen-fulls or N lines.
260 (window_scroll_pixel_based, window_scroll_line_based)
261 (scroll_command, Fscroll_other_window): Change accordingly.
262
52283633
SM
263 * window.c (window_scroll_pixel_based, Frecenter):
264 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
265 height of the window.
266
267 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
268 instead of using it.last_visible_y for the height of the window.
52283633 269
719d83ad 270 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 271 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
272
273 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
274 able to write to hidden and system files. From Dan Holmsand
275 <dan@eyebee.com>.
719d83ad 276
8ddf3ee1
GM
277 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
278 Holmsand <dan@eyebee.com>.
719d83ad 279
522ed7fb
GM
2802001-04-09 Gerd Moellmann <gerd@gnu.org>
281
9170e5d4
GM
282 * fns.c (Fplist_get, Fplist_put): Add QUITs.
283
522ed7fb
GM
284 * window.c (window_internal_height): Return 1 less if the
285 window has a header line.
286
287 * xdisp.c (try_window_id): When scrolling on a terminal, take
288 the change of window_internal_height into account.
289
ceeb3d7d
EZ
2902001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
291
292 * gmalloc.c (align): If the argument SIZE would overflow
293 __malloc_ptrdiff_t, fail right away.
294
63685b9d
GM
2952001-04-06 Gerd Moellmann <gerd@gnu.org>
296
297 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
298 Make sure the tooltip is completely visible.
299 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
300
301 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
302
303 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
304
3ffb33bb
DL
3052001-04-06 Dave Love <fx@gnu.org>
306
52283633
SM
307 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
308 Fix test of `from'.
3ffb33bb 309
869fb12c
GM
3102001-04-06 Gerd Moellmann <gerd@gnu.org>
311
52283633 312 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 313
869fb12c
GM
314 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
315
441bf856
GM
3162001-04-05 Gerd Moellmann <gerd@gnu.org>
317
4d664b04
GM
318 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
319
52283633 320 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 321
30ca89f5
GM
322 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
323 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
324
325 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
326 shell widget's position only if it is non-null.
327
52283633
SM
328 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
329 Set f->output_data.x->widget to null after destroying it.
30ca89f5 330
81a81c0f
GM
331 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
332 FILENAME to bring it in synch with the documentation.
333
441bf856
GM
334 * xfaces.c (realizing_basic_faces_p): Renamed from
335 realize_default_face_p.
336 (realize_basic_faces): Set/clear realizing_basic_faces_p.
337 (realize_default_face): Don't set the flag.
338
702a1e8e
GM
3392001-04-04 Gerd Moellmann <gerd@gnu.org>
340
1013f4e3
GM
341 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
342
52283633
SM
343 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
344
1013f4e3
GM
345 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
346 the buffer that was used for echoing.
347
702a1e8e
GM
348 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
349 (first_font_matching): Removed unused function.
350 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
351 (may_use_scalable_font_p): Remove parameter FONT; rename
352 parameter NAME to FONT.
353 (x_face_list_fonts): Fix missing bounds check.
354 (realizing_default_face_p): New variable.
355 (realize_default_face): Set and clear that flag.
356 (x_face_list_fonts): When called during the realization of the
357 default face, and no matching fonts are found when ignoring
358 scalable fonts and fonts matching a regexp from
359 face-ignored-fonts, try without ignoring fonts.
360
f9dbcda4
GM
3612001-04-03 Gerd Moellmann <gerd@gnu.org>
362
ad18ffb1
GM
363 * xfns.c (postprocess_image): New function.
364 (lookup_image): Call it for all image types except PostScript.
365 (x_kill_gs_process): Call postprocess_image.
366
f9dbcda4
GM
367 * xterm.c (x_use_underline_position_properties): New variable.
368 (x_draw_glyph_string): Use it.
369 (syms_of_xterm): DEFVAR_BOOL it.
370
651f03b6
GM
3712001-04-02 Gerd Moellmann <gerd@gnu.org>
372
373 * xterm.c (x_alloc_nearest_color_1): New function.
374 (x_alloc_nearest_color): Use it.
375 (x_color_cells): Take a Display as argument, instead of a frame.
376 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
377 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
378 (x_initialize): Register cvt_string_to_pixel as resource converter
379 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
380
73d75a62
GM
3812001-03-30 Gerd Moellmann <gerd@gnu.org>
382
b2046df8
GM
383 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
384 (set_iterator_to_next): If a string from a display property ends,
385 consider the case that this might also be the end of an
386 overlay string having the display property.
387
52283633 388 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 389
87d8eba4
GM
390 * xdisp.c (reseat_to_string): Undo last change.
391
73d75a62
GM
392 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
393 matrix of a window when the header line changes, when
394 new rows are allocated, or when the width changes.
395
911a2406
EZ
3962001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
397
52283633 398 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 399
aea51abe
EZ
4002001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
401
402 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
403 deprecated.
404
176bc847
GM
4052001-03-29 Gerd Moellmann <gerd@gnu.org>
406
ed31fabf
GM
407 * data.c (Fsubr_interactive_form): New function.
408 (syms_of_data): Defsubr it.
409
176bc847
GM
410 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
411 (live_float_p, live_misc_p): Return 1 only if the offset of the
412 pointer in its block is >= 0.
413
e59d0e9d
GM
4142001-03-28 Paul Eggert <eggert@twinsun.com>
415
416 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
417 microseconds calcuation. Avoid double-rounding problem.
418 In doc string, warn that the result is approximate.
419
f827b862
GM
4202001-03-28 Gerd Moellmann <gerd@gnu.org>
421
30a3f61c
GM
422 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
423 bind `inhibit-eval-during-redisplay' to t.
424
425 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
426
427 * xdisp.c (inhibit_eval_during_redisplay)
428 (Qinhibit_eval_during_redisplay): New variables.
429 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
430 don't eval, return nil instead.
431 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
432 Initialize Qinhibit_eval_during_redisplay.
433
e719f5ae
GM
434 * xdisp.c (reseat_to_string): If STRING is multibyte, set
435 the iterator's multibyte_p flag.
436
deb2613a
GM
437 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
438 instead of setting it to zero; it's incremented for each frame
439 where the menu face is changed.
440
52283633
SM
441 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
442 change bottom shadow accordingly.
443
444 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
445 intersections here.
446 (expose_window): Do it here instead.
52283633 447 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 448
f827b862
GM
449 * bytecode.c (BYTE_CODE_QUIT): New macro.
450 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
451
4bde0ebb
GM
4522001-03-27 Gerd Moellmann <gerd@gnu.org>
453
607ec83c
GM
454 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
455 Give up if matrix starts in an ellipsis.
456 (init_from_display_pos): Do nothing if POS doesn't specify
457 a dpvec_index but the iterator has such a position.
458
0245398f
GM
459 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
460
aba25348
GM
461 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
462 x/y position is (0, 0) after destroying the menu bar, restore
463 its original position.
464
4bde0ebb
GM
465 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
466 (init_from_display_pos): Use it.
467 (try_window_reusing_current_matrix): Don't use cursor_row_p.
468
8cdb267e
GM
4692001-03-26 Gerd Moellmann <gerd@gnu.org>
470
471 * xdisp.c (try_window_id): Undo last change.
472
9948db79
EZ
4732001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
474
475 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
476
477 * buffer.c (syms_of_buffer): Doc fix.
478
2eddf899
GM
4792001-03-26 Gerd Moellmann <gerd@gnu.org>
480
481 * xfaces.c (x_update_menu_appearance): Use local variable
482 popup_path for setting font resources.
483
6c145d35
EZ
4842001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
485
6a65b1b5
EZ
486 * frame.c (Fframe_list): Don't reference tip_frame if
487 HAVE_WINDOW_SYSTEM is not defined.
488
6c145d35
EZ
489 * emacs.c (main): Update the copyright year. From Werner LEMBERG
490 <wl@gnu.org>.
491
d74c1900
GM
4922001-03-25 Gerd Moellmann <gerd@gnu.org>
493
20fbd925
GM
494 * xdisp.c (init_from_display_pos): Test invisible property
495 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 496
927c5b3b
GM
497 * xdisp.c (redisplay_internal) <update one window>: Make sure
498 last_arrow_position and last_arrow_string are set.
499
d74c1900
GM
500 * frame.c (Fframe_list): Don't return a tooltip frame.
501
091f8878
GM
5022001-03-23 Gerd Moellmann <gerd@gnu.org>
503
52283633
SM
504 * xdisp.c (mark_window_display_accurate_1): New function,
505 extracted from mark_window_display_accurate.
506 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
507 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
508 (mark_window_display_accurate): Use it.
509 (redisplay_internal): Use it for the selected window.
510 (redisplay_internal): Avoid duplicate mark_window_display_accurate
511 for the selected frame.
512
ac90c44f
GM
513 * xdisp.c Use make_number, for readability.
514 (try_window_id): Disable rows below the window end.
515 (try_window_reusing_current_matrix): Use cursor_row_p.
516 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
517 of rows.
518 (init_from_display_pos): If POS specifies a position in a display
519 vector, maybe get the iterator set up for that ellipsis.
43c09969 520
091f8878
GM
521 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
522
991786dd
EZ
5232001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
524
525 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
526
6c29b43c
GM
5272001-03-23 Gerd Moellmann <gerd@gnu.org>
528
529 * xfaces.c (x_update_menu_appearance): Use a different path
530 for Lucid popup menus.
531
d8731202
SM
5322001-03-22 Stefan Monnier <monnier@cs.yale.edu>
533
534 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
535
536 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
537 (string_buffer_position): Use `make_number'.
538
f61a541b
GM
5392001-03-22 Gerd Moellmann <gerd@gnu.org>
540
3c9e997b
GM
541 * xfaces.c (x_update_menu_appearance): Renamed from
542 x_set_menu_face_resources. Use different resources for popups.
543
544 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
545 (GC_CHECK_STRING_BYTES): Don't define.
546
364cd450
GM
547 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
548 Removed, together with subroutines.
549 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 550 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 551
d8731202
SM
552 * dispextern.h (x_set_menu_resources_from_menu_face):
553 Remove prototype.
364cd450 554
d8731202 555 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
556 Remove calls to x_set_menu_resources_from_menu_face.
557
d8731202
SM
558 * xfaces.c (xm_set_menu_resources_from_menu_face):
559 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
560
561 * xmenu.c: Include widget.h.
562 (single_submenu): Return int. Some cleanup.
563 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
564
140330de
GM
5652001-03-21 Gerd Moellmann <gerd@gnu.org>
566
567 * xterm.c (x_update_window_end): Handle overwritten mouse face
568 also for tool bar windows.
569 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
570 DRAW is DRAW_IMAGE_RAISED.
571
1741905c
GM
5722001-03-20 Gerd Moellmann <gerd@gnu.org>
573
fa88947e
GM
574 * print.c (syms_of_print): Doc fixes.
575
1741905c
GM
576 * fns.c (Fmd5): Doc fix.
577
ade0bee1
GM
5782001-03-19 Gerd Moellmann <gerd@gnu.org>
579
357e7376
GM
580 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
581 Clear area of the frame not occupied by the scroll bar.
582
c2c097cc
GM
583 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
584 tip frame's root window buffer to *tip* right after creating
585 the frame.
586
ade0bee1
GM
587 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
588 is an integer don't have to be for space characters.
589
88c6e37e
GM
5902001-03-16 Gerd Moellmann <gerd@gnu.org>
591
52283633
SM
592 * indent.c (current_column, current_column_1, Fmove_to_column)
593 (compute_motion): Handle characters from display vectors differently.
88c6e37e 594
c62eed76
KH
5952001-03-15 Kenichi Handa <handa@etl.go.jp>
596
597 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
598 drawing glyph string.
599
c899e7e6
GM
6002001-03-15 Gerd Moellmann <gerd@gnu.org>
601
d0bbfc99
GM
602 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
603 (command_loop_1): Undo last change.
604
03d1a189
GM
605 * xterm.c (fast_find_position): Return the correct vpos.
606
c899e7e6 607 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 608 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
609 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
610 Call store_symval_forwarding with BUF null.
611 (set_internal): Call store_symval_forwarding with the BUF
612 parameter passed to set_internal. Formerly, the value was always
613 set in the current buffer; the buffer recorded in specbind for
614 this case wasn't used.
615 (arith_driver): Reindent.
616
52283633
SM
617 * buffer.c (swap_out_buffer_local_variables):
618 Call store_symval_forwarding with BUF null.
c899e7e6
GM
619
620 * lisp.h (store_symval_forwarding): Change prototype.
621
622 * eval.c (specbind): Call store_symval_forwarding with BUF null.
623
57ac7c81
GM
6242001-03-14 Gerd Moellmann <gerd@gnu.org>
625
697617d9
GM
626 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
627 FOR_DELETION. Avoid resizing the mini-window of the selected
628 frame if FOR_DELETION is set.
629 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
630 (Fmake_frame_invisible): Change calls to do_switch_frame for new
631 signature.
632
633 * window.c (Fset_window_configuration): Change call to
634 do_switch_frame to new format.
635
636 * keyboard.c (quit_throw_to_read_char): Change call to
637 do_switch_frame to new format.
638
639 * lisp.h (do_switch_frame): Change prototype.
640
819dce0f
GM
641 * frame.c (Fframe_parameters): In the `buffer-list' frame
642 parameter, store the buffer list of FRAME, not the list of the
643 selected frame.
644
57ac7c81
GM
645 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
646 box just because the glyph row's full_width_p flag is set.
647
65008712
GM
6482001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
649
650 * xdisp.c (highlight_trailing_whitespace): On character terminals,
651 skip the padding blanks inserted in extend_face_to_end_of_line,
652 before checking for trailing whitespace.
653
159cf431
GM
6542001-03-13 Gerd Moellmann <gerd@gnu.org>
655
52283633 656 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
657 Remove special handling for LessTif/Motif.
658 (toplevel): Don't include Xm/Xm.h.
659
52283633
SM
660 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
661 Remove workaround code for LessTif; it doesn't work anymore.
662
2564ea1b 663 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 664 Xm/ScrollBarP.h.
afcdc0a1 665
52283633
SM
666 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
667 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
668 contemporary LessTif.
669
52283633
SM
670 * xfaces.c (xm_set_menu_resources_from_menu_face):
671 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 672
159cf431
GM
673 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
674 removing button grabs.
675
c6f7429a
KH
6762001-03-13 Kenichi Handa <handa@etl.go.jp>
677
cb82d767
KH
678 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
679 and clip-large-size-font as obsolete.
680
c6f7429a
KH
681 * lread.c (read_multibyte): Check the validity of multibyte
682 sequence. If invalid, return the first byte.
683
760cefb5
GM
6842001-03-12 Gerd Moellmann <gerd@gnu.org>
685
686 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
687 before running the command; timer functions or process
688 filters may have set it.
689
5141f9d0
EZ
6902001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
691
692 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
693 Doc fix.
694
b6a15240
GM
6952001-03-12 Gerd Moellmann <gerd@gnu.org>
696
697 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
698 to sprintf.
699
95522746
GM
7002001-03-09 Gerd Moellmann <gerd@gnu.org>
701
db14cfc5
GM
702 * dispextern.h (string_buffer_position): Add prototype.
703
52283633 704 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
705 (single_display_prop_string_p): New functions.
706
707 * xterm.c (note_mouse_highlight): If there's no help-echo on
708 a string, look at the buffer text ``under'' it.
709
710 * keyboard.c (make_lispy_event): Add string info to the event,
711 analogous to what's done on mode lines.
712 (read_key_sequence): For a click on a string, consider `local-map'
713 and `keymap' of that string.
714
52283633
SM
715 * keyboard.c (make_lispy_event, make_lispy_movement):
716 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
717
718 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
719
720 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
721 POS; return void.
722
95522746
GM
723 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
724 flags argument to emacs_open; it seems to conflict with O_EXCL.
725
898a399d
KH
7262001-03-09 Kenichi Handa <handa@etl.go.jp>
727
28cd4910
KH
728 * composite.h (struct composition): Change types of members;
729 glyph_len to unsigned, width to unsigned short.
898a399d 730
4cdf6a6c
AI
7312001-03-08 Andrew Innes <andrewi@gnu.org>
732
733 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
734 menu titles.
735
129004d3
GM
7362001-03-08 Gerd Moellmann <gerd@gnu.org>
737
221dd3e7
GM
738 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
739 instead of nil.
740
52283633 741 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
742 help-echo in strings.
743 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
744 (fast_find_string_pos): New function.
745
52283633
SM
746 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
747 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
748
749 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
750 Handle `mouse-face'.
751
752 * dispextern.h (face_at_string_position): Change prototype.
753
52283633 754 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 755
129004d3
GM
756 * keyboard.c (make_lispy_event): Avoid generating drag events
757 if the mouse hasn't actually moved to another buffer position.
52283633 758
80c8ab8c
DL
7592001-03-08 Dave Love <fx@gnu.org>
760
129004d3 761 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 762
989521fd
GM
7632001-03-08 Gerd Moellmann <gerd@gnu.org>
764
765 * process.c (Fset_process_window_size): Fix a typo.
766
bb5c338d
KH
7672001-03-08 Kenichi Handa <handa@etl.go.jp>
768
769 * coding.c (detect_coding_sjis): Do more rigid check.
770 (detect_coding_big5): Likewise.
771 (decode_coding_sjis_big5): Likewise.
772 (Fdetect_coding_region): Call detect_coding_system with tailing
773 anchor byte `\0' for more rigid detection.
52283633 774 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
775 (Fdetect_coding_string): Likewise.
776
8b8f9197
SM
7772001-03-07 Stefan Monnier <monnier@cs.yale.edu>
778
779 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
780 a string before extracting its data.
781
3bdf2660
GM
7822001-03-07 Gerd Moellmann <gerd@gnu.org>
783
784 * window.c (Frecenter): Rewrite code handling negative values
785 of ARG on graphical frames.
786
7872001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
788
789 * window.c (displayed_window_lines): If W->start is outside the
790 accessible portion of the buffer, call start_display with BEGV or
791 ZV instead of W->start.
792
471f86b9
GM
7932001-03-07 Gerd Moellmann <gerd@gnu.org>
794
2ab62c6c
GM
795 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
796
471f86b9
GM
797 * process.c (Fset_process_filter): Don't crash if the input
798 file descriptor of PROCESS is closed.
799 (Fset_process_window_size): Likewise.
800
101922c3
GM
8012001-03-06 Kenichi Handa <handa@etl.go.jp>
802
803 * xterm.c (XTflash): Make the timeout of select shorter, and call
804 select repeatedly until the desired time expires.
805
45d051a7
GM
8062001-03-06 Gerd Moellmann <gerd@gnu.org>
807
808 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
809
810 * xfns.c (Fx_create_frame): Clear Vwindow_list.
811
812 * lisp.h (Vwindow_list): Declare extern.
813
8f372c46
EZ
8142001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
815
816 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
817
f16a7aa5
GM
8182001-03-06 Gerd Moellmann <gerd@gnu.org>
819
157ae273
GM
820 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
821 to detect a case where we have to highlight a different region
822 despite not having left the currently highlighted region.
823 Set mouse_face_overlay in the x_display_info.
45d051a7 824 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
825
826 * xterm.h (struct x_display_info): Add mouse_face_overlay.
827
828 * buffer.c (mouse_face_overlay_overlaps): New function.
829
830 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
831 (Qmouse_face): Declare extern.
832
f16a7aa5
GM
833 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
834 if face_change_count is non-zero.
835
827afcac
KH
8362001-03-06 Kenichi Handa <handa@etl.go.jp>
837
838 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
839 that the source is unibyte.
840
14c7242e
DL
8412001-03-05 Dave Love <fx@gnu.org>
842
827afcac 843 * xterm.c (XTmouse_position): Fix typo.
14c7242e 844
c28b847b
GM
8452001-03-05 Gerd Moellmann <gerd@gnu.org>
846
847 * minibuf.c (read_minibuf): Clean up the binding stack if
848 called noninteractively.
849
b86644f2
KH
8502001-03-05 Kenichi Handa <handa@etl.go.jp>
851
852 * coding.c (syms_of_coding): Docstring modified.
853
203682cc 8542001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
855
856 * charset.c (char_to_string): If a single byte char has modifier
857 bits that can't be reflected to the character code, ignore them
45d051a7 858 instead of signaling an error.
b86644f2 859
e30bd7b7
EZ
8602001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
861
862 * s/msdos.h: Update copyright notice.
863
864 * dosfns.h: Update copyright notice.
865
866 * dosfns.c: Update copyright notice.
867
868 * msdos.c: Update copyright notice.
869
b52b65bd
GM
8702001-03-02 Gerd Moellmann <gerd@gnu.org>
871
872 * xterm.c (glyph_rect): New function.
873 (XTmouse_position): Use it to raise the threshold for mouse
874 movement event generation.
875
53c4b1e6
EZ
8762001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
877
878 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
879 specifies (reverse . t), reverse the initial screen colors.
880 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
881 but we are reversing the colors, set bg_set, not fg_set.
882 Likewise for setting background-color and reversing: set fg_set.
883 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
884 in effect.
885
886 * xfaces.c (Finternal_set_lisp_face_attribute)
887 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
888 parameters alist.
889
f964b4d7
GM
8902001-03-02 Gerd Moellmann <gerd@gnu.org>
891
ef53d75e
GM
892 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
893 to a single slash in the middle of file names.
894
52283633 895 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
896 Accept only alphanumeric time zone names.
897
f964b4d7
GM
898 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
899 or width area.
900 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
901 a widget to zero height.
52283633 902
c3c45f65
GM
9032001-03-01 Gerd Moellmann <gerd@gnu.org>
904
905 * window.c (Fwindow_end): Call move_it_past_eol only if
906 ending up on a partially visible line.
907
028d739a
DL
9082001-03-01 Dave Love <fx@gnu.org>
909
910 * ccl.c (Fccl_execute): Doc fix.
911
57c5889c
GM
9122001-03-01 Gerd Moellmann <gerd@gnu.org>
913
35f59f6b
GM
914 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
915 of the tool bar before calling x_figure_window_size.
916
f84ff02c
GM
917 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
918 NULL after destroying it, otherwise XTread_socket can access a
919 destroyed widget when input is unblocked.
920
8b8f9197 921 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 922
57c5889c
GM
923 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
924 same name as before, although there was a change in fontsets.
925
224227d1
KR
9262001-02-28 Ken Raeburn <raeburn@gnu.org>
927
4560730a
KR
928 * lisp.h (Fframe_parameter): Declare.
929
224227d1 930 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 931 Lisp_Object.
224227d1 932
ece93c02
GM
9332001-02-28 Gerd Moellmann <gerd@gnu.org>
934
11ef99b9
GM
935 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
936 NULL instead.
937
938 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
939 NULL instead.
940
ece93c02
GM
941 * alloc.c (toplevel): Include process.h.
942 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
943 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
944 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
945 (allocate_vector, allocate_hash_table, allocate_window)
946 (allocate_frame, allocate_process, allocate_other_vector):
947 New functions.
ece93c02
GM
948 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
949 (mark_maybe_pointer): New function.
52283633 950 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
951 remain and not Lisp_Objects.
952 (min_heap_address, max_heap_address): New variables.
953 (mem_find): Return MEM_NIL if START is below min_heap_address or
954 above max_heap_address.
955 (mem_insert): Compute min_heap_address and max_heap_address.
956
957 * process.c (make_process): Use allocate_process.
958
959 * frame.c (make_frame): Use allocate_frame.
960
961 * window.c (make_window, make_dummy_parent): Use allocate_window.
962 (Fcurrent_window_configuration): Use allocate_other_vector.
963
964 * lisp.h (allocate_vectorlike): Remove prototype.
965 (allocate_vector, allocate_other_vector, allocate_frame)
966 (allocate_window, allocate_process, allocate_hash_table):
967 Add prototypes.
968
969 * fns.c (Fdelete, larger_vector): Use allocate_vector.
970 (make_hash_table, copy_hash_table): Use allocate_hash_table.
971
063af457
KH
9722001-02-27 Kenichi Handa <handa@etl.go.jp>
973
974 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
975 treat the produced bytes as a valid multibyte sequence.
976
977 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
978 (ccl_driver) <CCL_WriteMultibyteChar2>:
979 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
980 <ccl_finish>: Set ccl->eight_bit_control properly.
981
982 * ccl.h (struct ccl_program): New member eight_bit_control.
983
f58c6494
SM
9842001-02-26 Stefan Monnier <monnier@cs.yale.edu>
985
986 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
987 accessible_keymaps_char_table.
988 (accessible_keymaps_char_table): Obey `is_metized'.
989 (where_is_internal, Fwhere_is_internal): Don't confuse int and
990 Lisp_Object.
991
c596c392
GM
9922001-02-26 Gerd Moellmann <gerd@gnu.org>
993
994 * dispnew.c: Check HAVE_TERM_H before including term.h.
995
425de386
AI
9962001-02-24 Andrew Innes <andrewi@gnu.org>
997
998 * makefile.w32-in: Update copyright notice.
999
2ba11bbd
SM
10002001-02-24 Stefan Monnier <monnier@cs.yale.edu>
1001
1002 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
1003
66c56ed1
KH
10042001-02-24 Kenichi Handa <handa@etl.go.jp>
1005
4c1593ce
KH
1006 * Makefile.in (lisp): Add international/utf-8.elc.
1007
66c56ed1
KH
1008 * fontset.c (Fnew_fontset): Fix handling of the case that an
1009 element of FONTLIST is a cons of family and registry.
1010
796ead7e
JR
10112001-02-23 Jason Rumney <jasonr@gnu.org>
1012
1013 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
1014 to height unconditionally.
1015
1016 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 1017 background face to the end of the drawing area in the text area, only.
796ead7e
JR
1018 (x_insert_glyphs): Call window_box_left to obtain the left
1019 x-coordinate of the area to shift.
1020
1021 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
1022 safe_run_hooks.
1023
f6839838
AI
10242001-02-22 Andrew Innes <andrewi@gnu.org>
1025
52283633 1026 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
1027 ($(BLD)\dispnew.obj):
1028 ($(BLD)\editfns.obj):
1029 ($(BLD)\fileio.obj):
1030 ($(BLD)\filelock.obj):
1031 ($(BLD)\keyboard.obj):
1032 ($(BLD)\w32proc.obj):
1033 ($(BLD)\process.obj):
1034 ($(BLD)\sysdep.obj): Ditto.
1035
1036 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
1037 header files.
52283633
SM
1038 ($(BLD)/dispnew.$(O)):
1039 ($(BLD)/editfns.$(O)):
1040 ($(BLD)/fileio.$(O)):
1041 ($(BLD)/filelock.$(O)):
1042 ($(BLD)/keyboard.$(O)):
1043 ($(BLD)/w32proc.$(O)):
1044 ($(BLD)/process.$(O)):
f6839838
AI
1045 ($(BLD)/sysdep.$(O)): Ditto.
1046
c224f70b
GM
10472001-02-22 Gerd Moellmann <gerd@gnu.org>
1048
51695746
GM
1049 * xdisp.c (forward_to_next_line_start): When taking the shortcut
1050 at the start of the function, check that the \n in it->c is
1051 from the iterator's current position.
52283633 1052
a61b7058
GM
1053 * xdisp.c (handle_single_display_prop): Add parameter
1054 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
1055 properties which replace the display of text with something else.
1056 (handle_display_prop): Call handle_single_display_prop with
1057 additional argument saying if we already replaced text display
1058 with something else. Use AREF.
52283633 1059 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
1060 (decode_mode_spec_coding): Use AREF and ASIZE.
1061
3473f362
GM
1062 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
1063 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
1064 * vmstime.h: Files removed.
52283633 1065
2bb58df3
GM
1066 * unexencap.c, unexfx2800.c: Files removed.
1067
c224f70b
GM
1068 * dispnew.c (direct_output_for_insert): Give up if we are showing
1069 a message or just cleared the message because we might need to
1070 resize the echo area window or display an empty echo area.
1071
ffc9ff0c
GM
10722001-02-21 Gerd Moellmann <gerd@gnu.org>
1073
0528abe1
GM
1074 * xdisp.c (redisplay_internal): Do the
1075 mark_window_display_accurate after all windows have been
1076 redisplayed because this call resets flags in buffers which are
1077 needed for proper redisplay.
1078
52283633
SM
1079 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
1080 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
1081 the old names.
1082
52283633
SM
1083 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
1084 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
1085
1086 * msdos.h (struct x_output): Rename busy_window to
1087 hourglass_window, busy_p to hourglass_p.
1088
52283633
SM
1089 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
1090 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
1091
1092 * xfns.c: Rename everything containing *busy_cursor* and similar
1093 to *hourglass*.
1094 (syms_of_w32fns): Rename x-busy-pointer-shape to
1095 x-hourglass-pointer-shape, display-busy-cursor to
1096 display-hourglass, busy-cursor-delay to hourglass-delay.
1097
1098 * w32fns.c: Rename everything containing *busy_cursor* and similar
1099 to *hourglass*.
1100 (syms_of_w32fns): Rename x-busy-pointer-shape to
1101 x-hourglass-pointer-shape, display-busy-cursor to
1102 display-hourglass, busy-cursor-delay to hourglass-delay.
1103
1104 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
1105 of its busy_p flag.
1106
1107 * dispextern.h (start_hourglass, cancel_hourglass)
1108 (display_hourglass_p): Renamed from *busy_cursor*.
1109
ab2c5f0a
GM
11102001-02-20 Gerd Moellmann <gerd@gnu.org>
1111
d17e49a8
GM
1112 * keyboard.c (read_char): When an event from unread-command-events
1113 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
1114
fa97adf6
GM
1115 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
1116 equal to the current buffer.
1117
ab2c5f0a
GM
1118 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
1119 nil, otherwise we're left with truncate_lines t when a message
1120 is printed with message-truncate-lines bound to t.
1121
aeac019e
GM
11222001-02-19 Gerd Moellmann <gerd@gnu.org>
1123
c8bc6f65
GM
1124 * window.c (Fmove_to_window_line): Undo last change.
1125 (displayed_window_lines): Call line_bottom_y to determine
1126 the line's bottom position.
1127
1128 * dispextern.h (line_bottom_y): Add prototype.
1129
52283633 1130 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
1131 (pos_visible_p): Use it.
1132
980a2d69
GM
1133 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
1134 set redisplaying_p to 0 here instead of in Frecursive_edit.
1135 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
1136 set redisplaying_p.
1137
52283633 1138 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
1139 New variables.
1140 (syms_of_xdisp): Initialize new variables.
1141 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
1142 Specbind `inhibit-menubar-update' when updating the menu bar.
1143
65048e97
GM
1144 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
1145 safe_run_hooks.
1146
1147 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
1148 safe_run_hooks.
1149
a57c4026
GM
1150 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
1151 is null.
1152
aeac019e
GM
1153 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
1154 to the start of the file.
1155
76846b31
GM
11562001-02-16 Gerd Moellmann <gerd@gnu.org>
1157
f3f053f3 1158 * window.c (set_window_buffer): Fix last change.
52283633 1159
f3f053f3
GM
1160 * window.c (set_window_buffer): Set window's vscroll to 0.
1161
dad75588
GM
1162 * window.c (coordinates_in_window): Increase width of area
1163 where the vertical line can be dragged.
1164
c220b753
GM
1165 * xterm.c (x_set_glyph_string_background_width): Extend the
1166 background face to the end of the drawing area in the text
1167 area, only.
1168
c56b1c1b
GM
1169 * xdisp.c (handle_single_display_prop): Set iterator's position
1170 to where the `display' property starts, like for images.
1171 (dump_glyph): New function.
1172 (dump_glyph_row): Use it. Dump info about marginal areas.
1173
1174 * dispnew.c (direct_output_for_insert): Recognize more cases where
1175 glyphs can be written instead of being inserted.
1176
1177 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
1178 the left x-coordinate of the area to shift.
1179
76846b31
GM
1180 * dired.c (directory_files_internal): Set result list to nil
1181 before retrying.
1182
0fc71a77
KH
11832001-02-15 Kenichi Handa <handa@etl.go.jp>
1184
1185 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
1186 invalid multibyte sequence, treat *SRC as a character of
1187 eight-bit-graphic.
1188
25078b54
EZ
11892001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
1190
1191 * textprop.c (Fset_text_properties): Doc fix.
1192
8399f8a0
GM
11932001-02-15 Gerd Moellmann <gerd@gnu.org>
1194
1195 * dispnew.c (update_text_area): Undo change of 2001-01-12.
1196
9a2a6f73
DL
11972001-02-14 Dave Love <fx@gnu.org>
1198
1199 * coding.c: Doc and message fixes.
1200
bf853fee
AI
12012001-02-14 Andrew Innes <andrewi@gnu.org>
1202
1203 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
1204 Emacs frame above the screen size.
1205
78c663d8
GM
12062001-02-14 Gerd Moellmann <gerd@gnu.org>
1207
1208 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
1209
7cc9f69f
GM
12102001-02-13 Gerd Moellmann <gerd@gnu.org>
1211
0a411995
GM
1212 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
1213 case that TO ends up beyond ZV after running before-change-functions.
1214
5ddc1b75
GM
1215 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
1216 the selected window if it is showing the buffer in question.
1217
7cc9f69f
GM
1218 * dired.c (directory_files_internal): Initialize errno.
1219 (toplevel): Include errno.h.
1220
2e6621ca
GM
12212001-02-13 Kenichi Handa <handa@etl.go.jp>
1222
1223 * xfaces.c (best_matching_font): New parameter width_ratio.
1224 Multiply avgwidth by width_ratio.
1225 (choose_face_font): Call best_matching_font with width_ratio
1226 calculated from the column width of C.
1227
60222d69
AI
12282001-02-12 Andrew Innes <andrewi@gnu.org>
1229
1230 The following changes are to draw box lines inside characters area
1231 if line-width is negative.
52283633 1232
60222d69
AI
1233 * w32term.c (x_produce_image_glyph): Pay attention to the case that
1234 face->box_line_width is negative.
1235 (x_produce_stretch_glyph): Likewise.
1236 (x_produce_glyphs): Likewise.
1237 (x_estimate_mode_line_height): Likewise.
1238 (x_draw_glyph_string_background): Likewise.
1239 (x_draw_glyph_string_foreground): Likewise.
1240 (x_draw_composite_glyph_string_foreground): Likewise.
1241 (x_draw_glyph_string_box): Likewise.
1242 (x_draw_image_foreground): Likewise.
1243 (x_draw_image_relief): Likewise.
1244 (x_draw_image_foreground_1): Likewise.
1245 (x_draw_image_glyph_string): Likewise.
1246
9804b846
KH
12472001-02-09 Kenichi Handa <handa@etl.go.jp>
1248
1249 The following changes are to draw box lines inside characters area
1250 if line-width is negative.
52283633 1251
9804b846
KH
1252 * xterm.c (x_produce_image_glyph): Pay attention to the case that
1253 face->box_line_width is negative.
1254 (x_produce_stretch_glyph): Likewise.
1255 (x_produce_glyphs): Likewise.
1256 (x_estimate_mode_line_height): Likewise.
1257 (x_draw_glyph_string_background): Likewise.
1258 (x_draw_glyph_string_foreground): Likewise.
1259 (x_draw_composite_glyph_string_foreground): Likewise.
1260 (x_draw_glyph_string_box): Likewise.
1261 (x_draw_image_foreground): Likewise.
1262 (x_draw_image_relief): Likewise.
1263 (x_draw_image_foreground_1): Likewise.
1264 (x_draw_image_glyph_string): Likewise.
1265
1266 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
1267 and :line-width can be negative.
52283633 1268 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 1269
49be9f70
JR
12702001-02-09 Jason Rumney <jasonr@gnu.org>
1271
1272 * w32term.c (w32_encode_char): Treat eight bit graphic and control
1273 characters the same as ASCII and latin-1.
1274 (x_display_and_set_cursor): Check for the focus frame's selected
1275 window instead of selected_window.
1276 (x_after_update_window_line): Don't clear if frame's internal
1277 border width is zero.
1278 (x_new_font): Don't change a tooltip's size.
1279 (w32_initialize): Set char_ins_del_ok to 1.
1280
1281 * w32fns.c (Fx_show_tip): Fix calls to make_number.
1282 (x_set_font): If font hasn't changed, avoid recomputing
1283 faces and other things.
52283633
SM
1284 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
1285 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
1286 (x_create_tip_frame): Prevent changing the tooltip's
1287 background color by specifying a color for the default font
1288 in .Xdefaults.
1289 (Qcancel_timer): New variable.
1290 (syms_of_w32fns): Initialize and staticpro it.
1291 (Fx_hide_tip, Fx_show_tip): Use it.
1292 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1293 the timer.
1294 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
1295
1296 * w32.c (init_environment): Duplicate local string before putenv.
1297
555e35d2
SZ
12982001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
1299
1300 * charset.c (Fstring): A typo.
1301
19c92c94
KH
13022001-02-09 Kenichi Handa <handa@etl.go.jp>
1303
e47a1c33
KH
1304 * charset.c (Fstring): If all arguments are less than 256, return
1305 a unibyte string.
1306
1307 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
1308 return a unibyte string.
1309
19c92c94
KH
1310 * coding.c (code_convert_region): After detecting a coding, if
1311 nothing found, set coding->composing to COMPOSITION_NO.
1312 (decode_coding_string): Likewise.
1313
d8e675f5
SM
13142001-02-08 Stefan Monnier <monnier@cs.yale.edu>
1315
1316 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
1317 to avoid overflow.
1318
bd503487
KH
13192001-02-07 Kenichi Handa <handa@etl.go.jp>
1320
1321 * charset.c (parse_str_to_multibyte): New function.
1322
1323 * charset.h (parse_str_to_multibyte): Extern it.
1324
1325 * print.c (print_string): If we are going to print a unibyte
1326 string into a multibyte buffer, convert the string to multibyte by
1327 str_to_multibyte.
1328
a8370d72
AI
13292001-02-06 Andrew Innes <andrewi@gnu.org>
1330
1331 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
1332 been created. It seems we can get sent window messages such as
1333 WM_ERASEBKGND before we properly update a frame.
1334
c363a1d6
GM
13352001-02-06 Gerd Moellmann <gerd@gnu.org>
1336
1337 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
1338 Avoid some unnecessary cursor positioning.
1339
a08332c0
GM
13402001-02-05 Gerd Moellmann <gerd@gnu.org>
1341
52283633 1342 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
1343 (LFACE_AVGWIDTH): New macro.
1344 (LFACEP): Use AREF.
1345 (check_lface_attrs): Check LFACE_AVGWIDTH.
1346 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
1347 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
1348 (merge_face_vectors): Check LFACE_AVGWIDTH.
1349 (Finternal_make_lisp_face): Use AREF.
1350 (xm_set_menu_resources_from_menu_face)
1351 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
1352 (Finternal_lisp_face_empty_p): Use AREF.
1353 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
1354 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
1355 Compare average widths..
1356 (best_matching_font): Arrange for comparing average widths.
1357
52283633
SM
1358 * dispextern.h (enum lface_attribute_index):
1359 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
1360
5cb3c8d4
DL
13612001-02-05 Dave Love <fx@gnu.org>
1362
1363 * puresize.h: Revert last change following loadup.el change.
1364
193fba87
AI
13652001-02-05 Andrew Innes <andrewi@gnu.org>
1366
1367 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
1368 invocation of temacs, to work with Windows 2000.
1369 (bootstrap-emacs): Ditto.
1370
e16f52ce
GM
13712001-02-05 Gerd Moellmann <gerd@gnu.org>
1372
7a58ab59
GM
1373 * xterm.c (x_display_and_set_cursor): Check for the focus
1374 frame's selected window instead of selected_window.
1375
e89aaabd
GM
1376 * xdisp.c (try_scrolling): If point is in the line below the
1377 window, make sure to move the iterator at least a canonical
1378 char height down.
1379
52283633 1380 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 1381
789ce875
KH
13822001-02-05 Kenichi Handa <handa@etl.go.jp>
1383
52283633
SM
1384 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
1385 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
1386 (ccl_driver): If the CCL program is terminated because of
1387 CCL_STAT_INVALID_CMD, copy the remaining source data to the
1388 destination instead of throwing them away.
1389
20b28f82
GM
13902001-02-02 Gerd Moellmann <gerd@gnu.org>
1391
79fb38c0
GM
1392 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
1393 faces and other things.
1394
20b28f82
GM
1395 * xdisp.c (get_next_display_element): Fix case of empty
1396 display table entry.
1397
5a72551e
EZ
13982001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
1399
eb24d0bf
EZ
1400 * editfns.c (Fconstrain_to_field): Doc fix.
1401
6a3f48c7
EZ
1402 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
1403 into `thoroughly', to make it consistent with the doc string.
1404
5a72551e
EZ
1405 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
1406
01acdb05
GM
14072001-02-01 Gerd Moellmann <gerd@gnu.org>
1408
0353b28f
GM
1409 * search.c (search_buffer): Call set_search_regs with a byte
1410 position, not a character position.
1411
01acdb05
GM
1412 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
1413 minibuffer-only,
1414
e86b5133
EZ
14152001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
1416
1417 * frame.c (Fmodify_frame_parameters): Doc fix.
1418
7442878f
GM
14192001-01-31 Gerd Moellmann <gerd@gnu.org>
1420
01acdb05
GM
1421 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
1422 identifier which is not reserved by Standard C.
52283633 1423
7442878f
GM
1424 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
1425
1426 * window.c (enum window_part): New enumeration.
1427 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
1428 Qright_bitmap_area.
1429 (coordinates_in_window): Return an enumerator from enum
1430 window_part. Fix handling of right scroll bar.
1431 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
1432 `right-fringe' instead of `left-bitmap-area' and
1433 `right-bitmap-area'. Use enumerators from enum window_part
1434 instead of hard-coded integers.
52283633
SM
1435 (check_window_containing, window_from_coordinates):
1436 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
1437 (syms_of_window): Replace Qleft_bitmap_area and
1438 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
1439
7c132cba
EZ
14402001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
1441
1442 * editfns.c (Fformat_time_string): Doc fix.
1443
c359dd9e
SM
14442001-01-31 Stefan Monnier <monnier@cs.yale.edu>
1445
1446 * keymap.c (Fwhere_is_internal): Use the first valid binding
1447 if no ascii binding is found (when firstonly is t).
1448
ce070307
GM
14492001-01-31 Gerd Moellmann <gerd@gnu.org>
1450
b4f30ec5
GM
1451 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
1452 instead of Finteractive_p.
1453
1454 * lisp.h (interactive_p): Add prototype.
1455
1456 * eval.c (interactive_p): New function.
1457 (Finteractive_p): Use it.
1458
ce070307
GM
1459 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
1460
f57b6e64
DL
14612001-01-31 Dave Love <fx@gnu.org>
1462
d61c7afe
DL
1463 * .gdbinit (hook-run): Define to run xreload.
1464
f57b6e64
DL
1465 * textprop.c (Fset_text_properties): Fix newline in doc string.
1466
eef93f99
GM
14672001-01-30 Gerd Moellmann <gerd@gnu.org>
1468
52283633
SM
1469 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
1470 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
1471
1472 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 1473 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
1474 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
1475
1476 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
1477 height.
1478
d9c1f6f9
DL
14792001-01-30 Dave Love <fx@gnu.org>
1480
1481 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
1482 AFTER_POTENTIAL_GC.
1483
e8f044a0
GM
14842001-01-29 Gerd Moellmann <gerd@gnu.org>
1485
52283633
SM
1486 * bytecode.c (Fbyte_code) <Bcurrent_column>:
1487 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 1488
8e1db7b3
EZ
14892001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
1490
1491 * textprop.c (Fset_text_properties): Doc fix.
1492
4eefd9d2
GM
14932001-01-29 Gerd Moellmann <gerd@gnu.org>
1494
1495 * xdisp.c (forward_to_next_line_start): Remove xassert.
1496
fccb8288
EZ
14972001-01-29 Jason Rumney <jasonr@gnu.org>
1498
4eefd9d2 1499 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
1500 returning without releasing it.
1501
76581eab
KH
15022001-01-29 Kenichi Handa <handa@etl.go.jp>
1503
1504 * w32fns.c (w32_font_match): Allocate three more bytes to regex
1505 for '^', '$', and '\0'.
1506
83a96b4d
AC
15072001-01-28 Andrew Choi <akochoi@i-cable.com>
1508
5604ec34
AC
1509 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
1510 regex for '^', '$', and '\0'.
1511
83a96b4d
AC
1512 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
1513 only if current_sblock has been initialized.
1514
1515 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
1516 terminal frame even if it is the only visible frame.
1517
c09a6440
KH
15182001-01-28 Kenichi Handa <handa@etl.go.jp>
1519
1520 * fontset.c (font_family_registry): Even if FONTNAME conform to
1521 XLFD, if it specifies other fields than family and registry,
52283633 1522 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 1523 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
1524 a signle byte character. Don't set FAMILY part to nil here.
1525 It is handled by the caller choose_face_font.
c09a6440
KH
1526 (Fnew_fontset): Call font_family_registry with FORCE 0.
1527 (Fset_fontset_font): Likewise.
1528
4dcd74e6
GM
15292001-01-27 Gerd Moellmann <gerd@gnu.org>
1530
1531 * xdisp.c (display_line): Don't treat a newline as fitting
1532 on the line.
1533
d2906bf8
GM
15342001-01-26 Gerd Moellmann <gerd@gnu.org>
1535
0130fe1a
GM
1536 * window.c (size_window): Set the window's orig_top to nil when
1537 changing heights, so that a future shrink_mini_window won't
1538 restore a bogus height.
1539
550f0e6a
GM
1540 * frame.c (do_switch_frame): If selected frame has a mini-window,
1541 resize that to exact size.
1542
b7b20fbd
GM
1543 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
1544
a47b7816
GM
1545 * xdisp.c (display_line): Simplify check for glyphs fitting
1546 entirely in the line.
1547
d2906bf8
GM
1548 * xfns.c (xic_style): New variable.
1549 (create_frame_xic): Move static variable to global scope for
550f0e6a 1550 the case that `static' gets defined away.
d2906bf8 1551
73df2b1e
KH
15522001-01-26 Kenichi Handa <handa@etl.go.jp>
1553
1554 * coding.c (decode_coding): Set a flag for inhibiting
1555 inconsistent eol.
1556 (code_convert_region): Always set saved_coding_symbol.
1557 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 1558 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 1559
6613cfc4
GM
15602001-01-25 Gerd Moellmann <gerd@gnu.org>
1561
c5e6e06b
GM
1562 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
1563 XClearArea.
1564
1565 * xterm.c (x_after_update_window_line): Don't clear if frame's
1566 internal border width is zero.
1567 (x_clear_area): New function.
1568 (x_after_update_window_line, x_clear_end_of_line)
1569 (x_scroll_bar_create, x_scroll_bar_set_handle)
1570 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
1571 instead of XClearArea.
1572
1573 * xterm.h (x_clear_area): Add prototype.
1574
6613cfc4
GM
1575 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
1576 which doesn't seem necessary anymore with Lesstif 0.92.
1577
650cc6cc
DL
15782001-01-25 Dave Love <fx@gnu.org>
1579
34ac3367
DL
1580 * puresize.h (BASE_PURESIZE): Up to 720000.
1581
650cc6cc
DL
1582 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
1583
5e37dc22
GM
15842001-01-25 Gerd Moellmann <gerd@gnu.org>
1585
e1e441f9
GM
1586 * xdisp.c (echo_area_display): Don't call redisplay_internal
1587 when Emacs is shutting down. We can't run hooks etc. that
1588 would be necessary to do a redisplay.
1589
5e37dc22
GM
1590 * lread.c (read_integer): Use type EMACS_INT instead of int.
1591
0fb94c7f
EZ
15922001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
1593
1594 * ccl.c (ccl_driver): Fix last change.
1595
e3778624
KH
15962001-01-25 Kenichi Handa <handa@etl.go.jp>
1597
1598 * ccl.h (sturct ccl_program): New member suppress_error.
1599
bb264518 1600 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
1601 insert error message to the output.
1602 (setup_ccl_program): Initialize ccl->suppress_error to 0.
1603
1604 * coding.h (struct coding_system): New member suppress_error.
1605
1606 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
1607 (Fset_terminal_coding_system_internal): Set the member
1608 suppress_error to 1.
1609 (Fset_safe_terminal_coding_system_internal): Likewise.
1610
245ed2b1
SM
16112001-01-24 Stefan Monnier <monnier@cs.yale.edu>
1612
1613 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
1614 as if it was a `charset'.
1615
f9aaedb6
GM
16162001-01-24 Gerd Moellmann <gerd@gnu.org>
1617
1618 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
1619 value in where_is_cache; the next lookup in the cache returns
1620 something bogus if we do.
1621
c3902c3e
EZ
16222001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
1623
1624 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
1625 if HAVE_WINDOW_SYSTEM isn't defined.
1626
3497f73e
GM
16272001-01-24 Gerd Moellmann <gerd@gnu.org>
1628
e7e41584
GM
1629 * fns.c (sweep_weak_table): Fix code taking items out of
1630 the hash collision chain. Some cleanup.
1631
3497f73e
GM
1632 * xterm.c (x_new_font): Don't change a tooltip's size.
1633
1634 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
1635 background color by specifying a color for the default font
1636 in .Xdefaults.
1637
3d48e687
KH
16382001-01-24 Kenichi Handa <handa@etl.go.jp>
1639
96531b20
KH
1640 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
1641 a workaround for SunOS 4's cc.
1642 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
1643 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
1644 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
1645 statement.
3d48e687 1646
a30629d2
GM
16472001-01-23 Gerd Moellmann <gerd@gnu.org>
1648
1649 * xterm.c (x_set_window_size_1): New function extracted from
1650 x_set_window_size.
1651 (x_set_window_size): Use it.
1652 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
1653 doesn't have a widget, like tooltips.
1654
5a43decf
EZ
16552001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
1656
52283633 1657 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 1658
b0e98867
KH
16592001-01-23 Kenichi Handa <handa@etl.go.jp>
1660
1661 * fns.c (Fset_char_table_default): Fix to make sub char-table
1662 correctly.
1663
50606b4c
GM
16642001-01-22 Gerd Moellmann <gerd@gnu.org>
1665
cb2ddc53 1666 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
1667 a desired tool bar string, even if there are no tool bar items.
1668
57c28064
GM
1669 * xdisp.c (Ftool_bar_lines_needed): New function.
1670 (syms_of_xdisp): Defsubr it.
1671
50606b4c
GM
1672 * editfns.c (Fformat): Don't extend text properties from arguments
1673 to padding chars in the result.
1674
2f169c38
EZ
16752001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
1676
1677 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
1678
0f32f023
AI
16792001-01-20 Andrew Innes <andrewi@gnu.org>
1680
52283633 1681 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
1682 (w32_initialize): Don't set term hooks that aren't actually needed
1683 in windowed mode.
1684
1685 * xfaces.c (realize_default_face):
1686 (realize_face):
1687 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
1688
1689 * xdisp.c (handle_single_display_prop): Remove references to
1690 FRAME_W32_CONSOLE_P.
1691
52283633 1692 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
1693
1694 * frame.h (output_method): Remove output_w32_console method.
1695 (FRAME_W32_CONSOLE_P): Remove macro.
1696
1697 * frame.c (Qw32_console): Remove variable.
1698 (Fframep): Remove references to it.
1699 (syms_of_frame): Ditto.
1700 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
1701
1702 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
1703 redefinition.
1704
7173eada
KH
17052001-01-20 Kenichi Handa <handa@etl.go.jp>
1706
1707 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
1708
755b45ce
AI
17092001-01-19 Andrew Innes <andrewi@gnu.org>
1710
1711 * w32.c (init_environment): Add a version-independent site-lisp
1712 directory to EMACSLOADPATH, after the version dependent one.
1713
0a949811
GM
17142001-01-19 Gerd Moellmann <gerd@gnu.org>
1715
8501998a
GM
1716 * editfns.c (Fbuffer_substring): Doc fix.
1717
52283633
SM
1718 * xdisp.c (message_dolog, message2, message2_nolog):
1719 Rename parameter LEN to NBYTES.
0a949811 1720
e6ebcbbe
KH
17212001-01-19 Kenichi Handa <handa@etl.go.jp>
1722
200ecca2
KH
1723 * charset.c (strwidth): Use c_string_width.
1724 (c_string_width): New function.
1725 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
1726 Caller changed.
1727
1728 * charset.h (c_string_width, lisp_string_width): Extern them.
1729
52283633 1730 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 1731
e6ebcbbe
KH
1732 * indent.c (check_composition): Check validity of composition.
1733
200ecca2
KH
1734 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
1735 characters by calling c_string_width.
1736 (x_consider_frame_title): Get byte length of frame tile string
1737 correctly.
1738 (display_mode_element): Pay attention to width of non-ASCII
1739 characters by calling strwidth.
1740
8692ca92
GM
17412001-01-18 Gerd Moellmann <gerd@gnu.org>
1742
8962e303
GM
1743 * xfns.c (Qcancel_timer): New variable.
1744 (syms_of_xfns): Initialize and staticpro it.
1745 (Fx_hide_tip, Fx_show_tip): Use it.
1746 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1747 the timer.
1748 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
1749
91523be9
GM
1750 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
1751
1752 * window.h (WINDOW_LIVE_P): New macro.
1753
b0b7ed0e
GM
1754 * window.c (window_size_fixed): New variable.
1755 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
1756 the doc string.
1757
06bccf8e
GM
1758 * eval.c (specbind): If binding a per-buffer variable which
1759 doesn't have a buffer-local value in the current buffer, change
1760 the global value by changing the value of the symbol bound in all
1761 buffers not having their own value, to make it consistent with
1762 what happens with other buffer-local variables.
1763
8692ca92
GM
1764 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
1765
1766 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
1767 when searching for a newline.
1768
bb3a3b50
KH
17692001-01-18 Kenichi Handa <handa@etl.go.jp>
1770
1771 * xdisp.c (display_string): Fix previous change.
1772
c2cc16fa
JR
17732001-01-18 Jason Rumney <jasonr@gnu.org>
1774
1775 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
1776 GLYPH_DEBUG is defined.
1777 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
1778 true for images with `:ascent 100'.
1779 (x_set_mouse_face_gc): If the last used mouse face has gone in the
1780 meantime, use face MOUSE_FACE_ID.
1781 If first glyph isn't a character glyph, use the ASCII NUL
1782 character to determine the face.
1783 (expose_area): Do not treat left margin specially.
1784 (note_mode_line_highlight): If no local_map, check global keymap.
1785 (note_mouse_highlight): Initialize overlay.
52283633 1786 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
1787 (show_scroll_bars): Remove unused function.
1788 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
1789 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
1790 Clip to row.
52283633 1791 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
1792 (x_free_frame_resources): Unload relief colors.
1793
9c11f79e
GM
17942001-01-17 Gerd Moellmann <gerd@gnu.org>
1795
3aec8722 1796 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
1797 get_next_display_element when the newline is already found.
1798 This may change the iterator's position, when its current position is
3aec8722
GM
1799 equal to the iterator's stop_charpos.
1800
f3ffc2c3
GM
1801 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
1802 zero, use this method only at the end of a line.
1803
52283633 1804 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
1805 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
1806 if SCALABLE_FONTS_P is set.
52283633 1807
d26d6fd9
GM
1808 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
1809 so that scalable fonts are included.
1810
9c11f79e
GM
1811 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
1812 In the cache, use a key containing the information if scalable
1813 fonts are included.
1814 (x_load_font): Adapt to change of keys in the font cache.
1815
18162001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 1817
d26d6fd9
GM
1818 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
1819 XListFonts to take advantage of font caching.
1820
9c11f79e
GM
1821 * xterm.c (x_list_fonts): Ensure caching font information when
1822 called for a null frame, which is the case frequently when Emacs
1823 starts.
1824
51446987
GM
18252001-01-17 Gerd Moellmann <gerd@gnu.org>
1826
f864120f
GM
1827 * xfns.c (QCconversion): Replaces QCalgorithm.
1828
1829 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
1830
1831 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
1832 of :algorithm.
52283633 1833
e37d1417
GM
1834 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
1835 not everything could be displayed.
1836
51446987
GM
1837 * line.h, x-list-font.c: Files removed because unused.
1838
9ad4f3e5
AI
18392001-01-17 Andrew Innes <andrewi@gnu.org>
1840
1841 * dired.c (directory_files_internal): Convert result from readdir
1842 to a unibyte string initially, to avoid possible misinterpretation
1843 of some bytes as the internal form of Emacs characters.
1844
2eda09b5
KH
18452001-01-17 Kenichi Handa <handa@etl.go.jp>
1846
1847 * fns.c (concat): Be sure to avoid putting the same `composition'
1848 property on the adjacent regions.
1849
826f3788
GM
18502001-01-16 Gerd Moellmann <gerd@gnu.org>
1851
52283633 1852 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
1853 (Fscroll_right, Fscroll_left): Set it here instead, if called
1854 interactively.
1855
d57b83b3
GM
1856 * buffer.c (Fset_buffer_modified_p): Set buffer's
1857 prevent_redisplay_optimizations_p flag.
1858
826f3788 1859 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
1860 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
1861 with additional arg.
1862
1863 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
1864 Change prototype.
826f3788 1865
826f3788
GM
1866 * xdisp.c (redisplay_preserve_echo_area): Add parameter
1867 FROM_WHERE, for debugging.
1868
261d788b
KH
18692001-01-16 Kenichi Handa <handa@etl.go.jp>
1870
1871 * ccl.c (Fregister_ccl_program): Handle the return value of
1872 resolve_symbol_ccl_program correctly.
52283633 1873 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 1874
bccee4f2
GM
18752001-01-15 Gerd Moellmann <gerd@gnu.org>
1876
e4ded23c
GM
1877 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
1878 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
1879
1880 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
1881 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
1882 the display; we didn't open it.
1883
bccee4f2
GM
1884 * dispnew.c (save_or_restore_current_matrices): Function removed.
1885 (save_current_matrix, restore_current_matrix): New functions.
1886 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
1887 restore the frame's current matrix. Due to the glyph pointer
1888 setup done in adjust_glyph_matrix, there is no easy way to make
1889 saving the current matrix in the desired matrix generally correct,
1890 so don't try it.
1891
ebeccffa
KH
18922001-01-15 Kenichi Handa <handa@etl.go.jp>
1893
1894 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
1895 truncation glyphs.
1896 (display_line): Optimize for wide characters.
e4ded23c 1897 (display_string): Don't try to display a multi-column character
ebeccffa
KH
1898 partially. On ttys, produce more than one truncation glyph for
1899 multi-column characters that don't fit on the line.
1900
64388126
KH
19012001-01-13 Kenichi Handa <handa@etl.go.jp>
1902
52283633
SM
1903 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
1904 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 1905
8edb0a6f
JR
19062001-01-13 Jason Rumney <jasonr@gnu.org>
1907
1908 * w32fns.c (Fimage_size, image_ascent, lookup_image)
1909 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
1910 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
1911 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 1912
52283633
SM
1913 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
1914 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
1915 (x_draw_image_glyph_string): Adapt to change of image margins.
1916
1917 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
1918 variables.
1919
1920 * w32bdf.c (search_file_line, get_cached_font_char)
1921 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
1922
1923 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
1924
1925 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
1926 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
1927 (Fw32_send_sys_command): Remove unused variables.
1928 (w32_msg_pump): Add parentheses.
1929
1930 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
1931 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
1932 Add parentheses.
1933
4956d1ef
GM
19342001-01-12 Gerd Moellmann <gerd@gnu.org>
1935
b30623be
GM
1936 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
1937 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
1938 being a pair of margins.
1939 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
1940 to DEFVAR_LISP. Extend doc.
1941
1942 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
1943 margins.
1944 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
1945 pair of integers `(X . Y)', use X for the horizontal and Y for the
1946 vertical margin.
1947 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
1948 (parse_image_spec): Check it.
52283633
SM
1949 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
1950 (tiff_format, gif_format, gs_format):
1951 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 1952
52283633
SM
1953 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
1954 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
1955 (x_draw_image_glyph_string): Adapt to the change of image margins.
1956
1957 * dispextern.h (struct image): Replace member `margin' with
1958 `hmargin' and `vmargin'.
1959
4554cc79
GM
1960 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
1961 and GLYPHS.
1962
1963 * dispnew.c (update_text_area): Put code which decrements the
1964 stop position when the row's face extends to the end of the
3bffc665 1965 line in #if 0.
4554cc79 1966
3cccce8d
GM
1967 * xfns.c (x_set_mouse_color): Fix color allocation.
1968
4956d1ef
GM
1969 * keyboard.c: Call get_local_map with new argument list.
1970
1971 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
1972
1973 * intervals.h (enum map_property): Removed.
1974 (get_local_map): Change prototype.
1975
1976 * keymap.c: Call get_local_map with new argument list.
1977 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
1978
2c2ff7f2
GM
19792001-01-11 Gerd Moellmann <gerd@gnu.org>
1980
a23887b9
GM
1981 * xdisp.c (build_desired_tool_bar_string): Correct the computation
1982 of the size needed for the tool bar string. For the last image,
1983 use a `display' property that reaches to the end of the string.
1984
a7ee2d2e
GM
1985 * xselect.c (selection_request_dpyinfo): New variable.
1986 (x_handle_selection_request): Set it.
1987 (x_selection_request_lisp_error): Don't call
1988 x_decline_selection_request if selection request's display has
1989 been closed.
1990
52283633
SM
1991 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
1992 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 1993
457b792c
GM
19942001-01-10 Dave Love <fx@gnu.org>
1995
1996 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
1997 ${SOME_MACHINE_LISP}, not ${lisp}.
1998
c1efd260
GM
19992001-01-10 Gerd Moellmann <gerd@gnu.org>
2000
52283633
SM
2001 * xdisp.c (display_line): On ttys, produce more than one truncation
2002 glyph for multi-column characters that don't fit on the line.
a98b5ed9 2003
ac95a621
GM
2004 * xselect.c (x_reply_selection_request): Add a comment.
2005
c1efd260
GM
2006 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
2007 XkbGetNames instead of XkbGetKeyboard.
2008
1bfb1345
DL
20092001-01-10 Dave Love <fx@gnu.org>
2010
2011 * sysdep.c (random): Revert the declaration.
2012
38119822
GM
20132001-01-09 Gerd Moellmann <gerd@gnu.org>
2014
52283633
SM
2015 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
2016 Call function string_bytes.
35f464a7
GM
2017 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
2018
2019 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
2020 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
2021 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
2022 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
2023 the current sblock.
2024 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
2025 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
2026 after sweeping strings, and at the end.
2027 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
2028
38119822
GM
2029 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
2030 ensure that pop_message is called.
2031
2032 * keyboard.c (Fexecute_extended_command): Use a
2033 record_unwind_protect to ensure that pop_message is called.
2034
2035 * lisp.h (push_message_unwind): Add prototype.
2036
2037 * xdisp.c (push_message_unwind): New function.
2038
2039 * fileio.c (do_auto_save_unwind): Do the pop_message here
2040 instead of in Fdo_auto_save.
2041 (Fdo_auto_save): Don't call pop_message.
2042
f47a9ec4
KR
20432001-01-08 Ken Raeburn <raeburn@gnu.org>
2044
2045 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
2046 in inner block.
2047
a758f97d
GM
20482001-01-08 Gerd Moellmann <gerd@gnu.org>
2049
6d0afc03
GM
2050 * window.c (window_scroll_pixel_based): Adjust glyph matrices
2051 when increasing window's vscroll.
2052
a758f97d
GM
2053 * macros.c (Qkbd_macro_termination_hook): New variable.
2054 (syms_of_macros): Initialize and staticpro it.
2055 (pop_kbd_macro): Run kbd-macro-termination-hook.
2056
2057 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
2058
1bfb1345 20592001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
2060
2061 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
2062 arglist, for documentation's sake.
2063
0dac6924
AI
20642001-01-06 Andrew Innes <andrewi@gnu.org>
2065
2066 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
2067 of *.pdb.
2068
8182406a
AI
20692001-01-05 Andrew Innes <andrewi@gnu.org>
2070
2071 * term.c (update_end): Don't check updating_frame; for some reason
2072 this can be 0 sometimes, such as after dismissing a popup menu,
2073 and isn't necessary given the explicit frame argument.
2074
3828218c
GM
20752001-01-05 Gerd Moellmann <gerd@gnu.org>
2076
2077 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
2078 on some systems, and an unsigned long on others, like FreeBSD 4.1.
2079
2f5ded21
GM
20802001-01-04 Gerd Moellmann <gerd@gnu.org>
2081
52283633 2082 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
2083
2084 * xfns.c (x_create_tip_frame): Preserve the value of
2085 face_change_count around the creation of the tip frame.
52283633 2086
2f5ded21
GM
2087 * xfns.c (last_show_tip_args): New variable.
2088 (compute_tip_xy): New function.
2089 (Fx_show_tip): Reuse an existing tip frame, if possible.
2090 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
2091
dfad65fa
DL
20922001-01-04 Dave Love <fx@gnu.org>
2093
64d4ec0f
DL
2094 * editfns.c (Fformat): Doc fix.
2095
dfad65fa
DL
2096 * systime.h (set_file_times): Prototype.
2097
2098 * widget.h (EmacsFrameSetCharSize_): Prototype.
2099
2100 * sysdep.c (random, srandom): Declare explicitly.
2101
2102 * dispextern.h (move_it_vertically_backward): Declare.
2103
85fe3b5e
GM
21042001-01-04 Gerd Moellmann <gerd@gnu.org>
2105
0f2ac578
GM
2106 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
2107 like in Fx_create_frame.
2108
482cca61
GM
2109 * xfaces.c (set_font_frame_param): Don't do anything for
2110 non-graphical frames.
2111
85fe3b5e
GM
2112 * window.c (Fdelete_other_windows): Set window's window_end_valid
2113 to nil when changing the window's start. Don't change the
2114 window's start when its top position hasn't changed. If we do,
2115 this will set the window's optional_new_start, which act's like a
2116 force_start during redisplay with C-x 1 M-> under particular
2117 circumstances (see report from Per Starback to emacs-pretest-bug
2118 from 2000-12-13.).
2119
3e99d3b4
GM
21202001-01-03 Gerd Moellmann <gerd@gnu.org>
2121
a77dc1ec
GM
2122 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
2123 short cut at the start of the function. Add an assertion.
2124 (reseat_at_next_visible_line_start): Add an assertion.
2125
2f3cad6c
GM
2126 * window.c (Frecenter): When changing the window start, set the
2127 window's window_end_valid to nil.
2128 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
2129
2130 * dispextern.h (move_it_past_eol): Add prototype.
2131
2132 * xdisp.c (move_it_past_eol): New function.
2133
3e99d3b4
GM
2134 * window.c (Fwindow_end): Doc fix.
2135
21362001-01-03 Dave Love <fx@gnu.org>
2137
52283633 2138 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 2139
bafb434c
GM
21402001-01-03 Gerd Moellmann <gerd@gnu.org>
2141
2142 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
2143 the enabled_p flag of the glyph row at window_end_vpos to 0.
2144 (handle_single_display_prop): Fix last change.
2145
5297fb00
RS
21462001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
2147
2148 * window.c (Frecenter): Doc fix.
2149
13d6a61c
AI
21502001-01-02 Andrew Innes <andrewi@gnu.org>
2151
2152 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
2153
2154 * frame.h (output_method): Add output_w32_console method.
2155 (FRAME_W32_CONSOLE_P): New macro.
2156
2157 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
2158 use output_w32_console method.
2159 (Qw32_console): New Lisp_Object.
2160 (Fframep): Return it.
2161 (syms_of_frame): Init it.
52283633 2162 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
2163
2164 * xfaces.c (realize_default_face): Set face foreground and
2165 background to unspecified for w32_console frames.
2166 (realize_face): Realize face cache for w32_console frames.
2167 (realize_tty_face): Accept w32_console frames.
2168
52283633 2169 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
2170 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
2171 necessary, even if running interactively.
2172
2173 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
2174 w32_console frames.
2175
52283633
SM
2176 * w32term.c (x_update_begin):
2177 (x_update_end):
2178 (x_clear_frame):
2179 (x_ins_del_lines):
2180 (x_change_line_highlight):
2181 (x_delete_glyphs):
2182 (w32_ring_bell):
2183 (x_update_begin):
2184 (x_update_end):
2185 (w32_reassert_line_highlight):
2186 (w32_frame_rehighlight):
13d6a61c
AI
2187 (w32_frame_raise_lower): Do nothing if not w32 frame.
2188
2189 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
2190
2191 * w32fns.c (Fx_display_color_cells): Determine correct value, when
2192 system doesn't tell us directly.
2193 (Fx_display_visual_class): Implement properly.
2194
d6bb0c0d
GM
21952001-01-02 Gerd Moellmann <gerd@gnu.org>
2196
2197 * window.c (Frecenter): Handle centering in graphical frames
2198 specially. Centering on the basis of line counts doesn't work
2199 reliably with variable-height lines.
52283633 2200
315f5865
EZ
22012001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
2202
2203 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
2204 and al[].
2205
52283633 2206 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
2207 (update_compositions): Remove unused variable `hook'.
2208
2209 * intervals.c (get_local_map): Remove unused variable `tem'.
2210
2211 * doprnt.c (doprnt1): Remove unused variable `size'.
2212
2213 * fns.c (Flength): Remove unused variable `tail'.
2214 (Fdelete): Remove unused variable `size'.
2215
2216 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
2217 and `gcpro2'.
2218
52283633 2219 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
2220
2221 * data.c (find_symbol_value): Remove extra 3rd argument in the
2222 call to swap_in_symval_forwarding.
2223
52283633 2224 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
2225
2226 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
2227 (trivial_regexp_p): Remove unused variable `c'.
2228 (boyer_moore): Remove unused variable `k'.
2229
2230 * indent.c (current_column): Remove unused variable `stopchar'.
2231 (Fcompute_motion): Remove unused variable `contin'.
2232
2233 * casefiddle.c (casify_object): Remove unused variable `tolen'.
2234
2235 * dired.c (directory_files_internal): Fix a typo in a comment.
2236 Remove an unused variable `handler'.
52283633 2237 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
2238 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
2239 on BSD4_2.
2240
52283633 2241 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
2242
2243 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
2244 and `buf'.
2245 (Fmarker_insertion_type): Remove unused variable `buf'.
2246
2247 * insdel.c (make_gap): Remove unused variable `result'.
2248
52283633 2249 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
2250 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
2251 (menu_bar_items): Remove unused function-scope variable `tem'.
2252
2253 * fontset.c (fontset_ref): Remove unused variable `i'.
2254 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 2255 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
2256 (make_fontset_for_ascii_face): Remove unused variable `name'.
2257 (fs_load_font): Remove unused variable `font_idx'.
52283633 2258 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
2259 (list_fontsets): Remove unused variable `tail'.
2260 (Fnew_fontset): Remove unused variables `family' and `registry'.
2261 (accumulate_font_info): Remove unused variable `tmp'.
2262 (Ffontset_font): Remove unused variable `id'.
2263 (syms_of_fontset): Remove unused variable `i'.
2264
2265 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
2266 to x_term_init.
2267 (lookup_image): Remove unused variable `file'.
2268 (xbm_load): Remove unused variables `bitmap_data', `height', and
2269 `width'. Remove function-local variable `i', leave the
2270 block-local one.
2271 (gif_load): Remove unused variable `inc'.
2272
52283633 2273 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
2274 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
2275 leave only the one in the inner block.
2276
2277 * xfaces.c (face_fontset, realize_default_face): Remove unused
2278 variable `fontset'.
2279 (face_at_buffer_position): Remove unused variable `multibyte_p'.
2280
2281 * term.c (encode_terminal_code): Remove unused variable `c'.
2282
2283 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
2284 char *' instead of `char *'.
2285
2286 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 2287 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
2288 (Fchar_category_set): Remove unused variables `val', `charset',
2289 `c1' and `c2'.
2290
52283633
SM
2291 * coding.c (detect_coding_iso2022, setup_coding_system):
2292 Remove unused variable `i'.
315f5865
EZ
2293 (detect_coding_mask): Remove unused variable `idx'.
2294 (detect_coding): Remove unused variable `i'.
2295 (ccl_coding_driver): Remove unused variable `result'.
2296 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 2297 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
2298 (encode_coding_string): Remove unused variables `gcpro1' and
2299 `saved_coding_symbol'.
2300 (Ffind_coding_systems_region_internal): Remove function-local
2301 variable args[], leave only the block-local one.
2302 (code_convert_region1): Remove unused variable `len'.
2303
2304 * charset.c (char_printable_p): Remove unused variable `chars'.
2305 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
2306 (str_to_multibyte): Remove unused variable `c'.
2307
2308 * window.c (size_window): Remove block-local variable `min_size'.
2309
2310 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
2311 `header_line_height'.
2312 (append_space, extend_face_to_end_of_line): Declare `saved_what'
2313 enum display_element_type.
2314
1a8a9daf
GM
23152001-01-02 Gerd Moellmann <gerd@gnu.org>
2316
6dde6abc 2317 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
2318 statements that call X. Save away the error message in a local copy.
2319
1883b2c6
GM
2320 * xterm.c (x_connection_closed): Set handling_signal to 0 at
2321 the start.
2322
a13be207
GM
2323 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
2324 in or at the start of invisible text.
2325
1a8a9daf
GM
2326 * dispnew.c (update_window): Don't check_current_matrix_flags.
2327
3608c0f9
JR
23282001-01-01 Jason Rumney <jasonr@gnu.org>
2329
2330 * w32fns.c (x_figure_window_size): Do not allow new_height and
2331 new_width of frame to override specified values.
2332
abb1acc4
KH
23332000-12-30 Kenichi Handa <handa@etl.go.jp>
2334
52283633 2335 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 2336
762a68ec
GM
23372000-12-29 Gerd Moellmann <gerd@gnu.org>
2338
52283633 2339 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
2340 (update_window) [GLYPH_DEBUG]: Call it.
2341 (scrolling_window): Prevent including current rows which are below
2342 what's displayed in the window.
2343
2344 * xdisp.c (try_window_reusing_current_matrix)
2345 <new start <= old start>: Disable rows in the current matrix
2346 which are below the window after scrolling.
52283633 2347
762a68ec
GM
2348 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
2349 is zero. It's not worth the complexity.
2350 (invisible_text_between_p): Put in #if 0 because unused.
2351
2d5912c1
GM
23522000-12-28 Gerd Moellmann <gerd@gnu.org>
2353
46f6a258
GM
2354 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
2355 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
2356
89f93679
GM
2357 * keyboard.c (echo_char): If C is an integer, always call
2358 push_key_description. Former code could signal an invalid
2359 character error.
2360
2361 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
2362 If set, print multibyte text.
2363 (Fsingle_key_description): Call push_key_description with
2364 FORCE_MULTIBYTE set.
2365 (describe_buffer_bindings): Likewise.
2366
2367 * lisp.h (push_key_description): Add prototype.
2368
c06017fb
GM
2369 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
2370 around the call to redisplay_internal.
2371
f1d2ce7f
GM
2372 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2373
2d5912c1
GM
2374 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2375
9371f831
KH
23762000-12-28 Kenichi Handa <handa@etl.go.jp>
2377
2378 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
2379 (ccl_driver): New local variable `extra_bytes'.
2380
2381 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
2382
52283633
SM
2383 * coding.c (setup_coding_system):
2384 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
2385 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
2386
0c80628a
KH
23872000-12-28 Kenichi Handa <handa@etl.go.jp>
2388
2389 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
2390 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
2391 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
2392 (decode_composition_emacs_mule): New function.
2393 (decode_coding_emacs_mule): Decode composition sequence by calling
2394 decode_composition_emacs_mule.
2395 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
2396 (encode_coding_emacs_mule): Changed from macro to function.
2397 If a text contains compositions, encode them correctly.
0c80628a
KH
2398 (setup_coding_system): Set coding->commong_flags for emacs-mule so
2399 that decoding and encoding are required.
2400
3e32cc27
GM
24012000-12-27 Gerd Moellmann <gerd@gnu.org>
2402
5e25feee
GM
2403 * xfaces.c (PT_PER_INCH): New macro.
2404 (xlfd_point_size): Compute real point size from font's pixel size.
2405 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
2406 instead of 72.
2407
892d8fcd
GM
2408 * .gdbinit: Comment out the line pointing to the Lesstif source
2409 directory.
2410
12c8b416
GM
2411 * window.c (Frecenter): Use displayed_window_lines instead
2412 of window_internal_height.
2413
6061fbf0
GM
2414 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2415 instead of x-toolkit-scroll-bars-p.
2416 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
2417
2418 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2419 instead of x-toolkit-scroll-bars-p.
2420 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 2421
3e32cc27
GM
2422 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
2423 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
2424 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
2425 New variables.
2426 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
2427 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
2428 (build_frame_matrix_from_leaf_window): Remove unused code.
2429 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
2430 redisplay history.
2431 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
2432 (update_window) [GLYPH_DEBUG]: Likewise.
2433 (syms_of_display): Defsubr dump-redisplay-history.
2434
31798cfe
GM
24352000-12-23 Gerd Moellmann <gerd@gnu.org>
2436
f717c2ba
GM
2437 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
2438 the end of the prompt. Set echo_after_prompt to the offset
2439 of echoptr in echobuf.
2440
aeb2b8fc
GM
2441 * xdisp.c (init_from_display_pos): Pop until the iterator's
2442 stack is empty; there may be frames for stretch or images
2443 on the stack.
2444
31798cfe
GM
2445 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
2446 (save_or_restore_current_matrix): New function for the same
2447 purpose, but more efficient.
2448 (adjust_frame_glyphs_for_frame_redisplay): Use it.
2449
f8156156
EZ
24502000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
2451
2452 * xdisp.c (syms_of_xdisp): Fix last change.
2453
bdd6d4e8
GM
24542000-12-23 Gerd Moellmann <gerd@gnu.org>
2455
2456 * xdisp.c (syms_of_xdisp): Doc fix.
2457
2458 * xdisp.c (redisplay_window): Remove label restore_buffers;
2459 use finish_scroll_bars instead to make sure that scroll bars
2460 are redeemed. If we don't do this, flickering can result from
2461 scroll bars being destroyed and recreated.
2462
9436cdf9
JR
24632000-12-22 Jason Rumney <jasonr@gnu.org>
2464
2465 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
2466 in the wrong colors when the foreground is not black.
2467 (expose_window): Don't redraw the window that's currently being
2468 updated.
2469
951f9df5
GM
24702000-12-22 Gerd Moellmann <gerd@gnu.org>
2471
856ff7a7
GM
2472 * window.c (size_window): When setting the window's too_small_ok
2473 flag, compare old size with minimum size depending on WIDTH_P,
2474 don't compare with window_min_width.
52283633 2475
951f9df5
GM
2476 * window.c (delete_window): Simplify somewhat.
2477 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
2478 freeing window matrices. The flag windows_or_buffers_changed is
2479 set, so the next redisplay will consider all windows; this should
2480 suffice.
2481
886bc933
KH
24822000-12-22 Kenichi Handa <handa@etl.go.jp>
2483
2484 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
2485
2486 * ccl.h (struct ccl_program): New member cr_consumed.
2487
2488 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
2489 (CCL_READ_CHAR): Handle EOL conversion here.
2490 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
2491
177f4e88
GM
24922000-12-21 Gerd Moellmann <gerd@gnu.org>
2493
52283633 2494 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
2495
2496 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
2497 otherwise tabs of different size compare equal.
2498
2499 * callint.c (Fcall_interactively): Prevent a compiler warning.
2500
2501 * print.c (print_unwind): Return nil.
2502 (PRINTDECLARE): Initialize all local variables.
2503 (print_preprocess): Add a default case.
2504
8e15274f
GM
2505 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
2506
2507 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
2508
52283633 2509 * window.c (delete_window, Fsplit_window)
177f4e88
GM
2510 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
2511
2512 * dispextern.h (ensure_frame_matrix): Function declaration removed.
2513
2514 * dispnew.c (ensure_frame_matrix): Removed.
2515 (save_frame_matrix, restore_frame_matrix): New functions.
2516 (adjust_frame_glyphs_for_frame_redisplay): Use them.
2517
2518 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
2519 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
2520
99012074
AI
25212000-12-21 Andrew Innes <andrewi@gnu.org>
2522
2523 * w32term.c (x_update_begin): Regenerate the palette here, rather
2524 than for each window.
2525
2526 * w32xfns.c (select_palette): Avoid calling SelectPalette if
2527 palette is NULL, since this corrupts memory! Also get
2528 display_info reference from frame.
2529
29ef7d2d
JR
25302000-12-21 Jason Rumney <jasonr@gnu.org>
2531
2532 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
2533
2534 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
2535 to avoid returning without releasing it.
3e27fa1f 2536
3f9d67a6
KH
25372000-12-21 Kenichi Handa <handa@etl.go.jp>
2538
587fc3f9
KH
2539 * keymap.c (push_key_description): Don't convert eight-bit-control
2540 and eight-bit-graphic to multibyte character.
2541
3f9d67a6
KH
2542 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
2543 generic character and CODE1 is nil, return the smallest character
2544 in CHARSET.
2545
774ba8c9
DL
25462000-12-20 Dave Love <fx@gnu.org>
2547
2548 * s/osf5-0.h (NSIG): Don't redefine.
2549
88416888
SM
25502000-12-20 Stefan Monnier <monnier@cs.yale.edu>
2551
2552 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
2553 excluding menu-bar and tool-bar.
2554 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
2555 (menu_item_p): Remove.
2556 (where_is_internal_1): Don't ignore menu-items.
2557
a6426c6f
GM
25582000-12-20 Gerd Moellmann <gerd@gnu.org>
2559
03ff8aab
GM
2560 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
2561 into account.
2562
2563 * window.c (make_window): Initialize window's min_hscroll.
2564 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
2565 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
2566 to zero.
2567 (struct saved_window): New member min_hscroll.
2568 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
2569 (Fset_window_configuration): Set window's min_hscroll.
2570 (save_window_save): Save window's min_hscroll.
2571 (compare_window_configurations): Compare min_hscroll values.
2572
2573 * window.h (struct window): New member min_hscroll.
2574
2575 * keyboard.c (echo_prompt): Prevent a compiler warning.
2576
8de4aaf8
GM
2577 * xdisp.c (try_cursor_movement): Fix last change. The real
2578 condition is that PT is at the end of the row, and should
2579 be displayed at the start of the next row.
52283633 2580
3f7e3031
GM
2581 * xdisp.c (try_cursor_movement): If we end on a partially
2582 visible line, end we already decided to scroll, return -1.
2583
a6426c6f
GM
2584 * dispextern.h (ensure_frame_matrix): Add prototype.
2585
2586 * window.c (delete_window, Fsplit_window)
2587 (Fset_window_configuration): Call ensure_frame_matrix.
2588
52283633
SM
2589 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
2590 New functions.
a6426c6f
GM
2591 (adjust_frame_glyphs_for_frame_redisplay): If display has been
2592 completed, call fake_current_matrices instead of marking frame
2593 garbaged.
2594
57fa2774
JR
25952000-12-20 Jason Rumney <jasonr@gnu.org>
2596
2597 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
2598
d925df90
EZ
25992000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
2600
2601 * fns.c (Frequire): Doc fix.
2602
7b93a85b
GM
26032000-12-19 Gerd Moellmann <gerd@gnu.org>
2604
52283633 2605 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 2606
c74e645b
GM
2607 * dispnew.c (direct_output_for_insert): Fix check for mini-window
2608 currently displaying a message.
2609
7b93a85b
GM
2610 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
2611 xterm.h.
2612 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
2613
90d97e64
AI
26142000-12-18 Andrew Innes <andrewi@gnu.org>
2615
2616 * w32.c (w32_strerror): New function.
2617
2618 * w32.h (w32_strerror): New extern.
2619
2620 * w32fns.c (Fw32_shell_execute): Use it.
2621
91c9e6ce
GM
26222000-12-18 Gerd Moellmann <gerd@gnu.org>
2623
2624 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
2625
6f4745e2
EZ
26262000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2627
2628 * msdos.c (IT_set_face): Obey inverse_video.
2629
c9e088ce
KH
26302000-12-18 Kenichi Handa <handa@etl.go.jp>
2631
2632 * dired.c (directory_files_internal): Always return decoded filenames.
2633
c3695f5f
GM
26342000-12-18 Gerd Moellmann <gerd@gnu.org>
2635
52d8e4ff
GM
2636 * xterm.c (x_connection_closed): Prevent being called recursively
2637 because of an error condition in XtCloseDisplay.
52283633 2638
62be9979
GM
2639 * xdisp.c (init_iterator): If noninteractive, and the frame's
2640 face cache is null, make one.
2641
52283633 2642 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 2643
c3695f5f
GM
2644 * process.c (wait_reading_process_input): Check for pending
2645 input when running timers.
2646
78555fbe
EZ
26472000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2648
52283633 2649 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 2650
b2b36264
KH
26512000-12-18 Kenichi Handa <handa@etl.go.jp>
2652
2653 * process.c (read_process_output): Don't run a filter if the code
2654 decoder produces nothing but carryover.
2655
9c543fbf
AI
26562000-12-17 Andrew Innes <andrewi@gnu.org>
2657
2658 * w32.c (sys_rename): Only check errno against EEXIST, and not
2659 EACCES, when determining whether rename failed because the target
2660 exists. This was resulting in indefinite looping on Windows 9x if
2661 the source file was locked by another process.
2662
2663 * w32fns.c (Ffile_system_info): New function.
2664 (syms_of_w32fns): Defsubr it.
2665
10c2b5a8
GM
26662000-12-17 Gerd Moellmann <gerd@gnu.org>
2667
b0228ace
GM
2668 * window.c (coordinates_in_window): Fix computation for
2669 position on vertical line between mode lines.
2670
10c2b5a8
GM
2671 * xfns.c (unwind_create_frame): Return t if frame was deleted.
2672 Don't alter tip_frame or tip_window.
2673 (unwind_create_tip_frame): Set tip_frame to nil only if frame
2674 was deleted.
2675
c844a81a
GM
2676 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
2677 Don't alter tip_frame or tip_window.
2678 (unwind_create_tip_frame): Set tip_frame to nil only if frame
2679 was deleted.
2680
6c825f8e
EZ
26812000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
2682
2683 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
2684 be consistent with the doc string. Reported by NAKAJIMA Mikio
2685 <minakaji@osaka.email.ne.jp>.
2686
af4bb4c8
KH
26872000-12-16 Kenichi Handa <handa@etl.go.jp>
2688
2689 * xfaces.c (Vface_ignored_fonts): New variable.
2690 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
2691 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
2692
8062e53a
GM
26932000-12-15 Gerd Moellmann <gerd@gnu.org>
2694
e87b8809
GM
2695 * dispnew.c (update_window): Detect pending input every nth line
2696 updated, i.e. do it depending on real work done, and not on the
2697 vpos of the line.
2698
2699 * xterm.c (expose_window): Don't redraw the window that's
2700 currently being updated.
2701
a6768cc5
GM
2702 * window.c (Fset_window_point): Remove test for
2703 cursor_in_non_selected_windows.
2704
4ea7fdca
GM
2705 * lread.c (read1): Recognize end of file after `\\'.
2706
8062e53a
GM
2707 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
2708 not unwind_create_frame.
2709
bb7959c1
GM
27102000-12-15 Dave Love <fx@gnu.org>
2711
2712 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
2713 bcopy & al.
2714
2715 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
2716
ced04c42
KH
27172000-12-15 Kenichi Handa <handa@etl.go.jp>
2718
c5443913
KH
2719 * coding.c (setup_coding_system): Clear all members of the struct
2720 coding_system at first.
bc137305
KH
2721 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
2722 argument.
2723 (code_convert_region): Don't override coding->src_multibyte and
2724 coding->dst_multibyte.
c5443913 2725
ced04c42
KH
2726 * fns.c (Fmd5): Docstring improved.
2727
c2d7f289
MB
27282000-12-15 Miles Bader <miles@gnu.org>
2729
2730 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
2731 are actually marked as mode-lines; otherwise use
2732 estimate_mode_line_height.
2733
9d7d9263
GM
27342000-12-14 Gerd Moellmann <gerd@gnu.org>
2735
2736 * editfns.c (Fformat): Prevent a buffer overrun when the format
2737 specifies a precision.
2738
7cf0153a
EZ
27392000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
2740
2741 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
2742 argument is outside the range [2..3].
2743
1de0f662
AI
27442000-12-14 Andrew Innes <andrewi@gnu.org>
2745
2746 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
2747 nothing to do. Bind inhibit-quit.
2748 (tip_frame): Make it a Lisp_Object.
2749 (x_create_tip_frame): Set tip_frame after it has been added to
2750 Vframe_list.
2751 (Fx_show_tip): Don't set tip_frame here.
52283633 2752 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
2753 (unwind_create_frame, unwind_create_tip_frame): New functions.
2754 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
2755 while a frame is only partially constructed.
2756
2757 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
2758 (x_free_frame_resources): New function.
2759 (x_destroy_window): Use it.
2760
02387dcc
GM
27612000-12-14 Gerd Moellmann <gerd@gnu.org>
2762
2763 * xfns.c (Fx_backspace_delete_keys_p): New function.
2764 (syms_of_xfns): Defsubr it.
2765
2766 * config.in (HAVE_XKBGETKEYBOARD): Add.
2767
0544ef49
KH
27682000-12-14 Kenichi Handa <handa@etl.go.jp>
2769
98d62747
KH
2770 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
2771 Always store string in multibyte representation in echobuf.
2772 (echo_char): Always store string in multibyte representation in
2773 echobuf.
2774 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
2775 (read_key_sequence): Adjusted for the change of echo_prompt.
2776
a20193cd
KH
2777 * fns.c (Fmd5): Docstring improved.
2778
191b83b6
KH
2779 * lisp.h (detect_coding_system): Prototype adjusted.
2780
0544ef49
KH
2781 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
2782 (detect_coding_emacs_mule, detect_coding_iso2022,)
2783 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
2784 (detect_coding_utf_16, detect_coding_ccl): Make them static.
2785 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
2786 (detect_coding_mask, detect_coding_system): New argument
2787 MULTIBYTEP. Callers changed.
1da1bb05
KH
2788 (decode_coding_string): Set coding->src_multibyte and
2789 coding->dst_multibyte before calling detect_coding and detect_eol.
2790 Update them after some coding system is detected.
52283633 2791
d5b3eb1b
SM
27922000-12-13 Stefan Monnier <monnier@cs.yale.edu>
2793
2794 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
2795
2796 * keyboard.c (menu_bar_items, tool_bar_items):
2797 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
2798
f7f8bb69
GM
27992000-12-13 Gerd Moellmann <gerd@gnu.org>
2800
52283633 2801 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
2802 New variables.
2803 (unwind_create_frame, unwind_create_tip_frame): New functions.
2804 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
2805 while a frame is only partially constructed.
2806
2807 * xterm.h (x_free_frame_resources): Declare.
2808
2809 * xterm.c (x_free_frame_resources): New function.
2810 (x_destroy_window): Use it.
2811
e10da507
GM
2812 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
2813 don't interrupt the update for pending input initially, i.e.
2814 update at least some lines.
2815
2816 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 2817
d5b3eb1b 2818 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
2819
2820 * xfns.c (gray_bitmap_bits): Declare `char *'.
2821
90aa2856
GM
28222000-12-12 Gerd Moellmann <gerd@gnu.org>
2823
2824 * xdisp.c (display_tool_bar_line): Make sure that tool bar
2825 lines start with a relief line.
2826
a308c9cd
DL
28272000-12-12 Dave Love <fx@gnu.org>
2828
2829 * window.c (Fdisplay_buffer): Doc fix.
2830 (Fwindow_list): Remove unused var.
2831
2832 * buffer.h (mmap_set_vars): Declare.
2833
2834 * window.h (Fset_window_point): Declare.
2835
d575011f
EZ
28362000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
2837
bf6282d2 2838 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
2839 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
2840 variable `area'. When looking for a row under (X,Y), give up if some
2841 of the previous rows is not enabled.
d575011f 2842
ecf4d726
GM
28432000-12-12 Gerd Moellmann <gerd@gnu.org>
2844
2ebf6139
GM
2845 * window.c (Fset_window_point): If displaying cursors in windows
2846 other than the selected window, make sure redisplay updates
2847 other windows to show the new value of point in the window.
2848
2849 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
2850
bfdb75ee
GM
2851 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
2852 the buffer is the sole visible buffer when in the mini-buffer.
2853
52283633 2854 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
2855 Bind `inhibit-read-only' to t.
2856 (unwind_with_echo_area_buffer): Use AREF.
2857
c0006262
GM
2858 * xfns.c (Fx_hide_tip): Simplified.
2859
52283633
SM
2860 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
2861 instead of `1'.
e9a59cad 2862
ecf4d726
GM
2863 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
2864
e5959a9a
GM
28652000-12-11 Gerd Moellmann <gerd@gnu.org>
2866
a3642e49 2867 * xfns.c (Fx_hide_tip): Fix last change.
52283633 2868
44b5a125
GM
2869 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
2870 nothing to do. Bind inhibit-quit.
2871 (tip_frame): Make it a Lisp_Object.
2872 (x_create_tip_frame): Set tip_frame after it has been added to
2873 Vframe_list.
2874 (Fx_show_tip): Don't set tip_frame here.
2875
2876 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
2877
2878 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
2879 Lisp_Object.
2880
2881 * dispextern.h: Change external declaration of tip_frame.
2882
d990421f
GM
2883 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
2884 return an empty string.
2885
4db87380
GM
2886 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
2887 of the window's update_mode_line flag, since the former is set by
2888 force-mode-line-update, not the latter. This makes
2889 column-number-mode slightly faster.
52283633 2890
e5959a9a
GM
2891 * xdisp.c (try_window_id) <all changes above window start>:
2892 Set the cursor.
2893
169fe44e
GM
28942000-12-11 Paul Eggert <eggert@twinsun.com>
2895
2896 * config.in (HAVE_FTELLO): Remove.
2897 (HAVE_FSEEKO): Add.
2898 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
2899 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
2900 HAVE_FTELLO.
2901 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
2902 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 2903
59ec59ae
MB
29042000-12-11 Miles Bader <miles@gnu.org>
2905
2906 * window.c (displayed_window_lines): Don't round up when
2907 converting empty space at bottom to lines.
ff904dd6
MB
2908 Handle non-newline-terminated final lines properly.
2909 (Fwindow_text_height): New function (used to be in lisp).
2910 (syms_of_window): Initialize it.
59ec59ae 2911
42ebfa31
SM
29122000-12-09 Stefan Monnier <monnier@cs.yale.edu>
2913
2914 * syntax.c (scan_lists): Check that the right quote char has the
2915 right Sstring syntax when jumping over strings.
2916 (init_syntax_once): Use Smax rather than 13.
2917
5cdb3cf3
MB
29182000-12-09 Miles Bader <miles@gnu.org>
2919
2920 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
2921 with PARTIALLY, inverting the sense.
2922 (window_scroll_pixel_based): Scroll partially visible lines into
2923 place if we hit the beginning or end of the buffer.
a12167c5
MB
2924 (displayed_window_lines): Don't include partially visible lines.
2925 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 2926
842b2a94
GM
29272000-12-08 Gerd Moellmann <gerd@gnu.org>
2928
2929 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
2930
2931 * tparam.c (tparam1): Change the way buffers are reallocated to be
2932 portable and less obfuscated.
2933
2934 * termcap.c (tgetent): Change the way buffers are reallocated to
2935 be portable and less obfuscated.
2936
2937 * macros.c (store_kbd_macro_char): Change the way buffers are
2938 reallocated to be portable and less obfuscated.
2939
2940 * lread.c (read1): Change the way buffers are reallocated to be
2941 portable and less obfuscated.
2942
2943 * doc.c (Fsubstitute_command_keys): Change the way buffers
2944 are reallocated so that it is portable.
2945
137cad7c
EZ
29462000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
2947
2948 * dosfns.c (Ffile_system_info): New function.
2949 (syms_of_dosfns): Defsubr it.
2950
5c7f629c
SM
29512000-12-07 Stefan Monnier <monnier@cs.yale.edu>
2952
2953 * alloc.c (gc_sweep): Add comment.
2954
959e647d
GM
29552000-12-07 Gerd Moellmann <gerd@gnu.org>
2956
52283633
SM
2957 * sound.c (vox_configure): Change order of ioctls.
2958 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
2959 Ignore errors when changing volume.
2960 (vox_close): Don't reset the device.
2961
926b7e5e
GM
2962 * process.c (read_process_output): Make sure the process marker's
2963 position is valid when the process buffer is changed in
2964 after-change functions. W3 does that.
52283633 2965
959e647d
GM
2966 * xfns.c (x_free_gcs): New function.
2967
2968 * xterm.h (x_free_gcs): Add prototype.
2969
2970 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
2971 freeing GCs here.
2972
2973 * xterm.c (x_destroy_window): Call x_free_gcs so that
2974 resources of non-toolkit X windows will be freed.
2975
478ea067
AI
29762000-12-07 Andrew Innes <andrewi@gnu.org>
2977
2978 * w32fns.c (xlfd_charset_of_font): Fix last change.
2979
fbee3231
DL
29802000-12-06 Dave Love <fx@gnu.org>
2981
67292061
DL
2982 * md5.h (__P): Don't define -- it comes from config.h.
2983
fbee3231
DL
2984 * strftime.c: Change some #if foo to #ifdef foo.
2985
4ee87dbb
AI
29862000-12-06 Andrew Innes <andrewi@gnu.org>
2987
2988 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
2989
52283633 2990 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 2991 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 2992 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 2993
9765b4a4
GM
29942000-12-06 Gerd Moellmann <gerd@gnu.org>
2995
d285b373
GM
2996 * alloc.c (gc_sweep): Prevent symbols read during loadup
2997 from being freed.
2998
384333ee
GM
2999 * xdisp.c (underlying_face_id): New function.
3000 (handle_face_prop, face_before_or_after_it_pos): Use it
3001 to determine the face ``under'' a string. Let strings inherit
3002 the face of the buffer under them.
3003
3004 * xfaces.c (face_at_string_position): Update function comment.
52283633 3005
d4b72d58
GM
3006 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
3007 matrix if the window's left position has changed; we need to
3008 redraw it in this case.
3009
3010 * dispextern.h (struct glyph_matrix): Add member window_left_x.
3011
e1d05387
GM
3012 * window.c (coordinates_in_window): Check mouse on mode-line or
3013 header-line first.
3014
eb1b0c74
GM
3015 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
3016 advertized by the function documentation.
3017
d94d636f
GM
3018 * window.c (syms_of_window): Doc fix.
3019
3887b449
GM
3020 * sound.c (vox_configure): Set volume for left and right channel.
3021 (sound_cleanup): Return nil.
3022
efc8f57a
GM
3023 * xdisp.c (move_it_by_lines): Fix paren typo.
3024
9765b4a4
GM
3025 * xterm.c (x_load_font): Don't use the font's max_bounds for
3026 computing the height of the font. If max_bounds' ascent or
3027 descent are greater than the font's ascent or descent, this means
3028 glyphs overlap, which should be handled now by redisplay.
3029
6529ed87
GM
3030 * window.c (Veven_window_heights): New variable.
3031 (syms_of_window): DEFVAR_LISP it.
3032 (Fdisplay_buffer): Check Veven_window_heights before evening the
3033 window heights.
52283633 3034
0eb2ecde
MB
30352000-12-06 Miles Bader <miles@gnu.org>
3036
3037 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
3038 update `default-frame-alist' instead of setting no frame parameters.
3039
03d7a167
KH
30402000-12-06 Kenichi Handa <handa@etl.go.jp>
3041
3042 * composite.c (update_compositions): Fix typo (use the correct
3043 variable).
3044
5f8803c2
JR
30452000-12-05 Jason Rumney <jasonr@gnu.org>
3046
3047 * md5.h: Remove underscores from function declarations.
3048 (__attribute__, __alignof__) [!__GNUC__]: Define.
3049
3050 * md5.c: Delay include of md5.h until after namespace cleaning.
3051
c28a075b
JR
3052 * makefile.w32-in (fns.o): Depend on md5.h
3053 (md5.o): New target.
3054 (sunfns.o): Remove.
3055
3056 * makefile.nt: Likewise.
3057
ff3c7056
JR
30582000-12-05 Jason Rumney <jasonr@altavista.net>
3059
3060 * w32term.c (expose_area): Complete last change.
3061
0c21eeeb
KR
30622000-12-05 Ken Raeburn <raeburn@gnu.org>
3063
3064 * minibuf.c: Include intervals.h.
3065
f201d732
JR
30662000-12-05 Jason Rumney <jasonr@gnu.org>
3067
3068 * w32term.c (x_produce_glyphs): If a font for a component of
3069 a composition is not found, use 1 pixel dot ascent and 0 dot
3070 descent value to avoid displaying terribly tall empty boxes.
3071 (expose_area): Pass x-coordinate relative to the exposed
3072 area to x_draw_glyphs instead of a window-relative coordinate.
3073
21999ab9
GM
30742000-12-05 Gerd Moellmann <gerd@gnu.org>
3075
4d2036e4
GM
3076 * xdisp.c (next_element_from_ellipsis): Save face before selective
3077 display in saved_face_id, and set face_before_selective_p.
3078 (reseat_1): Reset face_before_selective_p.
3079 (append_space, extend_face_to_end_of_line): If iterator's
3080 face_before_selective_p is set, use the face from saved_face_id.
3081 (extend_face_to_end_of_line): For tty frames, make sure to
3082 use the right face id when producing spaces at the end of
3083 the line.
3084
3085 * dispextern.h (struct it): Add face_before_selective_p.
3086
52be17cc
GM
3087 * keyboard.c (record_char): Don't record identical help-echo
3088 events in recent_keys.
3089
8a4f36cc
GM
3090 * xterm.c [USE_X_TOOLKIT]: Close the display.
3091 (xim_close_dpy): Handle case that the display has been closed.
3092
57d6e381
GM
3093 * xterm.c (x_destroy_window): Reset the frame's X window after
3094 destroying it.
3095
21999ab9
GM
3096 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
3097 variable window_width.
3098 (line_draw_cost): Fix code skipping over spaces at the end of the
3099 line when must_write_spaces is not set.
3100 (scrolling_window): Fix code inserting runs in list of all runs.
3101
91372bb7
KH
31022000-12-05 Kenichi Handa <handa@etl.go.jp>
3103
3104 * coding.c (setup_coding_system): Be sure to initialize
3105 coding->category_idx.
3106
6c083b4c
GM
31072000-12-04 Gerd Moellmann <gerd@gnu.org>
3108
0c68ce6f 3109 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 3110
6452929e
GM
3111 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
3112 area to x_draw_glyphs instead of a window-relative coordinate.
3113
d7f31e22
GM
3114 * fileio.c (auto_save_error): Add parameter ERROR. Show the
3115 error in the message.
3116
ae18aa3b
GM
3117 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
3118 timer after having read a key. It's not good for code reading
3119 several keys in a loop, like an input method.
3120
caa15ef7
GM
3121 * fileio.c (Finsert_file_contents): When VISIT is t, don't
3122 record undo information for format-decode.
3123
3124 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
3125 current buffer is read-only, not if it isn't.
3126
6c083b4c
GM
3127 * keyboard.c (record_char): Record `help-echo' input events
3128 in recent_keys only if they display some help. Don't record
3129 `help-echo' events as macro char.
3130
caa15ef7
GM
31312000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
3132
3133 * editfns.c (save_excursion_restore): Don't move point
3134 in another window if it is showing the wrong buffer.
3135 Avoid the call to Fwindow_live_p, for speed.
3136
5a13529b
KH
31372000-12-04 Kenichi Handa <handa@etl.go.jp>
3138
e225faa7
KH
3139 * xfaces.c (struct font_name): New member registry_priority.
3140 (split_font_name): Initialize the above member to zero.
3141 (concat_font_list): New function.
3142 (font_list): Include fonts of all alternative registries.
3143 (FONT_POINT_SIZE_QUANTUM): New macro.
3144 (better_font_p): Ignore point size difference less than
3145 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
3146
e89648b4
KH
3147 * xterm.c (x_produce_glyphs): If a font for a component of
3148 a composition is not found, use 1 pixel dot ascent and 0 dot
3149 descent value to avoid displaying terribly tall empty boxes.
3150
5a13529b
KH
3151 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
3152
d7935eb6
KR
31532000-12-03 Ken Raeburn <raeburn@gnu.org>
3154
3155 * coding.h (code_convert_string1): Declare.
3156
3157 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
3158
52283633 3159 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 3160
0dd5e255
JR
31612000-12-02 Jason Rumney <jasonr@gnu.org>
3162
3163 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
3164 correctly for single byte character case.
3165 (w32_per_char_metric): Do not try to make any assumptions about
3166 the metrics of BDF fonts.
250cfece 3167 (x_estimate_mode_line_height): If `mode-line' face
52283633 3168 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
3169 (note_mouse_highlight): Change the cursor shape on the vertical
3170 border between windows [not enabled].
3171
3172 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
3173
3174 * w32fns.c (Fx_create_frame): Reintroduce the call to
3175 face-set-after-frame-defaults.
3176 (Vx_window_horizontal_drag_shape): New variable.
3177 (syms_of_xfns): DEFVAR_LISP it.
3178 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
3179 enabled].
0dd5e255 3180
b5d8d2ca
GM
31812000-12-02 Simon Josefsson <simon@josefsson.org>
3182
3183 * fns.c (Fmd5): Use a different logic to decide the coding system
3184 to use.
3185
3186 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
3187
fbb87147
EZ
31882000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
3189
52283633 3190 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 3191
447e9da0
GM
31922000-12-01 Gerd Moellmann <gerd@gnu.org>
3193
7708ced0
GM
3194 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
3195 height for YNegative.
3196 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
3197 height; also see comment there.
3198
447e9da0
GM
3199 * window.c (coordinates_in_window): Handle computations for
3200 positions on the vertical bar and fringes differently for
3201 window-system frames. Consider some pixels near the vertical bar
3202 as on the bar if the frame doesn't have vertical scroll bars.
3203 Associate positions between mode or header lines with the
3204 right window, the left one.
3205
86d1db20
JR
32062000-12-01 Jason Rumney <jasonr@gnu.org>
3207
3208 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
3209
3210 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
3211 invalid frame.
3212
a1d58e5b
GM
32132000-12-01 Gerd Moellmann <gerd@gnu.org>
3214
52283633 3215 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
3216 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
3217 (save_window_save, Fset_window_configuration): Save/restore
3218 window's orig_top and orig_height.
3219
89c609af
JR
32202000-12-01 Jason Rumney <jasonr@gnu.org>
3221
4d177746 3222 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 3223
89c609af
JR
3224 * w32fns.c (x_set_cursor_color): Fix last change.
3225
eccc05db
GM
32262000-11-30 Gerd Moellmann <gerd@gnu.org>
3227
31b6671b
GM
3228 * xdisp.c (echo_area_display): If cursor is in the echo area, make
3229 sure that the next redisplay displays the minibuffer, so that
3230 the cursor will be replaced with what the minibuffer wants.
3231
eccc05db
GM
3232 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
3233 #ifndef instead of using #if.
3234 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
3235 USE_TOOLKIT_SCROLL_BARS is defined.
3236
162de750
JR
32372000-11-30 Jason Rumney <jasonr@gnu.org>
3238
3239 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
3240 x_display_cursor.
3241
693c4692
GM
32422000-11-30 Gerd Moellmann <gerd@gnu.org>
3243
3244 * fns.c (Fmd5): Doc fix.
3245
b5d8d2ca 32462000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
3247
3248 * fns.c (Fmd5): New function.
3249 (syms_of_fns): Defsubr md5.
3250
3251 * Makefile.in (obj): Add md5.o
3252
b02cd40b
GM
32532000-11-30 Gerd Moellmann <gerd@gnu.org>
3254
edfb795e
GM
3255 * md5.h, md5.c: New files, taken from glibc.
3256
df3aedcf
GM
3257 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
3258
b02cd40b 3259 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 3260 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 3261
8b5176cd
SM
32622000-11-29 Stefan Monnier <monnier@cs.yale.edu>
3263
3264 * eval.c (Frun_hooks): Allow 0 arguments.
3265
346598f1
GM
32662000-11-29 Gerd Moellmann <gerd@gnu.org>
3267
f9396e03
GM
3268 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
3269 is over the menu bar widget, say it's not on the frame.
3270
4a967a9b
GM
3271 * xfns.c (Fx_create_frame): Reintroduce the call to
3272 face-set-after-frame-defaults.
3273
346598f1
GM
3274 * eval.c (Fsignal): Reset handling_signal.
3275
222456a1
JR
32762000-11-28 Jason Rumney <jasonr@gnu.org>
3277
3278 * w32menu.c (add_menu_item): Reset menu item text when changing
3279 type to radio button.
3280
8049ddc0
GM
32812000-11-28 Gerd Moellmann <gerd@gnu.org>
3282
346598f1 3283 * xselect.c: Update copyright.
f4f4ee4d 3284
bebe4a2c
GM
3285 * window.c (coordinates_in_window): If on a mode or header line,
3286 but sufficiently close to its start, return ``on vertical
3287 border''. This gives us a way to drag windows horizontally when
3288 using toolkit scroll bars.
3289
3290 * xterm.c (note_mouse_highlight): Change the cursor shape
3291 on the vertical border between windows.
3292
3293 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
3294
3295 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
3296 (syms_of_xfns): DEFVAR_LISP it.
3297 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
3298
8d2c2642
GM
3299 * textprop.c (text_read_only): New function.
3300 (verify_interval_modification): Use it instead of signaling
3301 `text-read-only'. This makes it easier to catch this error
52283633 3302 with a breakpoint.:
8d2c2642 3303
52283633 3304 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
3305 not end of line, which includes CR.
3306
5a2bae6c
KH
33072000-11-28 Kenichi Handa <handa@etl.go.jp>
3308
3309 * coding.c (Ffind_coding_systems_region_internal): Be sure to
3310 include no-conversion.
3311
ae31f84d
JR
33122000-11-27 Jason Rumney <jasonr@gnu.org>
3313
3314 * w32fns.c (w32_load_system_font): Always mark font as double byte
3315 if codepage is unicode.
3316
67f1cf4c
GM
33172000-11-27 Gerd Moellmann <gerd@gnu.org>
3318
4a74d071 3319 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 3320 just consume it to avoid unintended skipping over invisible text below.
4a74d071 3321
902ae620
GM
3322 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
3323 `vertical-line', `mode-line' and `header-line' events.
3324
3325 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
3326 of a character, a TAB for instance. This is easier than to set
3327 up the iterator exactly, and it's not a frequent case, so the
3328 additional effort wouldn't really pay off.
3329
c1e279c2
AC
33302000-11-26 Andrew Choi <akochoi@i-cable.com>
3331
67f1cf4c 3332 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
3333 init_window_once.
3334
a609568a
JR
33352000-11-25 Jason Rumney <jasonr@gnu.org>
3336
52283633
SM
3337 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
3338 Args to window_from_coordinates should be pixel coordinates.
48b21762 3339
a609568a
JR
3340 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
3341 redisplay handles them properly.
3342
a658d039
MB
33432000-11-25 Miles Bader <miles@gnu.org>
3344
3345 * indent.c (compute_motion): Keep pos_byte in sync with pos.
3346
d3416cca
JR
33472000-11-24 Jason Rumney <jasonr@gnu.org>
3348
3349 * w32.c (init_environment): Set LANG environment variable based on
3350 locale settings, if not set.
3351
3352 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
3353 making tool bar smaller. When clearing the frame, also
3354 clear current matrices. Clear frame when tool bar disappears.
3355 Don't use more lines for the tool-bar than is available.
3356 (x_change_window_heights): New function.
3357
ba193890
GM
33582000-11-24 Gerd Moellmann <gerd@gnu.org>
3359
2be8f184
GM
3360 * xdisp.c (init_from_display_pos): If POS says we're already after
3361 an overlay string ending at POS, make sure to pop the iterator
3362 because it will be in front of that overlay string. When POS is
3363 ZV, we've thereby also ``processed'' overlay strings at ZV.
3364
ba193890
GM
3365 * xfaces.c (lface_from_face_name): Function comment fix.
3366
1862a24e
MB
33672000-11-24 Miles Bader <miles@gnu.org>
3368
3369 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
3370 apply `mode-line-inverse-video' -- zero means force display using
3371 the default face, non-zero means display using the specialized face.
3372 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
3373
f07fa1b8
KH
33742000-11-23 Kenichi Handa <handa@etl.go.jp>
3375
3376 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
3377 hard coded `4'.
3378
2bcdf662
EZ
33792000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
3380
3381 * coding.c (decode_coding_emacs_mule): Fix the case of
3382 CODING_EOL_LF, which used uninitialized value of c.
3383
ba8299ff
SM
33842000-11-23 Stefan Monnier <monnier@cs.yale.edu>
3385
3386 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
3387
f4117c4d
GM
33882000-11-22 Gerd Moellmann <gerd@gnu.org>
3389
03e757c1
GM
3390 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
3391 buffer object.
3392
f4117c4d
GM
3393 * frame.h (struct frame): Replace desired_tool_bar_items,
3394 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 3395 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
3396
3397 * frame.c (make_frame): Change initialization of tool bar
3398 items accordingly.
3399
3400 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 3401 Change references to members deleted from struct frame to use the
f4117c4d
GM
3402 new ones.
3403
3404 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 3405 references to members deleted from struct frame to use the new ones.
f4117c4d 3406
52283633 3407 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
3408
3409 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
3410
3411 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 3412 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
3413 from struct frame to use the new ones.
3414
f8e2f3f2
MB
34152000-11-23 Miles Bader <miles@gnu.org>
3416
3417 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
3418 the face's inverse-video attribute, rather than overriding it.
3419
60e8e0a5
GM
34202000-11-22 Gerd Moellmann <gerd@gnu.org>
3421
3422 * xfns.c (x_set_tool_bar_lines): Clear internal border when
3423 making tool bar smaller.
3424
92dd1b29
DL
34252000-11-22 Dave Love <fx@gnu.org>
3426
3427 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
3428
e672fdce
MB
34292000-11-22 Miles Bader <miles@gnu.org>
3430
3a17d6cc
MB
3431 * keyboard.c (Vminibuffer_message_timeout): New variable.
3432 (command_loop_1): Use it to determine message timeout.
3433 (syms_of_keyboard): Initialize it.
3434
60e8e0a5 3435 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 3436
e9655d81
KH
34372000-11-22 Kenichi Handa <handa@etl.go.jp>
3438
3439 * sysdep.c: Move the code for declaring h_errno after #include
3440 <netdb.h>.
3441
77270fac
GM
34422000-11-21 Gerd Moellmann <gerd@gnu.org>
3443
cd913aae
GM
3444 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
3445 the menu bar when the tooltip is unmapped.
3446
77270fac
GM
3447 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
3448 sole visible buffer when we're currently in the mini-buffer, and
3449 give up if so.
52283633 3450
556635d6
JR
34512000-11-21 Jason Rumney <jasonr@gnu.org>
3452
3453 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
3454 put on the clipboard.
3455 (Fw32_get_clipboard_data): Compare data on clipboard with saved
3456 copy of what Emacs last put there. If they are the same, do not
52283633 3457 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 3458
5b7bde64
MB
34592000-11-22 Miles Bader <miles@gnu.org>
3460
3461 * minibuf.c (Vminibuffer_prompt_properties): New variable.
3462 (syms_of_minibuf): Initialize it.
3463 (read_minibuf): Add properties from Vminibuffer_prompt_properties
3464 to prompt, don't make read-only.
3465
ff23e1dd
GM
34662000-11-21 Gerd Moellmann <gerd@gnu.org>
3467
52283633
SM
3468 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
3469 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 3470
7aaf4388
GM
3471 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
3472
f5f47add 3473 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 3474
ff23e1dd
GM
3475 * term.c, cm.c: Don't try to include termcap.h; see comment there.
3476
37c35586
KH
34772000-11-21 Kenichi Handa <handa@etl.go.jp>
3478
3479 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
3480 ... #endif scope.
3481
ff9ab414
GM
34822000-11-20 Gerd Moellmann <gerd@gnu.org>
3483
52283633 3484 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
3485 screen supports it.
3486
29a01b72
GM
3487 * s/gnu-linux.h: Don't use `#cpu'.
3488
09dfdf85
GM
3489 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
3490 not defined in mman.h.
3491
52283633 3492 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
3493 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
3494 and store an index in the XClientMessageEvent. Storing a
3495 Lisp_Object or pointer can fail on a 64 bit system, since X only
3496 transfers 32 bits.
52283633
SM
3497 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
3498
81459ac9
DL
34992000-11-20 Dave Love <fx@gnu.org>
3500
3501 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
3502
56c13ae6
GM
35032000-11-20 Gerd Moellmann <gerd@gnu.org>
3504
3505 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
3506
495a6df3
KH
35072000-11-20 Kenichi Handa <handa@etl.go.jp>
3508
2bcf3714
KH
3509 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
3510 by WIDTH.
3511
495a6df3
KH
3512 * alloc.c (make_string): Fix previous change. Be sure to make
3513 unibyte string correctly.
3514
6d950f4c
GM
35152000-11-19 Gerd Moellmann <gerd@gnu.org>
3516
39b39373
GM
3517 * window.c (Fwindow_list): Change parameter list to be XEmacs
3518 compatible.
3519 (window_list_1): New function.
3520 (window_loop): Use it instead of Fwindow_list.
3521
b95b34e5
GM
3522 * sysdep.c (emacs_ospeed): New variable.
3523 (toplevel): Don't declare ospeed extern.
3524 (init_baud_rate): Use emacs_ospeed instead of ospeed.
3525
3526 * termcap.c (ospeed): Remove.
3527 (tputs) [!emacs]: Remove unused code.
3528 (tgetent): Avoid a compiler warning.
3529
e83dc917
GM
3530 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
3531 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 3532 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
3533
3534 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
3535 removed.
3536 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
3537 Take the X display as additional argument.
3538 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
3539 `Widget' is a pointer type that's not easily stored in Lisp_Object
3540 form in a portable way.
52283633 3541
6d950f4c
GM
3542 * dispnew.c (update_text_area): Fix last change.
3543
e47306e6
GM
35442000-11-18 Gerd Moellmann <gerd@gnu.org>
3545
fb3cd89b
GM
3546 * xdisp.c: Use BINDING_STACK_SIZE throughout.
3547
3548 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
3549 clear current matrices.
3550
edaa9aed
GM
3551 * buffer.c (mmap_enlarge): Don't print a message on stderr
3552 if mapping new memory at the end of the existing region fails.
3553
e47306e6
GM
3554 * dispnew.c (update_text_area): Don't skip over equal glyphs
3555 when the last current glyph overlaps the glyph to its right.
3556
509633e3
MB
35572000-11-18 Miles Bader <miles@gnu.org>
3558
3559 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
3560 lines that *end* with "..." too (that's the most common case!).
3561
d392e9c5
GM
35622000-11-18 Gerd Moellmann <gerd@gnu.org>
3563
67988445
GM
3564 * xdisp.c (resize_mini_window): Temporarily change to the
3565 mini-window's buffer if necessary.
1bfdbe43 3566
d392e9c5
GM
3567 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
3568 the tooltip obscures less text under it.
3569
35702000-11-17 Gerd Moellmann <gerd@gnu.org>
3571
3572 * puresize.h (BASE_PURESIZE): Increase to 700000.
3573
92bb977f
JR
35742000-11-18 Jason Rumney <jasonr@gnu.org>
3575
3576 * w32term.c (w32_draw_bitmap): Use face to set colors.
3577
26fbf20b
DL
35782000-11-17 Dave Love <fx@gnu.org>
3579
3580 * lread.c (Fload): Fix #ifdef for pcc.
3581
100b593b
GM
35822000-11-17 Gerd Moellmann <gerd@gnu.org>
3583
3584 * xdisp.c (pos_visible_p): Compute the default character height
3585 differently.
3586
a288d0d1
GM
35872000-11-16 Gerd Moellmann <gerd@gnu.org>
3588
cac94de6 3589 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 3590 knowing the line's height; use the default font's height in that case.
cac94de6 3591
a288d0d1
GM
3592 * xfaces.c (weight_table): Add `demi' with the same meaning as
3593 `demibold'.
3594
981fb6f6
KH
35952000-11-16 Kenichi Handa <handa@etl.go.jp>
3596
2cca872d 3597 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
3598 (clear_glyph_row): Delete local static variable null_row.
3599
e5fa381b
JR
36002000-11-15 Jason Rumney <jasonr@gnu.org>
3601
3602 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
3603 (w32_alloc_lighter_color): Use new brightness calculations from
3604 xterm.c. Scale delta to be in the range expected by W32.
3605 (w32_draw_relief_rect): Use frame relief colors.
3606
8e42f043
GM
36072000-11-15 Gerd Moellmann <gerd@gnu.org>
3608
6d133d1f
GM
3609 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
3610 (Qinhibit_default_face_x_resources): New variable.
3611 (syms_of_frame): Initialize it.
3612 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
3613
3614 * xdisp.c (pos_visible_p): Improve function comment.
3615
3616 * lisp.h (BINDING_STACK_SIZE): New macro.
3617
8e42f043
GM
3618 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
3619 reading the directory if readdir returns null and errno is EAGAIN
3620 or EINTR.
3621
e8c87124
SM
36222000-11-14 Stefan Monnier <monnier@cs.yale.edu>
3623
3624 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
3625 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
3626 Set amount_to_scroll to max of dx and scroll_step so that
3627 scroll-conservatively doesn't defeat scroll-step>1.
3628 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
3629 scroll-conservatively for line-at-a-time scrolling.
3630
5f0c971d
GM
36312000-11-14 Gerd Moellmann <gerd@gnu.org>
3632
3633 * window.c (Fpos_visible_in_window_p): Call pos_visible with
3634 extra argument.
3635
3636 * xdisp.c (current_mode_line_height, current_header_line_height):
3637 New variables.
3638 (init_xdisp): Initialize them.
3639 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
3640 and use exact mode line heights if it is set.
3641
3642 * lisp.h (pos_visible_p): Change prototype.
3643
3644 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
3645 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
3646 and current_header_line_height first.
52283633
SM
3647 (current_mode_line_height, current_header_line_height):
3648 Declare extern.
5f0c971d 3649
d7361edf
MB
36502000-11-14 Miles Bader <miles@lsi.nec.co.jp>
3651
3652 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
3653 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
3654 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
3655
ee5e440a
MB
36562000-11-14 Miles Bader <miles@gnu.org>
3657
3658 * xterm.c (x_alloc_lighter_color): Include an additive component
3659 too for dark colors, because FACTOR isn't enough.
3660 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
3661 New macros.
3662
5ca020fc
GM
36632000-11-13 Gerd Moellmann <gerd@gnu.org>
3664
3665 * keyboard.c (show_help_echo): Call message3_nolog with number of
3666 bytes in the help string as 2nd parameter, instead of the number
3667 of characters.
3668
9d348294
MB
36692000-11-13 Miles Bader <miles@gnu.org>
3670
3671 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
3672 (Fload): Use new openp return protocol.
3673 Don't try to use Vload_source_file_function to load .elc files.
3674 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
3675 openp return protocol.
3676 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
3677
1729bb9a
KH
36782000-11-11 Kenichi Handa <handa@etl.go.jp>
3679
4e677396
KH
3680 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
3681
3682 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
3683 Defined these macros.
3684 (NLIST_STRUCT): Avoid re-defining it.
3685
1729bb9a
KH
3686 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
3687 -I/usr/contrib/X11R6/include.
3688 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
3689
a82fe213
JR
36902000-11-10 Jason Rumney <jasonr@gnu.org>
3691
3692 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
3693
3694 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
3695 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
3696
3697 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
3698 (Qw32_charset_vietnamese): New symbol.
3699 (xlfd_charset_of_font): New function.
3700 (w32_load_system_font): Use it.
3701 (x_to_w32_charset): Use Fassoc to find charset info. Special case
3702 when Vw32_charset_info_alist is nil to ensure default face always
3703 has font. Use Fcar and Fcdr for safety.
3704 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
3705 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
3706 pseudo-codepages for special cases.
3707 (w32_to_x_font): New parameter to allow charset portion to be
3708 specified where there is many to one mapping. Callers changed.
3709 (w32_list_fonts): Avoid listing fonts that won't display.
3710
52d89894
GM
37112000-11-10 Gerd Moellmann <gerd@gnu.org>
3712
3713 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
3714 (font_list_1): Renamed from font_list.
3715 (font_list): New function, trying alternative registries from
3716 Vface_alternative_font_registry_alist.
3717 (Finternal_set_alternative_font_registry_alist): New function.
3718 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
3719 Vface_alternative_font_registry_alist.
3720 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 3721
651cd3da
KR
37222000-11-09 Ken Raeburn <raeburn@gnu.org>
3723
3724 * lisp.h (Flooking_at): Declare.
3725
388ac098
GM
37262000-11-09 Gerd Moellmann <gerd@gnu.org>
3727
778fbc46 3728 * dired.c (directory_files_internal): Fix a braino.
52283633 3729
388ac098
GM
3730 * dired.c (directory_files_internal): Add missing GCPRO's.
3731 Some cleanup.
3732
ecaedde1
GM
37332000-11-08 Gerd Moellmann <gerd@gnu.org>
3734
f7eb32aa
GM
3735 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
3736 (resize_mini_window): Return quickly if Vresize_mini_window is
3737 nil. Don't return if Vmax_mini_window_height is nil.
3738
3739 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
3740 (syms_of_xdisp): Initialize them.
3741 (resize_mini_window): Act according to the setting of
3742 Vresize_mini_window.
3743 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
3744
ecaedde1
GM
3745 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
3746 scroll bar widget after configuring it, so that it will appear at
3747 the right position from the start.
3748 (XTredeem_scroll_bar): Cleaned up.
3749
3747ef2c
KH
37502000-11-08 Kenichi Handa <handa@etl.go.jp>
3751
3752 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 3753 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
3754 division by two.
3755
3756 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
3757
03391420
DL
37582000-11-07 Dave Love <fx@gnu.org>
3759
7758f1c1 3760 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
3761
3762 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
3763
b5de343d
GM
37642000-11-07 Gerd Moellmann <gerd@gnu.org>
3765
acad3c0b
GM
3766 * window.c (Fset_window_configuration): Don't try to preserve
3767 point in the current buffer, if that buffer is displayed in more
3768 than one window.
3769
b5de343d
GM
3770 * xfaces.c (lookup_named_face): If default face isn't realized,
3771 try to realize it. Return -1 if not successful.
3772 (Fx_list_fonts): Handle case that face cannot be determined.
3773 (Fface_font): Likewise.
3774
cdb1fe49
GM
37752000-11-06 Gerd Moellmann <gerd@gnu.org>
3776
3777 * window.c (displayed_window_lines): Detect partially
3778 visible lines at the bottom correctly.
3779
d3a67486
SM
37802000-11-06 Stefan Monnier <monnier@cs.yale.edu>
3781
3782 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
3783 when ensuring we don't do visit in indirect buffer.
3784
ff8dd5d5
KH
37852000-11-06 Kenichi Handa <handa@etl.go.jp>
3786
3787 * composite.h (compose_chars_in_text): Add prototype.
3788
3789 * composite.c (Vcomposition_function_table): New variable.
3790 (Qcomposition_function_table): New variable.
3791 (run_composition_function): Call
3792 Vcompose_chars_after_function with three arguments.
3793 (compose_chars_in_text): New function.
3794 (syms_of_composite): Modified the doc-string of
3795 Vcompose_chars_after_function. Declare composition-function-table
3796 as a lisp variable, and initialize it.
3797
3798 * xfns.c (x_encode_text): Suppress producing escape sequences for
3799 composition.
3800
3801 * xselect.c: Include composite.h.
3802 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
3803
d1145f85
AI
38042000-11-05 Andrew Innes <andrewi@gnu.org>
3805
3806 * w32term.c (x_produce_glyphs): Fix typo in enum name.
3807
3808 * sysdep.c (read_input_waiting): Remove extraneous argument to
3809 read_socket_hook.
3810
3811 * w32fns.c (Fx_server_version): Include w32_build_number in the
3812 return list.
3813
3814 * w32heap.c (w32_build_number): New variable.
3815 (cache_system_info): Set it.
3816
3817 * w32heap.h (w32_build_number): Add extern.
3818
3819 * emacs.c (syms_of_emacs): Update docstring for
3820 system-configuration, to reflect the actual usage on MS-Windows.
3821
e85ee976
GM
38222000-10-31 Gerd Moellmann <gerd@gnu.org>
3823
26dcb81b
GM
3824 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
3825 process idle timers while waiting for another event.
3826
52283633 3827 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
3828 the default face are colored.
3829
e85ee976
GM
3830 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
3831 window height hasn't changed.
3832
01b220b6
JR
38332000-10-31 Jason Rumney <jasonr@gnu.org>
3834
3835 * w32term.c (x_produce_glyphs): Handle composite characters.
3836 (x_draw_glyph_string_foreground)
3837 (x_draw_composite_glyph_string_foreground): Restore old font.
3838
4e6b7204
MB
38392000-10-31 Miles Bader <miles@lsi.nec.co.jp>
3840
3841 * minibuf.c (read_minibuf): Reset the undo history just before
3842 starting the recursive-edit.
3843
d4358b37
GM
38442000-10-30 Gerd Moellmann <gerd@gnu.org>
3845
563f68f1
GM
3846 * xfaces.c (menu_face_change_count): New variable.
3847 (Finternal_set_lisp_face_attribute): Increment it for changes
3848 of the `menu' face.
3849 (realize_basic_faces): Reflect changes in the `menu' faces
3850 in menu bars.
3851
82e274d1
GM
3852 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
3853 dy obtained from the iterator's y-position after moving from
3854 scroll_margin_pos to PT; see comment there.
52283633 3855
0dbf9fd2
GM
3856 * xdisp.c (safe_eval_handler): Call add_to_log.
3857
906b3b14
GM
3858 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
3859 is not a symbol or string.
3860
d4358b37
GM
3861 * xdisp.c (echo_area_display): Don't perform a display update from
3862 inside redisplay. The update will happen anyway at the end of
3863 redisplay, and it can confuse redisplay (GC messages while
3864 redisplaying, for instance.)
3865
70c825df
SM
38662000-10-30 Stefan Monnier <monnier@cs.yale.edu>
3867
cf9b4b0b
SM
3868 * xrdb.c (x_load_resources): Use the class name in the defaults.
3869
70c825df
SM
3870 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
3871 (regex_compile): Catch bogus \(\1\).
3872
a1d34b1e
GM
38732000-10-30 Gerd Moellmann <gerd@gnu.org>
3874
cae71efe
GM
3875 * xterm.c (x_alloc_nearest_color): Fix last change to compare
3876 RGB values.
52283633 3877
35efe0a1
GM
3878 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
3879 we have a color cache, check that the cached color equals the
3880 allocated color. If not, clear the color cache.
3881
1d3baf74
GM
3882 * window.c (displayed_window_lines): Change buffers if necessary.
3883 Fix computation of displayed lines.
3884
a1d34b1e
GM
3885 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
3886 update_menu_bindings to DEFVAR_BOOL.
3887
70737ea9
KH
38882000-10-30 Kenichi Handa <handa@etl.go.jp>
3889
70c825df 3890 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 3891
fa0cb51d
KH
3892 * puresize.h (BASE_PURESIZE): Increase to 680000.
3893
70737ea9
KH
3894 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
3895
0e4c08e8
JR
38962000-10-29 Jason Rumney <jasonr@gnu.org>
3897
3898 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
3899
3900 * w32term.c (w32_bdf_per_char_metric): Negate descent.
3901 (w32_cache_char_metrics): Handle possibility that 'x' does not
3902 exist in a BDF font.
3903 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
3904
3905 * w32bdf.h (bdffont): Add nchars.
3906
3907 * w32bdf.c (set_bdf_font_info): Set it.
3908 (w32_BDF_TextOut): Swap byte order of double byte characters.
3909 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
3910
45b84006
EZ
39112000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
3912
3913 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
3914 don't override the colors in frame's param_alist, unless they are
3915 unspecified.
3916
3917 * term.c (reassert_line_highlight): If inverse_video is non-zero,
3918 reverse the effect of the highlight flag.
3919
caf9deee
KR
39202000-10-27 Ken Raeburn <raeburn@gnu.org>
3921
3922 * window.h (Fwindow_live_p): Declare.
3923
ae0b9b46
KR
3924 * undo.c (record_delete): Check that last_undo_buffer is really a
3925 buffer before applying XBUFFER to it.
3926
3927 * keymap.c (where_is_internal): Pass lisp object, not integer, to
3928 Faref.
3929
02067692
SM
39302000-10-27 Stefan Monnier <monnier@cs.yale.edu>
3931
3932 * lisp.h (KEYMAPP): New macro.
3933 (get_keymap): Remove.
3934 (get_keymap_1): Rename get_keymap.
3935
3936 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
3937
3938 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
3939
3940 * xmenu.c (single_submenu): Use KEYMAPP.
3941 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
3942 Use KEYMAPP rather than Fkeymapp.
3943
3944 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
3945
3946 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
3947 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
3948 Use KEYMAPP rather than Fkeymapp.
3949 (single_submenu): Use KEYMAPP.
3950 (w32_menu_show, w32_dialog_show): Use TRUE.
3951
3952 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
3953
3954 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
3955 (Fkeymapp): Use KEYMAPP.
3956 (get_keymap): Rename from get_keymap_1. Remove old def.
3957 Return t when autoload=0 and error=0 and the keymap needs autoloading.
3958 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
3959 (Fminor_mode_key_binding): Don't raise an error if the binding
3960 is not a keymap.
3961 (Fuse_global_map, Fuse_local_map): Allow autoloading.
3962 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
3963
3964 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
3965 Allow Vspecial_event_map to be autoloaded.
3966 (menu_bar_items): Fetch the keymap rather than using keymapp.
3967 (menu_bar_one_keymap): No need to follow func-indirect any more.
3968 (parse_menu_item): get_keymap_1 -> get_keymap.
3969 (tool_bar_items): Fetch the keymap rather than using keymapp.
3970 (read_key_sequence): Use KEYMAPP.
3971
3972 * intervals.c (get_local_map): Use get_keymap rather than following
3973 function-indirections explicitly.
3974
3975 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
3976
f9d80af3
JR
39772000-10-27 Jason Rumney <jasonr@gnu.org>
3978
3979 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
3980 point, as Windows has oversized fonts.
3981
3982 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
3983
a3ba27da
GM
39842000-10-27 Gerd Moellmann <gerd@gnu.org>
3985
3986 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
3987 (freehook, reallochook): Handle null pointer arguments.
3988 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
3989
aa3b80cc
SM
39902000-10-27 Stefan Monnier <monnier@cs.yale.edu>
3991
3992 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
3993 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
3994 Giving in to popular pressure to shut up the compiler with casts.
3995
e24e84cc
GM
39962000-10-27 Gerd Moellmann <gerd@gnu.org>
3997
3998 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
3999 signed value, and use a default value computed from the font's
4000 maximum descent.
4001
05ea7ef2
MB
40022000-10-27 Miles Bader <miles@lsi.nec.co.jp>
4003
4004 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
4005 that specify a negative underline position can still use underlines.
4006
4007 * window.c (Fpos_visible_in_window_p): Make POS default to
4008 WINDOW's point, not the current buffer's point.
4009
0b95284b
DL
40102000-10-26 Dave Love <fx@gnu.org>
4011
4012 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
4013 when it's necessary.
4014
6c5b90af
GM
40152000-10-26 Gerd Moellmann <gerd@gnu.org>
4016
8b6d9dc9
GM
4017 * window.c (size_window): Compute size difference from sum of old
4018 child window sizes instead of from parent's size.
4019
6bc92b2e
GM
4020 * xdisp.c (pos_visible_p): Change current buffer if necessary.
4021 Handle obscured lines at the top of the window.
4022
4023 * frame.c (Fdelete_frame): Doc fix. Move running the hook
4024 down after the last error condition check.
4025
6c5b90af
GM
4026 * frame.c (Fdelete_frame): Run delete-frame-hook.
4027
42f92d4d
KH
40282000-10-26 Kenichi Handa <handa@etl.go.jp>
4029
4030 * coding.c (decode_coding): Fix previous change (check also
4031 CODING_MODE_LAST_BLOCK).
4032
d97151cb
SM
40332000-10-25 Stefan Monnier <monnier@cs.yale.edu>
4034
e7efc503
SM
4035 * regex.c: More `unsigned char' -> `re_char' changes.
4036 Also change several `int' into `re_wchar_t'.
4037 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
4038 (PUSH_FAILURE_POINTER): Don't cast any more.
4039 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
4040 We want GCC to complain, since this piece of code makes
4041 re_match non-reentrant, which *should* be fixed.
4042 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
4043 (EXTEND_BUFFER): Use RETALLOC.
4044 (SET_LIST_BIT): Don't cast.
4045 (re_wchar_t): New type.
4046 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
4047 that those two functions will always properly return.
4048 (IMMEDIATE_QUIT_CHECK): Cast to void.
4049 (analyse_first): Use recursion rather than an explicit stack.
4050 (re_compile_fastmap): Can't fail anymore.
4051 (re_search_2): Don't check re_compile_fastmap for failure.
4052 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
4053 Now also sets the new value (passed in a new argument).
4054 (re_match_2_internal): Use it.
4055 Also, use a new var `reg' of type size_t when looping through regs
4056 rather than reuse the inappropriate `mcnt'.
4057
d97151cb
SM
4058 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
4059 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
4060 (where_is_internal): Renamed from Fwhere_is_internal.
4061 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
4062 (Fwhere_is_internal): New function wrapping where_is_internal.
4063 (where_is_internal_1): Handle the case where we're filling the cache.
4064 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
4065
d5789b65
MB
40662000-10-25 Miles Bader <miles@gnu.org>
4067
4068 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
4069
4ecda532
GM
40702000-10-25 Gerd Moellmann <gerd@gnu.org>
4071
4072 * window.c (pos_fully_visible_p): Removed.
4073 (Fpos_visible_in_window_p): Use pos_visible_p to determine
4074 if position is visible and/or fully visible.
4075
4076 * lisp.h (pos_visible_p): Add prototype.
4077
4078 * xdisp.c (pos_visible_p): New function.
4079
68c3a137
KH
40802000-10-25 Kenichi Handa <handa@etl.go.jp>
4081
4082 * process.c (send_process): If OBJECT is t, it means that the data
4083 is from C string, but we should encode it. Before calling
4084 setup_raw_text_coding_system, be sure to flush out data by the
4085 previous coding system.
4086
7ae1c032
MB
40872000-10-25 Miles Bader <miles@lsi.nec.co.jp>
4088
ff4dcd4b
MB
4089 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
4090 assignment of startpos to prev when startpos == pos.
4091
7ae1c032
MB
4092 * editfns.c (find_field): Set the field stickiness correctly from
4093 overlay fields. Use renamed `text_property_stickiness'.
4094 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 4095 Only check text properties, not overlays.
7ae1c032
MB
4096 * textprop.c (get_char_property_and_overlay): New function.
4097 (Fget_char_property): Use it.
4098 * intervals.h (get_char_property_and_overlay): Add declaration.
4099
49801145
SM
41002000-10-25 Stefan Monnier <monnier@cs.yale.edu>
4101
4102 * keymap.c: Use AREF, ASET and ASIZE macros.
4103 (Fmake_sparse_keymap): Docstring fix.
4104 (synkey): Remove.
4105 (shadow_lookup): Move up.
4106 Handle the case where lookup-key returns an integer.
4107 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
4108 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
4109 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
4110 Simplify/rewrite the keymap-finding code.
4111 Add check for command shadowing, using shadow_lookup.
4112
39e776cd
SM
41132000-10-24 Stefan Monnier <monnier@cs.yale.edu>
4114
4115 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
4116 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
4117 a symbol.
4118
2488aba5
AI
41192000-10-24 Andrew Innes <andrewi@gnu.org>
4120
4121 * dired.c (directory_files_internal_unwind): New function.
4122 (directory_files_internal): Use it to ensure closedir is called
4123 even if expand-file-name or file-attributes throw, eg. because of
4124 a user interrupt. Also enable immediate_quit while calling
4125 re_search, so that matching can be interrupted as well.
4126
b94fdf61
AI
41272000-10-24 Andrew Innes <andrewi@gnu.org>
4128
4129 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
4130 NT-Emacs only.
4131 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
4132 so that re_search functions only quit when callers expect them to.
4133
41342000-10-24 Kenichi Handa <handa@etl.go.jp>
4135
4136 * regex.c (regex_compile): Change the way of handling a range from
4137 a char less than 256 to a char not less than 256.
4138
1946f901
GM
41392000-10-24 Gerd Moellmann <gerd@gnu.org>
4140
7ae2f10f
GM
4141 * window.c (size_window): Prevent setting window's width or
4142 height to a negative value (esp. with XSETFASTINT).
4143
5dcab13e
GM
4144 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
4145 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
4146 (protect_malloc_state) [GC_MALLOC_CHECK &&
4147 GC_PROTECT_MALLOC_STATE]: New function.
4148 (PROTECT_MALLOC_STATE): New macro.
4149 (__malloc_initialize, morecore, _malloc_internal)
4150 (_free_internal) _realloc_internal): Use it to make _heapinfo
4151 read-only outside of gmalloc.
4152
63e1b552
GM
4153 * keymap.c: Update copyright.
4154
1946f901
GM
4155 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
4156 a symbol.
4157
4fa09beb
GM
41582000-10-24 Colin Walters <walters@cis.ohio-state.edu>
4159
4160 * filelock.c (unlock_all_files): Use unlock_file to expand each
4161 buffer's file_truename before trying remove its lock file.
4162
23afac01
EZ
41632000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
4164
4165 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
4166 or CRLF, decode EOLs.
4167
04448b95
KH
41682000-10-24 Kenichi Handa <handa@etl.go.jp>
4169
4170 * window.c (Fdisplay_buffer): Fix doc.
4171
3090a5a5
JR
41722000-10-23 Jason Rumney <jasonr@gnu.org>
4173
4174 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
4175 ASCII font of default fontset on Windows.
4176
4177 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
4178 xterm.c comment below).
4179
4180 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
4181
a83fee2c
GM
41822000-10-23 Gerd Moellmann <gerd@gnu.org>
4183
4184 * xterm.c (x_connection_closed): Reset handling_signal.
4185
52283633 4186 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 4187
6ffdb539
MB
41882000-10-23 Miles Bader <miles@gnu.org>
4189
4190 * window.c (window_scroll_pixel_based, window_scroll_line_based):
4191 Pass nil for FULLY argument to Fpos_visible_in_window_p to
4192 maintain old behavior.
4193 * minibuf.c (Fminibuffer_complete): Likewise.
4194
7f1c969b
MB
41952000-10-23 Miles Bader <miles@lsi.nec.co.jp>
4196
4197 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
4198 that when a font can't be exactly centered, it errs up rather than
4199 down.
4200
23afac01 42012000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 4202
52283633 4203 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 4204
1a578e9b
AC
42052000-10-23 Andrew Choi <akochoi@i-cable.com>
4206
4207 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
4208
4209 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 4210 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
4211
4212 * emacs.c (main) [macintosh]: Call syms_of_textprop,
4213 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
4214 syms_of_search, x_term_init, and init_keyboard before calling
4215 init_window_once. Also, call syms_of_xmenu.
4216
4217 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
4218 default fontset to Monaco.
4219
4220 * frame.c [macintosh]: Include macterm.h. Remove declarations of
4221 NewMacWindow and DisposeMacWindow.
4222 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
4223 instead of calling NewMacWindow and setting fields of
4224 f->output_data.mac directly. Call init_frame_faces.
4225 (Fdelete_frame) [macintosh]: Remove unused code.
4226 (Fmodify_frame_parameters) [macintosh]: Call
4227 x_set_frame_parameters instead of mac_set_frame_parameters.
4228
4229 * frame.h [macintosh]: Define menu_bar_lines field in struct
4230 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
4231
4232 * keyboard.c [macintosh]: Include macterm.h.
4233 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
4234 and menu_bar_activate_event type events as for X and NT.
4235 (make_lispy_event) [macintosh]: Construct lisp events of type
4236 MENU_BAR_EVENT as for X and NT.
4237
4238 * sysdep.c [macintosh]: Remove declaration for sys_signal.
4239 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
4240 (sys_subshell) [macintosh]: Remove definition entirely.
4241 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
4242 Vwindow_system_version here. Remove initialization of
4243 Vx_bitmap_file_path.
4244 (read_input_waiting): Correct the number of parameters passed to
4245 read_socket_hook.
4246 Move all Macintosh functions to mac/mac.c.
4247
4248 * term.c [macintosh]: Include macterm.h.
4249
4250 * window.c [macintosh]: Include macterm.h.
4251
4252 * xdisp.c [macintosh]: Include macterm.h. Declare
4253 set_frame_menubar and pending_menu_activation.
4254 (echo_area_display) [macintosh]: Do not return if terminal frame
4255 is the selected frame.
4256 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
4257 Allow only the selected frame to set menu bar.
4258 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
4259 calling FRAME_EXTERNAL_MENU_BAR (f).
4260 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
4261
4262 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
4263 and check_x. Declare XCreateGC. Define x_create_gc and
4264 x_free_gc. Initialize font_sort_order.
4265 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
4266 but call x_list_fonts instead of w32_list_fonts.
4267 (Finternal_face_x_get_resource) [macintosh]: Do not call
4268 display_x_get_resource.
4269 (prepare_face_for_display) [macintosh]: Set xgcv.font.
4270 (realize_x_face) [macintosh]: Load the font if it is specified in
4271 ATTRS.
52283633 4272 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 4273
1ffbabe3
SM
42742000-10-22 Stefan Monnier <monnier@cs.yale.edu>
4275
4276 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
4277 is nil: since we go to the end of submap anyway, we'd end up
4278 setting nil to nil.
4279 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
4280 doesn't obey autoload.
4281
bed43f1d
EZ
42822000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4283
1ffbabe3 4284 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 4285
ea4233a7
JR
42862000-10-21 Jason Rumney <jasonr@gnu.org>
4287
4288 * w32term.c (w32_cache_char_metrics): Double check that font is
4289 really fixed pitch before trusting tmPitchAndFamily.
4290
f3d3c491
AI
42912000-10-21 Andrew Innes <andrewi@gnu.org>
4292
4293 * w32gui.h (w32_char_font_type): Move enum from w32term.c
4294
4295 * w32term.h: Extern decl for w32_cache_char_metrics.
4296
4297 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
4298
4299 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
4300 (w32_unload_font): Free per_char array if present.
4301
4302 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
4303 cached information in emulated XFontStruct to handle common cases
4304 quickly. Do not allocate XCharStruct for return.
4305 (w32_native_per_char_metric): New function.
4306 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
4307 allocating one.
4308 (x_produce_glyphs): Don't get an HDC. Change calls to
4309 w32_per_char_metric to match arg change above. Remove calls to
4310 free results.
4311 (w32_get_glyph_overhangs): Ditto.
4312 (w32_cache_char_metrics): New function.
4313
4314 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
4315 ($(BLD)/casefiddle.$(O)): Remove compile command.
4316 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
4317 ($(BLD)/dispnew.obj):
4318 ($(BLD)/keyboard.obj):
4319 ($(BLD)/w32inevt.obj):
4320 ($(BLD)/w32bdf.obj):
4321 ($(BLD)/alloc.obj):
4322 ($(BLD)/buffer.obj):
4323 ($(BLD)/editfns.obj):
4324 ($(BLD)/emacs.obj):
4325 ($(BLD)/fileio.obj):
4326 ($(BLD)/fns.obj):
4327 ($(BLD)/indent.obj):
4328 ($(BLD)/insdel.obj):
4329 ($(BLD)/intervals.obj):
4330 ($(BLD)/minibuf.obj):
4331 ($(BLD)/print.obj):
4332 ($(BLD)/scroll.obj):
4333 ($(BLD)/sysdep.obj):
4334 ($(BLD)/textprop.obj):
4335 ($(BLD)/widget.obj):
f3d3c491
AI
4336 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
4337 ($(BLD)/term.obj): Add dependency on dispextern.h.
4338
52283633
SM
4339 * makefile.nt ($(BLD)\dispnew.obj):
4340 ($(BLD)\keyboard.obj):
4341 ($(BLD)\w32inevt.obj):
4342 ($(BLD)\w32bdf.obj):
4343 ($(BLD)\alloc.obj):
4344 ($(BLD)\buffer.obj):
4345 ($(BLD)\editfns.obj):
4346 ($(BLD)\emacs.obj):
4347 ($(BLD)\fileio.obj):
4348 ($(BLD)\fns.obj):
4349 ($(BLD)\indent.obj):
4350 ($(BLD)\insdel.obj):
4351 ($(BLD)\intervals.obj):
4352 ($(BLD)\minibuf.obj):
4353 ($(BLD)\print.obj):
4354 ($(BLD)\scroll.obj):
4355 ($(BLD)\sysdep.obj):
4356 ($(BLD)\textprop.obj):
4357 ($(BLD)\widget.obj):
f3d3c491
AI
4358 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
4359 ($(BLD)\term.obj): Add dependency on dispextern.h
4360
18ad4821
EZ
43612000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4362
4363 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
4364 with an additional argument of Qt.
4365
de54681a
MB
43662000-10-21 Miles Bader <miles@gnu.org>
4367
4368 * window.c (pos_fully_visible_in_window_p): New function.
4369 (Fpos_visible_in_window_p): Add FULLY argument.
4370 Use pos_fully_visible_in_window_p.
4371 (window_scroll_pixel_based, window_scroll_line_based): Update
4372 calls to Fpos_visible_in_window_p.
4373 * lisp.h (Fpos_visible_in_window_p): Update prototype
4374
13c844fb
GM
43752000-10-20 Gerd Moellmann <gerd@gnu.org>
4376
4377 * alloc.c (toplevel): Conditionalize compilation of mem_*
4378 functions differently.
52283633 4379
d9506268
JR
43802000-10-20 Jason Rumney <jasonr@gnu.org>
4381
4382 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
4383 mem_init where it used to be. mem_z etc not defined otherwise.
4384
8094989b
GM
43852000-10-20 Gerd Moellmann <gerd@gnu.org>
4386
4387 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
4388 GC_MALLOC_CHECK.
4389 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
4390 structure definition and related variabled to the top of the file.
4391 Include this code when GC_MALLOC_CHECK is defined.
4392 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
4393 register/unregister allocated region.
4394 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
4395 which isn't allocated.
4396 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
4397 something which is already in use.
4398 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
4399 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
4400 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
4401 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
4402
4403 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
4404 _malloc_internal instead of malloc.
4405 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
4406 of free.
4407
ea456eb4
AI
44082000-10-20 Andrew Innes <andrewi@gnu.org>
4409
4410 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
4411 Windows.
4412 (my_strftime) <macro>: Don't use macro arg list when redefining as
4413 _strftime_copytm.
4414 (my_strftime) <function>: Supply 0 as ut argument.
4415
e64c3a75
JR
44162000-10-19 Jason Rumney <jasonr@altavista.net>
4417
4418 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
4419 including dispextern.h, as it stops faces from working.
4420
4421 * w32fns.c (Fx_create_frame): Don't bother calling
4422 face-set-after-frame-default since the caller does it for us
4423 anyway. Clean up calls to x_get_arg to be consistent with X.
4424
4425 * w32term.c (x_produce_glyphs): Handle
4426 unibyte_display_via_language_environment correctly.
4427 (w32_draw_box_rect): Fix the calculation of width and height.
4428
4429 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
4430 as it has stopped working.
4431 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
4432 menu-bar.
4433
17401c97
GM
44342000-10-19 Gerd Moellmann <gerd@gnu.org>
4435
4436 * eval.c (skip_debugger): Prevent a compiler warning.
4437 (Fcondition_case): Likewise.
4438 (Fbacktrace_frame): Use a null interactive spec.
4439
773272d8
KH
44402000-10-19 Kenichi Handa <handa@etl.go.jp>
4441
4442 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
4443
a42943e9
GM
44442000-10-18 Gerd Moellmann <gerd@gnu.org>
4445
e50517d9
GM
4446 * strftime.c: Sync with glibc, file version 1.78.
4447 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
4448 should no longer be used according to ISO 8601.
4449
9035a35a
GM
4450 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
4451 no map for meta_prefix_char, don't try to use it as a keymap.
4452 Instead, if T_OK is non-zero, look up a default binding, if any,
4453 otherwise, if T_OK is zero, return nil.
4454
a42943e9
GM
4455 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
4456 (x_to_xcolors, png_load): Use x_query_color.
4457
52283633
SM
4458 * xterm.c (x_color_cells, x_query_colors, x_query_color):
4459 New functions.
a42943e9
GM
4460 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
4461 which can be slow.
4462 (x_copy_color, x_alloc_lighter_color): Likewise.
4463
4464 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
4465 (x_query_color, x_query_colors): Add prototype.
4466
4467 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
4468 check_string_bytes only if not noninteractive, increase count to 50.
4469
00de2987
MB
44702000-10-18 Miles Bader <miles@lsi.nec.co.jp>
4471
4472 * insdel.c (adjust_markers_for_delete): Handle before-insertion
4473 markers correctly.
4474
54918e2b
GM
44752000-10-17 Gerd Moellmann <gerd@gnu.org>
4476
1f0b3fd2
GM
4477 * alloc.c (pure_bytes_used): Renamed from pureptr.
4478 (ALIGN): New macro.
4479 (pure_alloc): New function.
4480 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
4481 Use it.
4482 (Fpurecopy): Use PURE_POINTER_P.
4483
68c5d1db
GM
4484 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
4485 PT has moved backward.
52283633 4486
9a038881
GM
4487 * xdisp.c (cursor_row_p): Take continued lines into account.
4488
361b097f
GM
4489 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
4490 string's size_byte.
4491 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
4492 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
4493 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
4494 string allocated.
4495
54918e2b
GM
4496 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
4497 of selective display off while searching for the next line start.
4498
03ed0806
KH
44992000-10-17 Kenichi Handa <handa@etl.go.jp>
4500
4501 * Makefile.in (term.o): Depend on dispextern.h.
4502
7e05cdaf
SM
45032000-10-16 Stefan Monnier <monnier@cs.yale.edu>
4504
4505 * keymap.c (keymap_memberp): Ensure that nil is not a member.
4506
a6801fd1
GM
45072000-10-16 Gerd Moellmann <gerd@gnu.org>
4508
483de32b
GM
4509 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
4510 the iterator at the beginning, so that they can be set later on,
4511 for instance in reseat_at_next_visible_line_start, without being
4512 overwritten.
4513
a6801fd1
GM
4514 * xfns.c (pbm_format): Add :foreground and :background keywords.
4515 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 4516 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 4517
dbf1fcc1
EZ
45182000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
4519
4520 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
4521
52283633 4522 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
4523
4524 * msdos.c (IT_set_face): Compare highlighted face with the default
4525 face, and invert colors if these faces' colors are identical.
4526 (Fmsdos_remember_default_colors): Don't swap foreground and
4527 background colors in initial_colors[].
4528 (IT_set_frame_parameters): Don't swap frame's foreground and
4529 background pixels. If ALIST includes "(reverse . t)", swap
4530 foreground-color and background-color properties in frame's
4531 param_alist. If the original frame's param_alist doesn't specify
4532 the colors, store unspecified-fg and unspecified-bg, reversed if
4533 required.
4534
4535 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
4536 the colors are unspecified and reversed, reverse fore- and back-
4537 ground in the returned value.
4538 (Fframe_parameter): Ditto.
4539
b41fe2c3 45402000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 4541
3a6b59d9
GM
4542 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
4543 get_last_unchanged_at_beg_row.
4544 (find_first_unchanged_at_end_row): Renamed from
4545 get_first_unchanged_at_end_row.
4546 (find_first_unchanged_at_end_row): Convert assertions to
4547 unconditional tests which abort. When looking for a row in
4548 unchanged text, don't go further back than first_text_row.
4549
b41fe2c3
GM
4550 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
4551 Don't add in the last line's height when deciding if the new
4552 position is below the scroll margin.
9d1af64f 4553
b41fe2c3 45542000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
4555
4556 * editfns.c (Fconstrain_to_field): Check carefully for field
4557 boundaries if either OLD_POS or NEW_POS has a non-nil field
4558 property, even if they're the same.
4559
c412cb7b
KH
45602000-10-16 Kenichi Handa <handa@etl.go.jp>
4561
4562 * xterm.c (x_draw_box_rect): Fix the calculation of width and
4563 height for XFillRectangle.
4564
5586f3eb
SM
45652000-10-15 Stefan Monnier <monnier@cs.yale.edu>
4566
4567 * syntax.c (Fstring_to_syntax): New function extracted from
4568 Fmodify_syntax_entry.
4569 (Fmodify_syntax_entry): Use it and document the ! and | fences.
4570 (skip_chars, Fforward_comment): Remove unused variables.
4571 (syms_of_syntax): Add defsubr for string-to-syntax.
4572 (describe_syntax): Add code for comment and string fences.
4573
db785038
SM
45742000-10-14 Stefan Monnier <monnier@cs.yale.edu>
4575
4576 * keymap.c (access_keymap): Add AUTOLOAD parameter.
4577 Do the meta->esc mapping. Call get_keyelt before returning.
4578 Start scanning from the second element (the first is always `keymap')
4579 to make it easier to detect when we reach a parent map.
4580 Handle the case of inheriting from a symbol whose function is a map.
4581 (Fkeymap_parent): Also handle the `inherit from symbol' case.
4582 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
4583 (get_keyelt, Flookup_key): Update call to access_keymap.
4584 Remove the meta->esc mappings.
4585 (define_as_prefix): Delete old disabled code.
4586 (menu_item_p): New function.
4587 (where_is_internal_1): Skip over the few remaining menu items.
4588 * lisp.h (access_keymap): Update prototype.
4589 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
4590 Update call to access_keymap.
4591 (follow_key, read_key_sequence): Update calls to access_keymap.
4592 Remove the meta->esc mappings.
4593
cafafe0b
GM
45942000-10-13 Gerd Moellmann <gerd@gnu.org>
4595
a2e2a7f6
GM
4596 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
4597 with additional argument.
4598
cafafe0b
GM
4599 * xdisp.c (cursor_row_p): New function.
4600 (try_cursor_movement, display_line): Use it.
52283633 4601
cafafe0b
GM
4602 * xdisp.c (append_space): Also save/restore iterator's current
4603 character and its length.
4604
4605 * xdisp.c (init_from_display_pos): Add an assertion.
4606 (handle_stop): Don't set iterator's add_overlay_start.
4607 (handle_invisible_prop): Likewise.
4608 (load_overlay_strings): If text under an overlay is invisible,
4609 take both before- and after-strings into account when the iterator
4610 is positioned either at the start or at the end of the overlay.
4611 (forward_to_next_line_start): Rewritten.
4612 (reseat_at_next_visible_line_start): Rewritten.
4613 (set_iterator_to_next): Add parameter RESEAT_P.
4614
4615 * dispextern.h (struct it): Remove member add_overlay_start.
4616 (set_iterator_to_next): Change prototype.
4617
c744452b
KH
46182000-10-13 Kenichi Handa <handa@etl.go.jp>
4619
4620 * coding.c (code_convert_region): Be sure to initialize
4621 coding->category_idx.
e4a3f4e1
KH
4622 (decode_coding_string): Set coding->src_multibyte and
4623 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
4624 (encode_coding_string): Set coding->src_multibyte and
4625 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 4626
321fd26f
SM
46272000-10-12 Stefan Monnier <monnier@cs.yale.edu>
4628
4629 * xfns.c (Fx_create_frame): Don't bother calling
4630 face-set-after-frame-default since the caller does it for us anyway.
4631
76832439
EZ
46322000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
4633
4634 * window.c (coordinates_in_window): Fix detection of vertical line
4635 on character terminals.
4636
2483cf58
GM
46372000-10-12 Gerd Moellmann <gerd@gnu.org>
4638
4639 * editfns.c (save_excursion_save): Additionally record the
4640 selected window.
4641 (save_excursion_restore): If buffer was visible in a window, and a
4642 different window was selected, and the old selected window is
4643 still live, restore point in that window.
4644
eb991b25
KH
46452000-10-12 Kenichi Handa <handa@etl.go.jp>
4646
8a0eba09
KH
4647 * xterm.c (x_produce_glyphs): Handle
4648 unibyte_display_via_language_environment correctly.
4649
20401fcc
KH
4650 * regex.c (regex_compile): Change the way of handling a range from
4651 unibyte char to multibyte char.
4652
4653 * syntax.c (skip_chars): Change the way of handling a range from
4654 unibyte char to multibyte char.
4655
eb991b25
KH
4656 * process.c (read_process_output): Cancel previous change.
4657
365dd325
EZ
46582000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
4659
c1b096cb
EZ
4660 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
4661
365dd325
EZ
4662 * charset.c (Ffind_charset_string): Doc fix.
4663 (Ffind_charset_region): Doc fix.
4664
eb483c2b
KH
46652000-10-11 Kenichi Handa <handa@mule.m17n.org>
4666
4667 * process.c (read_process_output): Fix previous change. Adjust
4668 multibyteness of text to insert in a buffer by
52283633 4669 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 4670
b40bfb99
AS
46712000-10-10 Andreas Schwab <schwab@suse.de>
4672
4673 * alloc.c (mark_object): Remove all workarounds installed on
4674 1993-08-08.
4675
caff31d4
KH
46762000-10-10 Kenichi Handa <handa@etl.go.jp>
4677
52283633 4678 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
4679 (base64_encode_1): Make it work for a text of multibyte form.
4680 (Fbase64_decode_region): Allocate sufficient memory for multibyte
4681 case. Don't call str_to_multibyte because base64_decode_1
4682 produces correct multibyte form for eight-bit codes.
52283633 4683 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
4684 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
4685 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
4686 codes.
4687
4688 * charset.h (CHAR_STRING): Optimized for single byte characters.
4689
cba026ef
AS
46902000-10-09 Andreas Schwab <schwab@suse.de>
4691
4692 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
4693 -1 after socket is closed, to fall through to error processing.
4694
1e21fe48
EZ
46952000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
4696
4697 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 4698 variables. If ALIST includes foreground-color or
1e21fe48
EZ
4699 background-color, change also the colors of the default face for
4700 this frame.
4701
a640322e
EZ
47022000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
4703
4704 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
4705 them extern (they are defined on xfaces.c).
4706 (syms_of_msdos): Don't intern and don't staticpro
4707 Qbackground_color and Qforeground_color.
4708
a115794c
EZ
47092000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
4710
4711 * frame.c (Fframe_parameter): For non-windowed frames, if
4712 f->param_alist says foreground or background color is unspecified,
4713 call tty_color_name to return the color name computed from the
4714 frame's current colors.
4715
f5533b63
DL
47162000-10-06 Dave Love <fx@gnu.org>
4717
4718 * terminfo.c (ospeed): Don't declare.
4719
4720 * sysdep.c: Don't include string.h.
4721 (h_errno): Declare conditional also on TRY_AGAIN.
4722
4723 * charset.c (Ffind_charset_string): Doc fix.
4724
52283633 4725 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
4726 (Fbase64_decode_region, Fbase64_decode_string): More explicit
4727 error messages.
4728
2b06561a
DL
47292000-10-05 Dave Love <fx@gnu.org>
4730
4731 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
4732 position like menu-bar.
4733
ca839c85
GM
47342000-10-05 Gerd Moellmann <gerd@gnu.org>
4735
4736 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
4737
4738 * xdisp.c (handle_single_display_prop): Use safe_call1.
4739 (safe_call): Renamed from call_function.
4740 (safe_call1): New function.
4741 (handle_fontified_prop): Use safe_call1 instead of call1.
4742 (safe_eval): Renamed from eval_form.
4743 (safe_eval_handler): Renamed from eval_handler.
4744 (handle_single_display_prop, display_mode_element): Use safe_eval
4745 instead of eval_form.
4746
4747 * xfaces.c (merge_face_heights): Use safe_call instead of
4748 call_function.
4749
4750 * keyboard.c (show_help_echo): Use safe_call instead of
4751 call_function; use safe_eval instead of eval_form.
4752
4753 * lisp.h (safe_call): Renamed from call_function.
4754 (safe_eval): Renamed from eval_form.
4755 (safe_call1): Add prototype.
4756
a3489ece
MB
47572000-10-05 Miles Bader <miles@lsi.nec.co.jp>
4758
4759 * xfns.c (image_ascent): Rearrange ascent calculation for the
4760 has-a-font case.
4761
35810b6f
SM
47622000-10-04 Stefan Monnier <monnier@cs.yale.edu>
4763
4764 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
4765 (where_is_internal_1): Don't bother ignoring menu-items any more.
4766
3dc78168
GM
47672000-10-04 Gerd Moellmann <gerd@gnu.org>
4768
4769 * keyboard.c (update_menu_bindings): New variable.
4770 (parse_menu_item): Use AREF. If update_menu_bindings
4771 is 0, don't update menu bindings.
4772 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
4773
1efc2bb9
EZ
47742000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
4775
4776 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
4777 to `mark_object'.
4778
3f679f55
SM
47792000-10-02 Stefan Monnier <monnier@cs.yale.edu>
4780
4781 * syntax.c (forw_comment): Match nestedness of ender/starter.
4782 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
4783 (prev_char_comstart_first): Remove.
4784 (back_comment): Check two-char comment markers more carefully
4785 to better handle overlapping cases like *//* or /* */* */ ...
4786 Match nestedness of ender/starter.
4787
2021ab61
DL
47882000-10-02 Dave Love <fx@gnu.org>
4789
4790 * config.in (HAVE_GAI_STRERROR): Add undef.
4791
4792 * process.c (Fopen_network_stream): Use it.
4793
4794 * m/alpha.h (NO_REMAP): Don't define.
4795
64e6cc18
GM
47962000-10-02 Gerd Moellmann <gerd@gnu.org>
4797
4798 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
4799 return with a string converted to an integer or vice versa when
4800 Vmocklisp_arguments is t.
4801 (Fsignal): Likewise. The function can return for `quit'.
4802 (struct gcpro): Declare member `var' to point to a volatile
4803 Lisp_Object.
4804
4805 * eval.c (error): Prevent compiler warning.
4806
b1904cd9
SM
48072000-09-30 Stefan Monnier <monnier@cs.yale.edu>
4808
4809 * keymap.c (keymap_memberp): New function.
4810 (Fset_keymap_parent): Use it.
4811 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
4812 Use keymap_memberp to avoid creating cycles.
4813 (access_keymap): Use KEYMAPP.
4814
71c9ec51
GM
48152000-09-30 Gerd Moellmann <gerd@gnu.org>
4816
4817 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
4818 gai_strerror. Make sure xerrno is set if connect fails. Improve
4819 error recovery.
71c9ec51 4820
c70c6b58
JR
48212000-09-29 Jason Rumney <jasonr@gnu.org>
4822
4823 * w32term.c (w32_char_font_type, w32_encode_char)
4824 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
4825 (w32_bdf_per_char_metric): New function.
4826 (w32_per_char_metric): Use it.
4827 (x_draw_glyph_string_background): Always draw background for BDF
4828 glyphs.
4829
4830 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
4831 GDI object which is a scarce resource.
4832
4833 * w32bdf.c (search_file_line): Fix skipping of whitespace.
4834 (get_quoted_string): Fix limit on memchr search.
4835 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
4836 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
4837 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
4838 (get_cached_font_char, cache_char_offset): Use macro
4839 BDF_CODEPOINT_RANGE_COVER_P.
4840 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
4841 (clear_cached_bitmap_slots): New function.
4842 (GET_HEX_VALUE): G-Z, g-z are not hex.
4843 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
4844 (get_bitmap_with_cache): Use new cache implementation.
4845 (create_offscreen_bitmap): New function.
4846 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
4847
4848 * w32term.c (x_produce_glyphs): If the distance from the current
4849 position to the next tab stop is less than a canonical character
4850 width, use the tab stop after that.
4851 (x_draw_glyphs): Handle case START and END are out of bounds more
4852 carefully.
4853 (x_clear_mouse_face): Block/unblock input.
4854 (x_display_and_set_cursor): Don't show a hollow box cursor for
4855 buffers whose cursor_type is nil.
4856
fe01239f
GM
48572000-09-29 Gerd Moellmann <gerd@gnu.org>
4858
52283633 4859 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
4860
4861 * dispextern.h (updating_frame): Declare extern.
4862
e7c52f1f
AS
48632000-09-29 Andreas Schwab <schwab@suse.de>
4864
4865 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
4866
de6e1f7c
GM
48672000-09-29 Gerd Moellmann <gerd@gnu.org>
4868
25126faa
GM
4869 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
4870 use its function definition.
4871 (tool_bar_items): Likewise.
4872
de6e1f7c 4873 * lisp.h (fatal): Declare NO_RETURN.
52283633 4874
454ee39b
KH
48752000-09-29 Kenichi Handa <handa@etl.go.jp>
4876
4877 * keymap.c: Remove the line "#undef NULL".
4878
96301c5f
GM
48792000-09-28 Gerd Moellmann <gerd@gnu.org>
4880
52283633 4881 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 4882
efffeeb4
DL
48832000-09-28 Dave Love <fx@gnu.org>
4884
ecb8b666
DL
4885 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
4886
dc3cd20f
DL
4887 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
4888
4889 * .gdbinit (xreload): Note its need on GNU/Linux.
4890
efffeeb4
DL
4891 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
4892 r_alloc, r_alloc_free.
4893
8610d903
KH
48942000-09-28 Kenichi Handa <handa@etl.go.jp>
4895
4896 * syntax.c (skip_chars): Handle negation correctly.
4897
8901d1ac
GM
48982000-09-27 Gerd Moellmann <gerd@gnu.org>
4899
6f22f1ad
GM
4900 * xfaces.c (realize_default_face): Call set_lface_from_font_name
4901 with non-zero FORCE_P argument.
4902
52283633 4903 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
4904 Add assertions.
4905
4906 * xdisp.c (window_box_height): Add an assertion.
4907
4908 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
4909 tool-bar than is available.
4910 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
4911
36f1966f
DL
49122000-09-27 Dave Love <fx@gnu.org>
4913
efffeeb4 4914 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 4915
31d929e5
GM
49162000-09-26 Gerd Moellmann <gerd@gnu.org>
4917
c98863bf
GM
4918 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
4919 instead of BITS_PER_INT.
4920 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
4921 EMACS_UINT, respectively.
4922 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
4923
4924 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
4925
4926 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
4927
77072ab1
GM
4928 * window.c (freeze_window_starts): Construct last argument for
4929 foreach_window differently.
4930
4931 * xfns.c (x_decode_color): Don't return a Lisp_Object.
4932
4933 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
4934 EMACS_UINT instead of `int' and `unsigned int'.
4935 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
4936
4937 * frame.h (struct frame): Make the `nothing' member of union
4938 output_data an EMACS_INT.
4939
52283633 4940 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
4941 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
4942 size in the sdata structure.
4943 (SDATA_NBYTES, SDATA_DATA): New macros.
4944 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
4945 differently for the different layout of the sdata structure.
4946 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
4947 in sdata.
4948 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
4949 Check that size recorded in the string size and size recorded in
4950 the sdata structure agree.
4951
3e60b029
DL
49522000-09-25 Dave Love <fx@gnu.org>
4953
4954 * buffer.c: Include stdio.h.
4955
4956 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 4957
3e60b029
DL
4958 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
4959
4960 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 4961 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
4962 (__malloc_extra_blocks): Declare as __malloc_size_t.
4963
8ff16b4e
GM
49642000-09-25 Gerd Moellmann <gerd@gnu.org>
4965
755a2ccd
GM
4966 * alloc.c (mark_image): Use GC_NILP instead of NILP.
4967
d8b4516f
GM
4968 * keyboard.c (show_help_echo): Set help_echo_showing_p.
4969 (read_char): If help-echo is showing, preserve the echo area
4970 when redisplaying.
4971
4972 * xdisp.c (help_echo_showing_p): New variable.
4973 (set_message): Reset it to 0.
4974 (init_xdisp): Initialize help_echo_showing_p.
4975
4976 * dispextern.h (help_echo_showing_p): Declare extern.
4977
4978 * config.in: Fix typo in __GNUC_MINOR__.
4979
4980 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
4981
b11af2dd
GM
4982 * s/freebsd.h (POSIX_SIGNALS): Define.
4983
8ff16b4e
GM
4984 * xterm.c (x_clear_mouse_face): Block/unblock input.
4985
844eb643
DL
49862000-09-24 Dave Love <fx@gnu.org>
4987
4988 * fns.c (base64_encode_1): Fix last change.
4989
b30ab1b3
GM
49902000-09-22 Gerd Moellmann <gerd@gnu.org>
4991
4992 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
4993
4994 * xdisp.c (try_window_reusing_current_matrix): More fixes
4995 for the case window has a header-line.
4996
c6cbe5f0
DL
49972000-09-22 Dave Love <fx@gnu.org>
4998
4c7c1f3f
DL
4999 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
5000 a doc string.
5001
5002 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
5003
c6cbe5f0
DL
5004 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
5005
550a625e
GM
50062000-09-21 Gerd Moellmann <gerd@gnu.org>
5007
4c7c1f3f 5008 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
5009 for GCC >= 2.5.
5010
52283633
SM
5011 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
5012 Declare NO_RETURN.
fca99116 5013
80d26f99
GM
5014 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
5015 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
5016 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
5017 warnings.
52283633 5018
80d26f99
GM
5019 * marker.c (byte_char_debug_check): Return void.
5020
623a0aae
GM
5021 * xfns.c (Fx_create_frame): Set default frame parameter value
5022 for tool-bar-lines to 1.
5023
5024 * dispnew.c (scrolling_window): Compare y-positions of rows
5025 equal at the start. Some simplification.
5026
5027 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
5028 reused rows' y-position in the case window has a header-line, and
5029 new window start is greater than old window start.
5030
42ac0ae5
GM
5031 * process.c (process_sent_to): New variable.
5032 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
5033 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
5034 Declare more parameters volatile.
5035
550a625e
GM
5036 * lread.c (Vrecursive_load_depth_limit): New variable.
5037 (Fload): Check recursive loads whose recursion depth exceeds
5038 Vrecursive_load_depth_limit.
5039 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
5040
8320414c
GM
50412000-09-20 Gerd Moellmann <gerd@gnu.org>
5042
f46c275e
GM
5043 * fileio.c (Fread_file_name): Doc fix.
5044
5045 * editfns.c (Fmessage_or_box): Doc fix.
5046
5047 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
5048
b7e11c5b 5049 * xfns.c (xbm_scan): Allow C-style comments.
52283633 5050
8320414c
GM
5051 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
5052 symbols are specified, add color translations to the cache.
52283633 5053 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
5054 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
5055 xpm_cache_color.
5056 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
5057 structures to xpm_init_color_cache.
5058
da1608d9
GM
50592000-09-19 Gerd Moellmann <gerd@gnu.org>
5060
52283633 5061 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 5062
6badfa25
AI
50632000-09-19 Andrew Innes <andrewi@gnu.org>
5064
5065 * makefile.nt (bootstrap-emacs): Don't change directory.
5066
3a5f42bb
KH
50672000-09-19 Kenichi Handa <handa@etl.go.jp>
5068
1b7649bd
KH
5069 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
5070
3a5f42bb
KH
5071 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
5072 If output buffer is too small, signal an appropriated error.
5073
9f83cf0b
DL
50742000-09-18 Dave Love <fx@gnu.org>
5075
52283633 5076 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
5077 (current_active_maps): Remove redundant get_local_map call.
5078
28c7826c
GM
50792000-09-18 Gerd Moellmann <gerd@gnu.org>
5080
5cefa566
GM
5081 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
5082 cursor for buffers whose cursor_type is nil.
52283633 5083
6fed3546
GM
5084 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
5085 a feature to implement that is already implemented.
5086 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
5087 warnings.
5088
5089 * xfns.c (x_clear_image_1): New function.
5090 (x_clear_image): Use it.
52283633 5091 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 5092
05b1f851
GM
5093 * dispnew.c (update_window): Move test for invisible lines
5094 at the top to update_window_line.
5095 (update_window_line): Handle invisible lines here.
5096
f4779de9
GM
5097 * xfns.c (clear_image_cache): Clear current matrices of all
5098 frames sharing an image cache. Block input while freeing
5099 images. Fix timestamp comparison.
5100 (x_clear_image): Also free the mask.
5101
28c7826c
GM
5102 * xfns.c (lookup_image): Block input while loading the image so
5103 that we won't get interrupted in a state where the image isn't yet
5104 set up completely.
5105 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
5106 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
5107 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 5108 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 5109
b7412313
GM
51102000-09-16 Gerd Moellmann <gerd@gnu.org>
5111
5112 * dispnew.c (update_window): Make sure to make desired rows
5113 current even if they are completely invisible at the top
5114 of a window.
5115
47e351a3
GM
51162000-09-15 Gerd Moellmann <gerd@gnu.org>
5117
7f8f1edc
GM
5118 * xfns.c (lookup_image): Build mask before applying an algorithm.
5119 Recognize algorithm `disabled'.
5120 (cross_disabled_images): New variable.
5121 (COLOR_INTENSITY): New macro.
5122 (x_detect_edges): Use COLOR_INTENSITY.
5123 (x_disable_image): New function.
5124 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
5125
5126 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
5127 disabled state, don't apply an image transformation algorithm if
5128 the user specified an image for the disabled state. Use
28c7826c 5129 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
5130 user hasn't specified an image.
5131
ebb8f116
GM
5132 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
5133 allocation functions with the XPM lib.
5134 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
5135 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
5136 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
5137 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 5138 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
5139 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
5140 functions, if possible, because these handle color allocation
5141 failure more gracefully.
5142 (Fimage_mask_p): New function.
5143
47e351a3
GM
5144 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
5145 (Qedge_detection, Qheuristic): New symbols.
5146 (syms_of_xfns): Initialize new symbols.
5147 (lookup_image): Handle `:mask X', `:algorithm emboss', and
5148 `algorithm (edge-detection ...)'.
5149 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
5150 (tiff_format, gif_format, gs_format): Add `:mask'.
5151 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
5152 (GIF_MASK, GS_MASK): New enumerators.
5153 (x_laplace_read_row, x_laplace_write_row): Functions removed.
5154 (emboss_matrix, laplace_matrix): New variables.
5155 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
5156 (x_edge_detection): New functions.
5157 (x_laplace): Rewritten in terms of x_detect_edges.
5158 (x_build_heuristic_mask): If image has a mask, free it.
5159
fe83b953
AI
51602000-09-14 Andrew Innes <andrewi@gnu.org>
5161
5162 * makefile.w32-in: Revert to Unix line endings.
5163
3021e816
AI
51642000-09-14 Andrew Innes <andrewi@gnu.org>
5165
5166 * makefile.w32-in: Standardize indentation somewhat.
5167 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
5168 cater for differences between shells.
5169
5170 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
5171
2a32b5ea
GM
51722000-09-14 Gerd Moellmann <gerd@gnu.org>
5173
5174 * xterm.c (x_produce_glyphs): If the distance from the current
5175 position to the next tab stop is less than a canonical character
5176 width, use the tab stop after that.
5177
b4331e96
DL
51782000-09-14 Dave Love <fx@gnu.org>
5179
5180 * buffer.c (alloc_buffer_text): Fix xmalloc call.
5181
ef9e4345
GM
51822000-09-14 Gerd Moellmann <gerd@gnu.org>
5183
085536c2
GM
5184 * xdisp.c (handle_fontified_prop): While running fontification
5185 functions, bind `fontification-functions' and
5186 `after-change-functions' to nil.
5187
ef9e4345
GM
5188 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
5189 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
5190
5191 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
5192
5193 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
5194 USE_MMAP_FOR_BUFFERS.
5195
5196 * insdel.c (make_gap): Use enlarge_buffer_text.
5197
5198 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
5199 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
5200 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
5201 from former r_alloc_* functions in ralloc.c.
52283633 5202 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
5203 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
5204 (mmap_init) [REL_ALLOC_MMAP]: New function.
5205 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
5206 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
5207 BUFFER_FREE.
5208
5209 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
5210 (enlarge_buffer_text): Add prototype.
5211
5212 * ralloc.c: Remove everything having to do with the use of mmap.
5213
f8608968
GM
52142000-09-13 Gerd Moellmann <gerd@gnu.org>
5215
2a494b2d
GM
5216 * sound.c (Fplay_sound): Doc fix.
5217
8c907a56
GM
5218 * keyboard.c: Avoid some more compiler warnings.
5219 (parse_tool_bar_item): Ignore cached key bindings.
5220
f8608968
GM
5221 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
5222 and allocation of Lisp data.
5223
6ab70e9a
GM
52242000-09-12 Gerd Moellmann <gerd@gnu.org>
5225
d12d0a9b
GM
5226 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
5227 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
5228 defaults first.
5229
6ab70e9a
GM
5230 * lread.c (Fload): Put code checking for recursive loads in #if 0.
5231
63c36c3c
KH
52322000-09-12 Miyashita Hisashi <himi@meadowy.org>
5233
5234 * ccl.c: Comment fixed.
5235 (MAX_MAP_SET_LEVEL): Increased to 30.
5236 (PUSH_MAPPING_STACK): Enclose with do-while block.
5237 (POP_MAPPING_STACK): Likewise.
5238 (stack_idx_of_map_multiple): New variable.
5239 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
5240 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 5241 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
5242 (ccl_driver) <CCL_MapSingle>: Likewise.
5243 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
5244 with the case where looking up process reaches to the end of
5245 map-set, and call CCL programs as the above change.
5246
7ee3bd7b
GM
52472000-09-11 Gerd Moellmann <gerd@gnu.org>
5248
8ec8a5ec
GM
5249 * xfns.c (png_load, jpeg_load): Declare some variables volatile
5250 that might be clobbered by longjmp.
5251 (check_x_display_info, x_decode_color, create_frame_xic)
5252 (Fx_display_backing_store, Fx_display_visual_class)
52283633 5253 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 5254
f74b0705
GM
5255 * lread.c (init_lread): Set Vloads_in_progress to nil.
5256 (Fload): Show list of recursively loaded files, when signaling an
5257 error.
5258
7ee3bd7b
GM
5259 * lread.c (Vloads_in_progress): New variable.
5260 (record_load_unwind): New function.
5261 (Fload): Check for recursive loads.
5262 (syms_of_lread): Initialize Vloads_in_progress.
5263 (read_integer, read1): Avoid some compiler warnings.
5264
5265 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
5266 compiler warnings.
5267
974e1e5b
MB
52682000-09-11 Miles Bader <miles@gnu.org>
5269
5270 * editfns.c (Fbuffer_string): Doc fix.
5271
9824c4e3
GM
52722000-09-10 Gerd Moellmann <gerd@gnu.org>
5273
5274 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
5275
6a72fdd1
KR
52762000-09-09 Ken Raeburn <raeburn@gnu.org>
5277
5278 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
5279 whether to include other header files.
5280
28e6fb66
GM
52812000-09-09 Gerd Moellmann <gerd@gnu.org>
5282
52283633 5283 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 5284 by Fmemq as a boolean.
28e6fb66 5285
7f8b6551
SM
52862000-09-08 Stefan Monnier <monnier@cs.yale.edu>
5287
5288 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
5289
a8710abf
GM
52902000-09-08 Gerd Moellmann <gerd@gnu.org>
5291
d1a02881
GM
5292 * ralloc.c (mmap_fd): Remove initializer which can make it
5293 read-only in a dumped Emacs.
5294 (mmap_fd_1): New variable.
5295 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
5296 restore it from there.
5297 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
5298 unconditionally so that mmap_fd can be initialized there.
5299 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
5300 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
5301 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
5302
c454aac1
GM
5303 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
5304
5305 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 5306 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 5307
fc653ef2
GM
5308 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
5309
3015eec0
GM
5310 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
5311 inheritance.
5312
bfe0ee88
GM
5313 * xdisp.c (try_window_id): When trying to locate cursor in
5314 unchanged rows at the top, handle the case that we can't find it.
5315
a8710abf
GM
5316 * xterm.c (x_draw_glyphs): Handle case START and END are out
5317 of bounds more carefully.
5318
6b7d4ae4
DL
53192000-09-08 Dave Love <fx@gnu.org>
5320
423193c5
DL
5321 * s/sol2.h (REL_ALLOC_MMAP): Define.
5322 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
5323
5324 * ralloc.c: Don't include string.h (redundant).
5325 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
5326 [!MAP_ANON]: Include fcntl.h.
5327 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
5328 (r_alloc, r_re_alloc, r_alloc_free)
5329 (mmap_enlarge, mmap_set_vars): Use it.
5330 (r_alloc_init_fd): New function.
5331 (__morecore) [SYSTEM_MALLOC]: Don't declare.
5332 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
5333 malloc type.
5334
5335 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
5336 Remove vm-limit.o.
5337
6b7d4ae4
DL
5338 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
5339 change to __NetBSD__.
5340
44d31981
KH
53412000-09-08 Kenichi Handa <handa@etl.go.jp>
5342
5343 * search.c (compile_pattern): Check the multibyteness of cached
5344 string and PATTERN.
5345
aad40737
MB
53462000-09-08 Miles Bader <miles@gnu.org>
5347
5348 * xfaces.c (default_face_vector): Function removed.
5349 (Finternal_merge_in_global_face): Restore old global/local
5350 attribute override order. Use inline loop instead of calling
5351 default_face_vector.
5352
91a211b5
GM
53532000-09-07 Gerd Moellmann <gerd@gnu.org>
5354
5355 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
5356 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
5357 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
5358 where necessary, in case POINTER_TYPE is `void'.
5359
03419440
EZ
53602000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
5361
5362 * frame.c (make_terminal_frame): Initialize frame foreground and
5363 background colors to unspecified, for the initial instance of an
5364 MSDOS frame.
5365
f46f845b
GM
53662000-09-07 Gerd Moellmann <gerd@gnu.org>
5367
24f76fbf
GM
5368 * ralloc.c (mmap_find): Fix overlap computation.
5369 (mmap_enlarge): Compute nbytes before trying to find an
5370 overlapping region.
5371
f46f845b
GM
5372 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
5373 instead of `!='.
5374
5375 * lread.c (syms_of_lread): Change value of regexp
5376 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
5377
5378 * xmenu.c (xdialog_show): When looking up the selection in
5379 menu_items, take `quote' boundaries into account; this corresponds
5380 to a nil ITEM in x-popup-dialog.
5381
3c014385
KH
53822000-09-07 Kenichi Handa <handa@etl.go.jp>
5383
fd6f711b
KH
5384 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
5385 not 0x81.
5386 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
5387
3c014385 5388 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
5389 encoding, not decoding. Fix the handling of latin-jisx0201.
5390 Check for the charset katakana-jisx0201 too.
3c014385 5391 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 5392 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 5393
0da3ecef
GM
53942000-09-07 Gerd Moellmann <gerd@gnu.org>
5395
ab0ee409
GM
5396 * xfaces.c (Vparam_value_alist): New variable.
5397 (syms_of_xfaces): Initialize it.
5398 (Finternal_set_lisp_face_attribute): Avoid more consing.
5399
5400 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
5401 specially.
5402 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
5403 (Qbackground_mode): New variable.
5404 (syms_of_frame_1): Initialize Qbackground_mode.
5405
5406 * lisp.h (Qdisplay): Declare extern.
1091dd67 5407
0da3ecef
GM
5408 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
5409 change face on all frames, and change the default for new frames.
5410
b14654b9
DL
54112000-09-07 Dave Love <fx@gnu.org>
5412
5413 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
5414
d24fd56f
KH
54152000-09-07 Kenichi Handa <handa@etl.go.jp>
5416
794f3670
KH
5417 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
5418
0fddd0dc
KH
5419 * charset.c: Include composite.h
5420 (lisp_string_width): New function.
5421 (Fstring_width): Call lisp_string_width instead of strwidth.
5422
5423 * Makefile.in (charset.o): Depends on composite.h.
5424
d24fd56f
KH
5425 * process.c (read_process_output): Before inserting the decoded
5426 text in the buffer, adjust the multibyteness.
5427
fa0b693c
GM
54282000-09-06 Gerd Moellmann <gerd@gnu.org>
5429
52283633 5430 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
5431 buffer's text buffer is null, map new memory.
5432
0a58f946
GM
5433 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
5434 POINTER_TYPE and size_t.
5435 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
5436 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
5437 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
5438 [REL_ALLOC_MMAP]: New macros.
5439 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
5440 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
5441 [REL_ALLOC_MMAP]: New functions.
5442
5443 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
5444 before and after unexec.
5445
5446 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
5447 text buffers if necessary.
5448
5449 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
5450 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
5451 in prototypes.
5452
fa0b693c
GM
5453 * config.in (HAVE_MMAP): Add #undef.
5454
877055f6
GM
54552000-09-05 Gerd Moellmann <gerd@gnu.org>
5456
08ba3862
GM
5457 * frame.c (Qdisplay_type): New variable.
5458 (syms_of_frame_1): Initialize it.
5459 (Fframe_parameter): New function that avoids consing.
5460 (syms_of_frame): Defsubr it.
5461
66ffe51c
GM
5462 * buffer.c (Fother_buffer): Consider buffers as invisible when
5463 they are displayed in a window on an invisible frame.
5464
877055f6
GM
5465 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
5466 get-largest-window always return nil.
5467
bb970e67
GM
54682000-09-04 Gerd Moellmann <gerd@gnu.org>
5469
5470 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
5471 variable; recognize Emacs 19 elc files.
5472
7a3d0e0e
MB
54732000-09-04 Miles Bader <miles@gnu.org>
5474
5475 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
5476 before initially popping up the menu, so the menu doesn't flash
52283633 5477 when the face settings are significantly different from the defaults.
7a3d0e0e 5478
14473664
SM
54792000-09-04 Stefan Monnier <monnier@cs.yale.edu>
5480
5481 * regex.c (WIDE_CHAR_SUPPORT): New macro.
5482 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
5483 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
5484 (BIT_UNIBYTE): Remove.
5485 (re_match_2_internal): Delete corresponding code and streamline the
5486 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
5487 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
5488 (re_wctype_t): New type.
5489 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
5490 (regex_compile): Use them and fix handling of overly long char classes.
5491
c1174479
AI
54922000-09-03 Andrew Innes <andrewi@gnu.org>
5493
f8803e97
AI
5494 * makefile.w32-in: Change to DOS line endings.
5495
c1174479
AI
5496 * s/ms-w32.h (ORDINARY_LINK): New define.
5497
5498 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
5499 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
5500
5501 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
5502 (distclean): Delete them here instead.
5503
44ef7cf6
AI
5504 * w32proc.c (compare_env): Convert to uppercase for comparison,
5505 not lowercase, to match how the native Windows shell works.
5506
49b3bd82
JR
55072000-09-03 Jason Rumney <jasonr@gnu.org>
5508
5509 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
5510 CVS changes the line-ends when checking in/out on DOS/Windows.
5511
5512 * makefile.nt (emacs): Do not change directory to run temacs, as
5513 the load-path is set relative to current directory.
5514
a3d35a39
MB
55152000-09-03 Miles Bader <miles@gnu.org>
5516
5517 * xterm.c (x_alloc_lighter_color_for_widget): New function.
5518
d276b0cf
GM
55192000-09-02 Gerd Moellmann <gerd@gnu.org>
5520
715e84c9
GM
5521 * xdisp.c (redisplay_mode_lines): New function.
5522 (display_mode_lines): Return number of mode lines displayed.
5523 (echo_area_display): Use redisplay_mode_lines to draw garbaged
5524 mode lines. Don't temporarily bind redisplay-dont-pause to t.
5525
8892f40b
GM
5526 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
5527 string.h and strings.h.
5528 (index) [HAVE_INDEX]: Add prototype.
5529
d276b0cf
GM
5530 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
5531 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
5532
5533 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
5534 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
5535
38404229
GM
55362000-09-01 Gerd Moellmann <gerd@gnu.org>
5537
5538 * lread.c (read1): Accept `?' as symbol constituent, for
5539 compatiblity with XEmacs.
5540
c0f9ea08
SM
55412000-08-31 Stefan Monnier <monnier@cs.yale.edu>
5542
5543 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
5544 (struct re_pattern_buffer): Remove newline_anchor.
5545 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
5546 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
5547 (re_max_failures, fail_stack): Use size_t rather than unsigned.
5548 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
5549 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
5550 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
5551 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
5552 Get rid of references to newline_anchor.
5553 (regcomp): Allocate and precompute a fastmap.
5554
8c0f83fe
GM
55552000-08-31 Gerd Moellmann <gerd@gnu.org>
5556
5557 * lread.c (openp): GCPRO local variable `filename'.
5558
4bb91c68
SM
55592000-08-30 Stefan Monnier <monnier@cs.yale.edu>
5560
5561 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
5562
5563 * regex.c: Merge some changes from GNU libc. Add prototypes.
5564 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
5565 Use memcmp and memcpy instead of bcopy and bcmp.
5566 (init_syntax_once): Use ISALNUM.
5567 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
5568 (REG_UNSET_VALUE): Remove. Use NULL instead.
5569 (REG_UNSET, re_match_2_internal): Use NULL.
5570 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
5571 New macros.
5572 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
5573 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
5574 (regex_compile): In handle_interval, return an error rather than try to
5575 unfetch the interval if we can't find the closing brace.
5576 Obey the RE_NO_GNU_OPS syntax bit.
5577 (TOLOWER): New macro.
5578 (regcomp): Use it.
5579 (regexec): Allocate regs.start and regs.end as one block.
5580
5226a931
GM
55812000-08-30 Gerd Moellmann <gerd@gnu.org>
5582
868dd24b
GM
5583 * xdisp.c (echo_area_display): Check display_completed instead
5584 of calling detect_input_pending.
5585
5586 * dispnew.c (update_frame): Only set display_completed here; move
5587 the update_begin and update_end calls here from update_frame_1.
5588 (update_frame_1): Don't set display_completed here, don't call
5589 update_begin/update_end.
5590
5226a931
GM
5591 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
5592 instead of store_frame_param.
5593
2a8bd25f
GM
55942000-08-29 Gerd Moellmann <gerd@gnu.org>
5595
5596 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
5597 desired window matrix hasn't been displayed, use the current row
5598 instead. Make sure that only those frame rows are updated for
5599 which there exists a corresponding enabled desired row.
52283633 5600
ba3478d9
MB
56012000-08-29 Miles Bader <miles@gnu.org>
5602
5603 * xfaces.c (default_face_vector): New function.
5604 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
5605
87d0f685
GM
56062000-08-29 Gerd Moellmann <gerd@gnu.org>
5607
5608 * lread.c (openp): Prevent temporary string passed to
5609 Ffile_readable_p from being garbage collected.
5610
6fa86045
DL
56112000-08-28 Dave Love <fx@gnu.org>
5612
5613 * keymap.c (store_in_keymap): Add `static' to declaration.
5614
bb17930d
GM
56152000-08-28 Gerd Moellmann <gerd@gnu.org>
5616
5617 * emacs.c, callint.c, doc.c, editfns.c
5618 (toplevel) [HAVE_STRING_H]: Include string.h.
5619 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
5620 (index): Remove prototypes which might conflict with non-standard
5621 definitions of index/strchr.
5622
5623 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
5624 (rindex): Define only if !HAVE_RINDEX.
5625
5626 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
5627
5628 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
5629
87188200
MB
56302000-08-28 Miles Bader <miles@gnu.org>
5631
5632 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
5633 made inconsistent by a font-related attribute in FROM.
5634 (merge_face_inheritance): Add function comment.
5635
41a68aef
KH
56362000-08-28 Kenichi Handa <handa@etl.go.jp>
5637
5638 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
5639 the 4th arg (PREV_EVENT) Qt to suppress input method.
5640
f7c436c1
SM
56412000-08-27 Stefan Monnier <monnier@cs.yale.edu>
5642
0b32bf0e
SM
5643 * regex.c: Indent cpp directives and remove parens after `defined'.
5644 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
5645 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
5646 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
5647 (re_compile_pattern): Use size_t for length.
5648 (init_syntax_once): Move to a better place.
5649 * regex.h: Merge changes from GNU libc. Indent cpp directives.
5650 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
5651
f7c436c1
SM
5652 * syntax.c (back_comment): Detect cases where a comment-starter is
5653 actually inside another comment as in: /* a // b */ c // d \n.
5654 Make it clear that `comstart_pos' is unused for nested comments.
5655
5656 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
5657 (KEYMAPP): New macro.
5658 (Fkeymap_parent, Fset_keymap_parent): Use it.
5659 (fix_submap_inheritance): Mark it static.
5660 (define_as_prefix, describe_buffer_bindings, describe_command)
5661 (describe_translation, describe_map): Complete prototypes.
5662
5663 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
5664
5665 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
5666 to better match the key-lookup behavior.
5667
6288c62f
GM
56682000-08-27 Gerd Moellmann <gerd@gnu.org>
5669
5670 * xfaces.c (lface_fully_specified_p): Handle :inherit.
5671 (Finternal_set_lisp_face_attribute): Fix typo in error message.
5672
e931344e
EZ
56732000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
5674
5675 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
5676 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
5677 (xterm.o): Depend on coding.h
5678
d10dfeef
KH
56792000-08-26 Kenichi Handa <handa@etl.go.jp>
5680
5681 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
5682 the corresponding '#endif'.
5683
2d73e8d3
MB
56842000-08-26 Miles Bader <miles@gnu.org>
5685
5686 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
5687 * xfaces.c (QCinherit): New variable.
5688 (syms_of_xfaces): Initialize it.
5689 (LFACE_INHERIT): New macro.
5690 (Finternal_get_lisp_face_attribute)
52283633 5691 (merge_face_vector_with_property)
2d73e8d3
MB
5692 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
5693 (check_lface_attrs): Allow new types of face height. Check
5694 inherit attribute.
5695 (CYCLE_CHECK): New macro.
5696 (merge_face_inheritance): New function.
5697 (merge_face_vectors): Merge inherited faces too. Add F and
5698 CYCLE_CHECK arguments.
5699 (merge_face_vector_with_property, Finternal_merge_in_global_face)
5700 (lookup_named_face, lookup_derived_face, realize_named_face)
5701 (face_at_string_position, face_at_buffer_position): Supply
5702 new F and CYCLE_CHECK arguments to merge_face_vectors.
5703 (merge_face_heights): New function.
52283633 5704 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
5705 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
5706 handle relative face heights.
5707 (lface_same_font_attributes_p): Compare heights using EQ.
5708
6ce974d4
KH
57092000-08-26 Kenichi Handa <handa@etl.go.jp>
5710
5711 * charset.c (char_to_string): Check the character validity.
52283633 5712 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 5713
dc1e502d
SM
57142000-08-25 Stefan Monnier <monnier@cs.yale.edu>
5715
5716 * regex.c (PUSH_FAILURE_COUNT): New macro.
5717 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
5718 Handle popping of a register's or a counter's data.
5719 (POP_FAILURE_POINT): Use the new name.
5720 (re_match_2_internal): Push counter data on the stack for succeed_n,
5721 jump_n and set_number_at and remove misleading dead code in succeed_n.
5722
bd9d0f3f
GM
57232000-08-25 Gerd Moellmann <gerd@gnu.org>
5724
5725 * xdisp.c (redisplay_internal): If considering all windows on all
5726 frames, update the display for each frame as soon as possible,
5727 instead of first building all desired matrices for all frames, and
5728 then updating them all.
5729 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
5730
aa5b8e15
GM
57312000-08-24 Gerd Moellmann <gerd@gnu.org>
5732
17494071
GM
5733 * bytecode.c (mark_byte_stack): Add a comment.
5734
52283633
SM
5735 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
5736 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
5737 a graphical frame.
5738
c543db81
KH
57392000-08-24 Kenichi Handa <handa@etl.go.jp>
5740
d246d5f5
KH
5741 * minibuf.c (do_completion): Always use compare-string, not
5742 string-equal because the latter doesn't pay attention to
5743 multibyteness of strings.
5744
c543db81
KH
5745 * process.c (create_process): Don't setup raw-text coding here.
5746 (Fopen_network_stream): Don't set coding->src_multibyte and
5747 coding->dst_multibyte here.
5748 (read_process_output): For process filter, return unibyte string
5749 if default-enable-multibyte-characters is nil.
5750 (send_process): If OBJECT is multibyte text, be sure to encoded it
5751 by the specified coding system for the process. Otherwise, setup
5752 raw-text coding.
52283633 5753 (init_process): Don't initialize default-process-coding-system here.
c543db81 5754
9b47cfe0
EZ
57552000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
5756
5757 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
5758 <scroll-down-aggressively>: Likewise.
5759
f5a36960
KH
57602000-08-23 Kenichi Handa <handa@etl.go.jp>
5761
5762 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
5763 zero. Set coding->produced_char correctly.
5764
69a7ffa7
AI
57652000-08-22 Andrew Innes <andrewi@gnu.org>
5766
5767 * makefile.w32-in: New file.
5768
5769 * unexw32.c (unexec): Ignore old_name, and use the actual location
5770 of the current executable instead. Base new_name on this.
5771
5772 * w32proc.c (create_child): Remove reference to security
5773 descriptor, which isn't needed and doesn't compile with mingw32.
5774
5775 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5776 up dllimport attributes.
5777 (x_update_window_end): Update prototype.
5778
5779 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
5780 extern, which screws up dllimport attributes.
5781
5782 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5783 up dllimport attributes.
5784
5785 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
5786 screws up dllimport attributes.
5787
5788 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5789 up dllimport attributes.
5790 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
5791 screws up dllimport attributes.
5792
5793 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5794 up dllimport attributes.
5795
5796 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
5797 screws up dllimport attributes.
5798
5799 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
5800 screws up dllimport attributes.
5801
5802 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5803 up dllimport attributes.
5804
5805 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
5806 unnecessary extern, which screws up dllimport attributes.
5807 (main): Ditto.
5808
5809 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5810 up dllimport attributes.
5811
5812 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
5813 unnecessary extern, which screws up dllimport attributes.
5814
5815 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
5816 screws up dllimport attributes.
5817
5818 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5819 up dllimport attributes.
5820
5821 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
5822
52283633
SM
5823 * w32bdf.c (search_file_line):
5824 (set_bdf_font_info):
5825 (seek_char):
5826 (w32_get_bdf_glyph):
69a7ffa7
AI
5827 (w32_BDF_to_x_font): Fix compile warnings.
5828
52283633 5829 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
5830
5831 * w32select.c: Include keyboard.h before frame.h.
5832
5833 * w32fns.c (max): Define macro.
5834 (JOHAB_CHARSET): Define if not known.
5835 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
5836 (Fx_show_tip): Synch with X version.
5837
5838 * w32xfns.c: Include keyboard.h before frame.h.
5839
5840 * w32fns.c: Include keyboard.h before frame.h.
5841
5842 * w32term.c: Include keyboard.h before frame.h.
5843
5844 * fontset.c: Include keyboard.h before frame.h.
5845
5846 * w32inevt.c: Include keyboard.h before frame.h.
5847 (MOUSE_MOVED): Define if not known.
5848
5849 * minibuf.c: Include keyboard.h before frame.h.
5850
5851 * keyboard.c: Include keyboard.h before frame.h.
5852
5853 * indent.c: Include keyboard.h before frame.h.
5854
5855 * dispnew.c: Include keyboard.h before frame.h.
5856
5857 * buffer.c: Include keyboard.h before frame.h.
5858
5859 * alloc.c: Include keyboard.h before frame.h.
5860
5861 * print.c: Include keyboard.h before frame.h.
5862
5863 * process.c: Include keyboard.h before frame.h.
5864
5865 * scroll.c: Include keyboard.h before frame.h.
5866
5867 * sysdep.c: Include keyboard.h before frame.h.
5868
5869 * term.c: Include keyboard.h before frame.h.
5870
5871 * window.c: Include keyboard.h before frame.h.
5872
5873 * xdisp.c: Include keyboard.h before frame.h.
5874 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
5875
5876 * frame.c: Include keyboard.h before frame.h.
5877
5878 * w32heap.h: Undefine min, max.
5879
5880 * w32gui.h: Undefine min, max.
5881
5882 * unexw32.c: Change PUCHAR to PCHAR.
5883 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
5884 (relocate_offset):
5885 (get_section_info):
69a7ffa7
AI
5886 (copy_executable_and_dump_data): Remove unnecessary static defs.
5887 (copy_executable_and_dump_data): Fix compile warnings.
5888
5889 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
5890
5891 * w32console.c (min): Define macro.
5892 (clear_frame, write_glyphs): Fix compile warning.
5893
52283633 5894 * w32proc.c (compare_env):
69a7ffa7
AI
5895 (find_child_console): Fix compile warning.
5896
5897 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
5898 sys_errlist instead of _sys_errlist.
5899 (get_emacs_configuration_options): New function.
5900
5901 * s/ms-w32.h (sys_nerr): Provide default definition.
5902 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
5903 name with _ prepended.
5904 (NSIG): Define if not known.
5905 (get_emacs_configuration): Provide extern declaration.
5906 (get_emacs_configuration_options): Provide extern declaration.
5907 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
5908
5909 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 5910 (map_w32_filename):
69a7ffa7
AI
5911 (read_unc_volume): Fix compile warning.
5912
5913 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
5914 definitions from being used.
5915
5916 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
5917
52283633 5918 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
5919 (open_unc_volume): Make arg const.
5920
5921 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
5922 (read_input_waiting): Remove excess parameter.
5923
5924 * w32.c (init_environment): Call _access.
5925 (check_windows_init_file): Call _close.
5926 (init_user_info): Call _putenv.
5927 (init_environment): Call _putenv and _strdup.
5928 (init_ntproc): Reset volume info cache on startup.
5929
5930 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
5931 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
5932 cannot override the CRT malloc.
5933
5934 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
5935 (LINK_FLAGS): Append to original value of LINK_FLAGS.
5936
5937 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
5938 unless we are linking with a static CRT.
5939 (RVA_TO_PTR): Cast result to unsigned char*.
5940
5941 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
5942 (add_volume_info): Use xstrdup.
5943
25060080
SM
59442000-08-22 Stefan Monnier <monnier@cs.yale.edu>
5945
5946 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
5947 (do_completion, Fminibuffer_complete_word): Use it.
5948 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
5949 var so it can take non-boolean values.
5950
6917e6bb
GM
59512000-08-21 Gerd Moellmann <gerd@gnu.org>
5952
acb7cc89 5953 * editfns.c (find_field): Formatting changes.
52283633 5954 (toplevel): Some old-style function forward declarations
acb7cc89
GM
5955 changed to prototypes, some new protypes added, some functions
5956 made static.
5957
5958 * lisp.h (set_time_zone_rule): Add prototype.
5959 (use_dialog_box): External declaration.
5960
0bbfdc25
GM
5961 * keyboard.c (gen_help_event): Add parameter SIZE.
5962 (kbd_buffer_events_waiting): Slightly rewritten.
5963 (clear_event): New function.
5964 (kbd_buffer_get_event): Use it, and clear the input_events of
5965 HELP_EVENTs.
5966 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
5967 don't fill the newly created array with nils.
5968 (toplevel): Convert some old-style function forward declarations
5969 to prototypes.
5970
5971 * keyboard.h (gen_help_event): Change prototype.
5972
5973 * xterm.c (XTread_socket): Change calls to gen_help_event.
5974
5975 * w32term.c (w32_read_socket): Change calls to gen_help_event.
5976
6917e6bb
GM
5977 * eval.c (Fmacroexpand): Doc fix.
5978
e5cd3d11
JR
59792000-08-20 Jason Rumney <jasonr@gnu.org>
5980
5981 * w32term.h (x_display_info_for_display): Remove as this function
5982 does not exist on W32.
5983
5984 * w32term.c (help_echo_window): New variable.
5985 (syms_of_w32term): staticpro it.
5986 (note_mode_line_highlight): Set it.
5987 (XTextExtents16): Removed as there is no equivalent on W32.
5988 (x_compute_glyph_string_overhangs): Incomplete body removed, as
5989 the X way of doing this will not work for W32.
5990 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
5991 (x_draw_image_foreground): Avoid drawing outside of the clip area
5992 when image doesn't have a mask.
5993 (note_mouse_highlight): Process overlays in the right order of
5994 priority. Set help_echo_window.
5995 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
5996 because that's more visible for large images.
5997
5998 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
5999 name to single_keymap_panes.
6000 (w32_menu_show): Set wv->title when dealing with titles.
6001 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
6002
6e69ab8c
MB
60032000-08-21 Miles Bader <miles@gnu.org>
6004
6005 * minibuf.c (do_completion): Try again if we rewrite the input
6006 string, but no completion was done, so that any completion message
6007 will be correct.
6008
511bd4eb
GM
60092000-08-20 Gerd Moellmann <gerd@gnu.org>
6010
6011 * xfaces.c (lface_equal_p): Compare strings differently.
6012 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
6013 (realize_tty_face): Use them.
6014 (syms_of_xfaces): Initialize new variables.
6015 (map_tty_color): New function, extracted from realize_tty_face.
6016 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
6017 foreground or background color, store the new color name in the
6018 realized face; previous code trying to do this had no effect.
6019 (realize_tty_face): Use map_tty_color.
6020 (Fclear_face_cache): Set face_change_count and ensure thorough
6021 redisplay.
6022
1433385f
GM
60232000-08-19 Gerd Moellmann <gerd@gnu.org>
6024
511bd4eb
GM
6025 * undo.c (record_first_change, record_marker_adjustment): Don't
6026 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 6027
419ac0a2
KH
60282000-08-18 Kenichi Handa <handa@etl.go.jp>
6029
6030 * coding.c (decode_coding_string): Set members consumed,
6031 consumed_char, produced, produced_char of *coding correctly. If
6032 decode_coding doesn't consume any byte, don't try anymore.
6033 (encode_coding_string): Likewise.
6034
7eb9e30d
GM
60352000-08-18 Gerd Moellmann <gerd@gnu.org>
6036
511bd4eb
GM
6037 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
6038 conditional have void type, for Standard C compilers.
7eb9e30d
GM
6039
6040 * xdisp.c (redisplay_internal): Compare windows for equality with
6041 EQ, instead of applying XWINDOW to something that might not
6042 be a window.
52283633 6043
dd34a735
KH
60442000-08-18 Kenichi Handa <handa@etl.go.jp>
6045
6046 * fontset.c (Finternal_char_font): Search only the selected frame
6047 for a window of the current buffer.
6048
385ff9e3
GM
60492000-08-18 Gerd Moellmann <gerd@gnu.org>
6050
511bd4eb 6051 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
6052 Lisp_Objects.
6053
385ff9e3
GM
6054 * keyboard.c (kbd_buffer_get_event): Handle the case that the
6055 second half of a HELP_EVENT is found at the start of kbd_buffer.
6056
d6abb4c7
MB
60572000-08-18 Miles Bader <miles@gnu.org>
6058
4618074a
MB
6059 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
6060
d6abb4c7
MB
6061 * editfns.c (save_restriction_save): Rewrite to use markers.
6062 (save_restriction_restore): Rewrite to understand new form of data
6063 saved by save_restriction_save.
6064 (Fsave_restriction): Remove cautionary note in doc-string.
6065
a7b28523
GM
60662000-08-17 Gerd Moellmann <gerd@gnu.org>
6067
6068 * fileio.c (build_annotations): Add a comment explaining the
6069 return value of format-annotate-function. Replace a spurious call
6070 to Flength with a CONSP test. Call format-annotate-function with
6071 a fifth arg specifying how many times the function is been called
6072 in a row, to let it choose temporary buffers appropriately.
6073
03c9ed77
DL
60742000-08-17 Dave Love <fx@gnu.org>
6075
6076 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
6077 declare make_temp_name twice.
6078
52283633 6079 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
6080 (unreadpure): Give it an arg.
6081
6082 * unexalpha.c: Prototype fatal_unexec, mark_x,
6083 update_dynamic_symbols. Declare unexec as void.
6084
6085 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
6086 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
6087
6088 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 6089 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
6090
6091 * alloca.c: Use #error.
6092 [POINTER_TYPE]: Use it.
6093
6094 * eval.c (Fdefvar): Doc fix.
6095
6096 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
6097 INITIALIZE_INTERVAL.
6098
6099 * buffer.h: Avoid DECLARE_INTERVALS.
6100
6101 * config.in: Add size_t.
6102
aae41d97
EZ
61032000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
6104
6105 * w16select.c (set_clipboard_data): If there's not enough memory
6106 to put text into clipboard, return 1, as Fw16_set_clipboard_data
6107 expects. In case of other failures, return 3.
6108 (system_error_msg): New error message.
6109 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
6110 system_error_msg.
6111
65aa5e85
GM
61122000-08-16 Gerd Moellmann <gerd@gnu.org>
6113
6114 * term.c (write_glyphs): Also turn off inverse video after turning
6115 off other appearances in case TS_exit_attribute_mode is not equal
6116 to TS_end_standout_mode.
6117 (insert_glyphs): Turn inverse video on/off for each run of glyphs
6118 with the same face.
6119 (turn_off_face): Reset standout_mode only if
6120 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
6121 is equal to TS_end_standout_mode.
6122
ece23901
KH
61232000-08-16 Kenichi Handa <handa@etl.go.jp>
6124
9d7bcb2e
KH
6125 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
6126 sequence at the end of the source block.
6127
ece23901
KH
6128 * ccl.c (Fccl_program_p): Docstring modified.
6129 (Fccl_execute): Likewise.
6130 (Fccl_execute_on_string): Likewise.
6131
5e30eaa2
EZ
61322000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
6133
6134 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
6135
290602fd
KH
61362000-08-16 Kenichi Handa <handa@etl.go.jp>
6137
6138 The following changes are mainly to fix bugs of
6139 encode/decode-coding-string failing if encoding/decoding return
6140 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
6141 variable conversion_buffer.
6142
6143 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
6144 decrement dst_end to avoid buffer overflow in the later call of
6145 string_as_multibyte
6146
6147 * coding.h (conversion_buffer_size, conversion_buffer)
6148 (get_conversion_buffer): Extern deleted.
6149
6150 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
6151 (conversion_buffer, conversion_buffer_size): Variables deleted.
6152 (get_conversion_buffer): Function deleted.
6153 (struct conversion_buffer): New structure.
6154 (MAX_ALLOCA): New macro.
6155 (allocate_conversion_buffer): New macro.
6156 (extend_conversion_buffer, free_conversion_buffer): New functions.
6157 (ccl_coding_driver): Set coding->result.
6158 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
6159 this is the last block of source.
6160 (encode_coding): Likewise. Handle the source block as the last
6161 one only when the whole source text is consumed.
6162 (decode_coding_string): Handle the case that the output buffer is
6163 too small to decode the whole source text. Use
6164 allocate_conversion_buffer, extend_conversion_buffer and
6165 free_conversion_buffer, not get_conversion_buffer.
6166 (encode_coding_string): Likewise.
6167 (init_coding): Function deleted.
52283633 6168 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
6169
6170 * emacs.c (main): Don't call init_coding.
6171
52283633 6172 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
6173
6174 * term.c (write_glyphs): Use a locally declared conversion_buffer.
6175 (insert_glyphs): Likewise.
6176
6177 * w32console.c (write_glyphs): Use a locally declared
6178 conversion_buffer.
6179
b9f80d41
EZ
61802000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
6181
6182 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
6183 member of display_info is NULL.
6184
32dc52f7
GM
61852000-08-15 Gerd Moellmann <gerd@gnu.org>
6186
52283633 6187 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 6188
32dc52f7 6189 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 6190 appearances with capability `me'.
32dc52f7
GM
6191 (write_glyphs): Switch on inverse video before each face change.
6192
4eb22d33
DL
61932000-08-14 Dave Love <fx@gnu.org>
6194
6195 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
6196 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
6197 (lisp_free): Declare and make static.
6198
6199 * window.c: Fix embedded comment.
6200 (syms_of_window): Fix doc string.
6201
90cbf47e
GM
62022000-08-14 Gerd Moellmann <gerd@gnu.org>
6203
52283633 6204 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
6205 make sure to print `C-' before `M-', like in the manual.
6206
440fc135
GM
62072000-08-11 Gerd Moellmann <gerd@gnu.org>
6208
6209 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
6210 since they aren't relocated anymore.
52283633 6211 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
6212
6213 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 6214 partially visible line which is smaller than the window's height.
440fc135 6215
6e264fad
KH
62162000-08-11 Kenichi Handa <handa@etl.go.jp>
6217
6218 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 6219 the multibyte form of eight-bit-control characters.
6e264fad
KH
6220 (Fccl_execute_on_string): Initialize ccl->multibyte.
6221
6222 * ccl.h (struct ccl_program): New member multibyte.
6223
6224 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
6225
c371f69a
KH
62262000-08-11 Kenichi Handa <handa@etl.go.jp>
6227
6228 * regex.c (regex_compile) <normal_char>: Pay attention to
6229 multibyteness.
6230 (analyse_first) <exactn>: Setup fastmap correctly for
6231 eight-bit-control characters.
6232
62332000-08-11 Kenichi Handa <handa@etl.go.jp>
6234
52283633 6235 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
6236
6237 * keyboard.c (make_lispy_event): Handle the new event type
6238 multibyte_char_keystroke.
6239
6240 * xterm.c: Include coding.h.
6241 (XTread_socket): Work around a bug of XmbLookupString. If the
6242 input is from XIM, decode it according to the current locale. In
6243 that case, generate multibyte_char_keystroke events.
6244
b8ddbe71
KH
62452000-08-11 Kenichi Handa <handa@etl.go.jp>
6246
6247 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
6248 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
6249
47589c8c
GM
62502000-08-10 Gerd Moellmann <gerd@gnu.org>
6251
6252 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
6253 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
6254 (move_it_in_display_line_to): Record iterator's ascent and descent
6255 before producing glyphs, and restore them when we know the glyph
6256 doesn't fit on the line.
6257 (move_it_to): Restructured so that it's easier to debug. If
6258 moving to a vpos, and not moving to an x or character position,
6259 stop as soon as the specified vpos is reached; don't move further
6260 into that line because that might change the computed line height.
6261 (try_cursor_movement): New function, extracted from the cursor
6262 movement branch of redisplay_window. If ending on a partially
6263 visible line, don't try to scroll if the cursor line is taller
6264 than the window.
6265 (redisplay_window): Use try_cursor_movement.
6266
6267 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
6268 because that function doesn't cope with variable-height lines.
6269
6270 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
6271 box cursor because that's better visible for large images.
52283633 6272
c51bacd6
MB
62732000-08-10 Miles Bader <miles@gnu.org>
6274
6275 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
6276
bea56df7
GM
62772000-08-10 Gerd Moellmann <gerd@gnu.org>
6278
6279 * xdisp.c (Vmessages_buffer_name): New variable.
6280 (message_dolog): Use it.
6281 (syms_of_xdisp): Initialize it.
6282
99cd7364
EZ
62832000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
6284
52283633 6285 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
6286 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
6287 redundant now that keyboard.h is included.
6288
7d093d56
EZ
62892000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
6290
6291 * keyboard.c (kbd_buffer_events_waiting): New function.
6292
6293 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
6294
6295 * msdos.c: Include keyboard.h.
6296 (XMenuActivate): Empty no_event events from the event buffer. If
6297 no events are left after that, call clear_input_pending.
6298 (mouse_clear_clicks): New function, code moved from mouse_init.
6299 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
6300 mouse driver to ``forget'' any past clicks.
6301
6302 * Makefile.in (msdos.o): Depend on keyboard.h.
6303
41e757a6
GM
63042000-08-09 Gerd Moellmann <gerd@gnu.org>
6305
8e7bd231
GM
6306 * lisp.h (input_pending): External declaration.
6307
6308 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 6309
8e7bd231
GM
6310 * xdisp.c (echo_area_display): Display thoroughly if input is
6311 pending. Bind redisplay-dont-pause to t during the redisplay.
6312 in case input is pending.
6313
6314 * dispnew.c (Qredisplay_dont_pause): New variable.
6315 (syms_of_display): Initialize and staticpro it.
6316 (update_frame_1): Don't interrupt the display for pending input if
6317 redisplay_dont_pause is set.
52283633 6318
43028b7e
GM
6319 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
6320
41e757a6
GM
6321 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
6322
2f2174fa
KH
63232000-08-09 Miles Bader <miles@lsi.nec.co.jp>
6324
6325 * callproc.c (Fcall_process): Terminate the unwind-protect around
6326 the post-read-conversion of coding system.
6327
0a6fd67e
MB
6328 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
6329 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
6330 * buffer.h (overlays_at): Update prototype.
6331 * xdisp.c (next_overlay_change): Update call to overlays_at.
6332 * xfaces.c (face_at_buffer_position): Likewise.
6333 * textprop.c (Fget_char_property): Likewise.
6334 * xterm.c (note_mouse_highlight): Likewise.
6335
0c80756e
MB
6336 * minibuf.c (do_completion): Don't consider a simple change of
6337 case as `completion'.
6338
975f250a
KR
63392000-08-08 Ken Raeburn <raeburn@gnu.org>
6340
52283633 6341 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
6342 * undo.c (record_delete): Make sure last_point_position_buffer is
6343 a buffer before comparing pointers.
6344
6345 * coding.h (decode_coding_string): Declare.
6346
6347 * intervals.h (Fprevious_single_char_property_change): Declare.
6348
6349 * textprop.c (Fprevious_single_char_property_change): Don't do
6350 arithmetic directly on lisp objects.
6351
52283633 6352 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
6353
6354 * keyboard.h (menu_item_eval_property): Declare.
6355
6356 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
6357 reuse as buffer name, instead of recreating (and discarding) every
6358 time a message is logged.
6359 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
6360 (current_message_1, truncate_message_1, set_message_1)
6361 (display_echo_area_1, resize_mini_window_1): Signatures changed.
6362 (current_message, truncate_echo_area, display_echo_area)
6363 (resize_echo_area_axactly): Changed calls.
b347b3fd 6364
975f250a 6365 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 6366 Lisp object.
975f250a 6367 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 6368 must be an integer, not a Lisp object.
975f250a 6369
46dc9912
KH
63702000-08-08 Kenichi Handa <handa@etl.go.jp>
6371
6372 * charset.c (Fchar_width): Doc fix.
6373
9f6d1a6c
GM
63742000-08-08 Gerd Moellmann <gerd@gnu.org>
6375
6376 * charset.c (Fstring_width): Doc fix.
6377
ff3d9573
GM
63782000-08-07 Gerd Moellmann <gerd@gnu.org>
6379
41e757a6 6380 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
6381 line, clear ascent and descent members of the iterator structure;
6382 the height of the continued line does not affect the height of the
6383 continuation line.
6384 (make_cursor_line_fully_visible): Do nothing if cursor is on a
6385 line taller than the window.
6386 (redisplay_window) <forced window start>: Handle case that the
6387 middle of the window is not found in any row.
6388 (dump_glyph_row): Show more information.
6389 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
6390 first text line in a glyph matrix.
6391
6392 * xterm.c (x_draw_image_foreground): Avoid drawing outside
6393 of the clip area when image doesn't have a mask.
6394
70fc58b3
GM
6395 * fns.c (sweep_weak_table): Fix survival conditions for
6396 key-or-value and key-and-value weakness.
6397
6398 * .gdbinit (xhashtable): New command.
6399
ac0e96ee
GM
6400 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
6401 tables out of the list of all weak hash tables.
6402
ff3d9573
GM
6403 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
6404 a new buffer is created, make sure echo_area_buffer[] references
6405 the new buffer.
6406
e0d8827b
EZ
64072000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
6408
6409 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
6410 the doc string.
6411
c6f35378
KH
64122000-08-07 Kenichi Handa <handa@etl.go.jp>
6413
6414 * syntax.c (skip_chars): Fix previous change. Make the handling
6415 of unibyte string consistent with that of regex search.
6416
1fd4c450
GM
64172000-08-05 Gerd Moellmann <gerd@gnu.org>
6418
e49aa397
GM
6419 * xmenu.c (popup_get_selection): Use xfree instead of free.
6420
6421 * fileio.c (Finsert_file_contents): Use xfree instead of free.
6422
6423 * editfns.c (Ftranspose_regions): Use xfree instead of free.
6424
6425 * callproc.c (child_setup): Use xfree instead of free.
6426
6427 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
6428 instead of malloc.
6429 (run_mac_command, closedir): Use `xfree' instead of `free'.
6430
6431 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
6432
6433 * eval.c (error): Use xfree instead of free.
6434
1fd4c450
GM
6435 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
6436
6437 * fns.c: Replace `illegal' with `invalid'.
e49aa397 6438 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 6439
82d497fc
KH
64402000-08-05 Kenichi Handa <handa@etl.go.jp>
6441
6442 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
6443 conversion.
6444
59f953a2
NF
64452000-08-04 Noah Friedman <friedman@splode.com>
6446
6447 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
6448 docstring.
6449
688351f2
GM
64502000-08-04 Gerd Moellmann <gerd@gnu.org>
6451
6452 * syntax.c (skip_chars): Fix typo in error message.
6453
2dad51cc
AS
64542000-08-04 Andreas Schwab <schwab@suse.de>
6455
6456 * m/ia64.h: Moved from s/ia64.h.
6457
99bb2c60
KH
64582000-08-04 Kenichi Handa <handa@etl.go.jp>
6459
082a1df2
KH
6460 * process.c (read_process_output): Big simplification. Handle
6461 composition and post-read-conversion of coding system correctly.
6462 (send_process): Handle composition correctly.
6463
6464 * callproc.c (Fcall_process): Handle post-read-conversion of
6465 coding system if any.
6466
99bb2c60
KH
6467 * coding.c (decode_coding_iso2022): More strict check for handling
6468 single shifting.
082a1df2
KH
6469 (coding_restore_composition): Pay attention to the case that
6470 cmp_data is not set properly (because of invalid code in the
6471 source text).
6472 (run_pre_post_conversion_on_str): Include text properties in the
6473 resulting string.
6474 (decode_coding_string): Set members of coding correctly.
99bb2c60 6475
f4988be7
GM
64762000-08-03 Gerd Moellmann <gerd@gnu.org>
6477
6478 * s/ia64.h: New file.
6479
6480 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
6481 Use NULL instead of 0 at the end of variable argument list of
6482 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
6483 sizeof (int) < sizeof (void *).
6484
6485 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
6486 of variable argument lists of XtVaGetValues and XtVaSetValues.
6487
6488 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
6489 variable argument lists of XtVaGetValues and XtVaSetValues.
6490
ead53494
GM
64912000-08-02 Gerd Moellmann <gerd@gnu.org>
6492
6493 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
6494 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
6495
6496 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
6497 prototype.
6498
6499 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
6500 in call to Fsingle_key_description.
6501
6502 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
6503 Callers changed.
6504
65052000-08-02 Colin Walters <walters@cis.ohio-state.edu>
6506
6507 * window.c (display_buffer_reuse_frames): New variable.
6508 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
6509 frames displaying BUFFER.
52283633 6510 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 6511
10b0f752
MB
65122000-08-01 Miles Bader <miles@gnu.org>
6513
6514 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
6515 when to constrain NEW_POS (they were pretty screwed up before).
6516
16425c4a
EZ
65172000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
6518
6519 * msdos.c (run_msdos_command): Save and restore the master
6520 environment, for the case that child_setup signals an error.
6521 When mirroring slashes in DOS shell commands, don't fail when
6522 argv[2] has embedded blanks.
da288c14
EZ
6523 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
6524 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
6525 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
6526
6527 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
6528 using alloca; free it after run_msdos_command returns.
6529
27f73852
DL
65302000-07-27 Dave Love <fx@gnu.org>
6531
52283633
SM
6532 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
6533 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
6534
6535 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
6536
c0261b5e
EZ
65372000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
6538
6539 * editfns.c (lisp_time_argument): Fix last change.
6540
b548072f
GM
65412000-07-27 Gerd Moellmann <gerd@gnu.org>
6542
3ab82477
GM
6543 * fns.c (Fdelete): Make it work on vectors and strings in addition
6544 to lists.
6545
b548072f
GM
6546 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
6547 (syms_of_fns): Initialize new variables.
52283633 6548 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
6549 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
6550 weakness, with t meaning the same as `key-and-value'.
6551
91ae8751
KH
65522000-07-27 Kenichi Handa <handa@etl.go.jp>
6553
6554 * coding.h (struct coding_system): Member safe_charset deleted.
6555
6556 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
6557 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
6558 New variables.
91ae8751
KH
6559 (coding_safe_chars): New function.
6560 (CODING_SAFE_CHAR_P): New macro.
6561 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 6562 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
6563 (detect_coding_iso2022): New local variable safe_chars.
6564 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
6565 safe_charsets member of the coding system.
6566 (decode_coding_iso2022): New local variable safe_chars.
6567 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
6568 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
6569 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
6570 (ENCODE_UNSAFE_CHARACTER): New macro.
6571 (encode_coding_iso2022): New local variable safe_chars. Check
6572 unsafe chars.
6573 (setup_coding_system): Delete the code to initialize
6574 coding->safe_charses
6575 (intersection, find_safe_codings): New functions.
6576 (Ffind_coding_systems_region_internal): New function.
6577 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
6578 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
6579 variable and initialize it.
6580
6581 * fns.c (char_table_ref_and_index): New function.
6582
6583 * lisp.h (char_table_ref_and_index): Add prototype.
6584
34a7a267
SS
65852000-07-26 Sam Steingold <sds@gnu.org>
6586
6587 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 6588 (Ffloat_time): New built-in Lisp function.
34a7a267 6589
a95cb10a
GM
65902000-07-26 Gerd Moellmann <gerd@gnu.org>
6591
3353ef5a
GM
6592 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
6593 for the character code.
6594
6595 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
6596 GNU/Linux.
6597
a95cb10a
GM
6598 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
6599 if called for a popup menu.
6600 (xmenu_show): Store help string in widget values.
6601
b4a12321
DL
66022000-07-26 Dave Love <fx@gnu.org>
6603
6604 * syswait.h: Move some definitions.
6605 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
6606 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
6607 perspicuous definitions.
6608 (WTERMSIG): Fix bit pattern used.
6609
13f5ad37
KH
66102000-07-26 Kenichi Handa <handa@etl.go.jp>
6611
6612 * print.c (print_object): If vector printing is truncated, print
6613 "..." to indicate it as well as the case of list printing.
6614
070fe99c
GM
66152000-07-25 Gerd Moellmann <gerd@gnu.org>
6616
969065c3
GM
6617 * xdisp.c (next_element_from_display_vector): Improve comments.
6618
6619 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
6620 for the character code, and the rest for the face id as in 20.x.
6621 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
6622
6623 * window.c (window_display_table): Cleaned up.
6624
070fe99c
GM
6625 * syntax.c (Fforward_word): Add last arg nil in call of
6626 Fconstrain_to_field.
6627
bad77ef7
EZ
66282000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
6629
969065c3 6630 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
6631 identical but for the letter-case, don't call
6632 barf_or_query_if_file_exists.
bad77ef7 6633
c28da489
MB
66342000-07-25 Miles Bader <miles@gnu.org>
6635
6636 * editfns.c (find_field): Honor special `boundary' fields.
6637 (Qboundary): New variables.
6638 (syms_of_editfns): Initialize Qboundary.
6639 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
6640 Use scan_buffer instead of find_before_next_newline, because it
6641 allows us to detect the boundary case where there's a newline at
6642 the search limit.
6643 * lisp.h (Fconstrain_to_field): Update external declaration.
6644
e3c31fd5
GM
66452000-07-24 Gerd Moellmann <gerd@gnu.org>
6646
6647 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
6648 if that is nil.
c28da489 6649
c66c29a2
DL
66502000-07-24 Dave Love <fx@gnu.org>
6651
6652 * s/sunos4-0.h, s/sol2.h:
6653 (LIBS_TERMCAP): Move from m/sparc.h.
6654
6655 * m/sparc.h (TERMINFO): Moved to system files (probably only
6656 relevant for sunos4 judging by its vintage).
6657 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
6658 __arch64__.
6659
fbe0a958
EZ
66602000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
6661
6662 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
6663 name to single_keymap_panes.
6664
7d88e5c9
AS
66652000-07-24 Andreas Schwab <schwab@suse.de>
6666
6667 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
6668
e024b101
GM
66692000-07-24 Gerd Moellmann <gerd@gnu.org>
6670
6671 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
6672 parameters instead of using int parameters. Expect FN to accept
6673 EMACS_INT parameters.
6674 (display_echo_area, resize_echo_area_axactly, current_message)
6675 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
6676 with new argument list.
6677 (resize_mini_window_1): New callback function.
6678 (current_message_1, truncate_message_1, set_message_1): Change
52283633 6679 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 6680
25c1a9ce
KH
66812000-07-24 Kenichi Handa <handa@etl.go.jp>
6682
6683 * fontset.c (fontset_ref): Remove INLINE declaration.
6684 (fontset_ref_via_base): Likewise.
6685 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
6686 to downcase.
6687
7f987ac0
EZ
66882000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
6689
6690 * msdos.c (IT_note_mouse_highlight): Process overlays in the
6691 correct order of priority. If help echo was found in an overlay,
6692 use that overlay as the object in which the help echo was found.
6693
e2db3069
MB
66942000-07-22 Miles Bader <miles@gnu.org>
6695
6696 * textprop.c (Fprevious_single_char_property_change): The initial
6697 property value should be from the position preceding POSITION, not
6698 following it.
6699
5e3203e4
EZ
67002000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
6701
6702 * coding.c (syms_of_coding): Doc fix for
6703 inhibit-iso-escape-detection.
6704
62145073
GM
67052000-07-21 Gerd Moellmann <gerd@gnu.org>
6706
c20aeb83
GM
6707 * xterm.c (note_mouse_highlight): Process overlays in the right
6708 order of priority.
34a7a267 6709
743934db
GM
6710 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
6711
6712 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 6713 overlay, use that overlay as the object in which the help was found.
743934db 6714
d1dc7e43 6715 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 6716
62145073
GM
6717 * window.c (foreach_window): Instead of a fake variable argument
6718 list, take one USER_DATA argument.
6719 (foreach_window_1): Likewise, and call callback functions with two
6720 args, the window and USER_DATA.
6721 (struct check_window_data): New struct.
6722 (check_window_containing): Use it.
6723 (window_from_coordinates): Set up a struct check_window_data for
6724 foreach_window.
6725 (add_window_to_list, freeze_window_start): Change parameters
6726 according to new calling convention.
6727
6728 * window.h (foreach_window): Change prototype.
6729
6730 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
6731
67322000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
6733
6734 * xmenu.c (menu_help_callback): Call show_help_echo with
6735 additional arguments OBJECT and POS.
6736
11270583
KH
67372000-07-21 Kenichi Handa <handa@etl.go.jp>
6738
07b14857
KH
6739 * data.c (Faset): Allow storing any multibyte character in a
6740 string. Convert unibyte string to multibyte if necessary.
6741
11270583
KH
6742 * xfns.c (x_encode_text): New function.
6743 (x_set_name): Use x_encode_text.
6744 (x_set_title): Likewise.
6745
6746 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
6747
6748 * xterm.h (x_encode_text): Add prototype.
6749
bc75b4fd
DL
67502000-07-20 Dave Love <fx@gnu.org>
6751
6752 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
6753 xfree, not free.
6754
48c14970
EZ
67552000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
6756
6757 * msdos.c (help_echo_window): New variable.
6758 (syms_of_msdos): Initialize and staticpro it.
6759 (IT_note_mode_line_highlight): Set help_echo_window.
6760 (IT_note_mouse_highlight): Ditto.
6761 (dos_rawgetc): Store help_echo_window in the second event produced
6762 for HELP_EVENTs.
6763
6764 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
6765 Record the object that generated the help echo and the position of
6766 that object in help_echo_object and help_echo_pos. Record that
6767 some glyphs in a row are displayed in mouse-face.
6768 (IT_update_begin): Don't clear mouse highlight unless one of the
6769 enabled glyph rows is marked as being displayed in mouse-face.
6770 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
6771 and position recorded in help_echo_object and help_echo_pos to the
6772 event queue.
6773 (IT_menu_display): Accept a new argument PN: the pane number of
6774 the current menu pane. Record the pane number and the item
6775 number of the item which has associated help string.
6776 (XMenuActivate): Update the prototype for help_callback in
6777 function declaration. Call IT_menu_display with the current menu
6778 pane number as an additional argument. Call help_callback with
6779 two additional arguments: the pane number and the item number of
6780 the menu item associated with the help text.
6781 (help_echo_object, help_echo_pos): New variables.
6782 (syms_of_msdos): Initialize them and staticpro help_echo_object.
6783
6784 * msdos.h (XMenuActivate): Update prototype.
6785
4279296d
GM
67862000-07-19 Gerd Moellmann <gerd@gnu.org>
6787
47db06aa
GM
6788 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
6789 Add some more prototypes.
6790
6791 * xterm.c, xterm.h: Add some more prototypes.
6792
6793 * lisp.h (Fnext_single_char_property_change): Add prototype.
6794
6795 * dispnew.c (direct_output_for_insert): Remove confusing
6796 outer local variable mouse_face_overwritten_p.
6797 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
6798
4279296d
GM
6799 * alloc.c (allocate_string_data): Don't copy old string contents.
6800
670acd62
KH
68012000-07-19 Kenichi Handa <handa@etl.go.jp>
6802
6803 * coding.c (code_convert_region): Delete text properties before
6804 shrinking the conversion region.
6805
7cea38bc
GM
68062000-07-18 Gerd Moellmann <gerd@gnu.org>
6807
dc1cac59
GM
6808 * dispnew.c (update_text_area): Write the whole row if it
6809 has mouse-face in it.
6810
85a8aca9
GM
6811 * xfaces.c (face-alternative-font-family-alist): Remove
6812 DEFVAR_LISP; staticpro instead.
6813
34a7a267 6814 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
6815 new arguments.
6816
6817 * keyboard.c (show_help_echo): Add parameter WINDOW.
6818 (read_char): Call show_help_echo with window extracted from Lisp
6819 help event.
6820 (gen_help_event): Add parameter WINDOW.
6821
6822 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
6823
6824 * xterm.c (help_echo_window): New variable.
52283633 6825 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
6826 (XTread_socket): Pass help_echo_window to gen_help_event.
6827 (syms_of_xterm): Initialize and staticpro help_echo_window.
6828
f8276b77
DL
68292000-07-18 Dave Love <fx@gnu.org>
6830
52283633 6831 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 6832
088831a6
GM
68332000-07-18 Gerd Moellmann <gerd@gnu.org>
6834
3d6cd763
GM
6835 * alloc.c (allocate_string_data): If string had already data
6836 assigned, copy old contents to new string data.
6837
6838 * coding.c (syms_of_coding): Fix typo in spelling of variable
6839 `inhibit-iso-escape-detection'.
6840
088831a6
GM
6841 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
6842
6843 * Makefile.in: Add dependencies on dispextern.h.
6844 (alloca.o): Don't define malloc and define EMACS_FREE instead of
6845 `free'; both can conflict with system header files.
6846
bc8a8d55
KH
68472000-07-18 Kenichi Handa <handa@etl.go.jp>
6848
6849 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
6850 undefined.
6851
069f5950
DL
68522000-07-18 Dave Love <fx@gnu.org>
6853
6854 * window.c (Fwindow_list): Declare arg `window'.
6855
aa96c820
KH
68562000-07-18 Kenichi Handa <handa@etl.go.jp>
6857
6858 * coding.c (setup_coding_system): Don't override the explicitly
6859 specified designations.
6860
06be8d32
MB
68612000-07-15 Miles Bader <miles@gnu.org>
6862
6863 * editfns.c (char_property_eq, char_property_stickiness): Renamed
6864 from `text_property_eq' and `text_property_stickiness', respectively.
6865 (find_field, Fconstrain_to_field, char_property_eq)
6866 (char_property_stickiness): Changed to call char-property functions
6867 instead of text-property-only ones.
6868
6869 * textprop.c (Fnext_single_char_property_change): Made a subr (was
6870 `next_single_char_property_change'). Do more error checking, and
6871 cleanup limit behavior.
6872 (Fprevious_single_char_property_change): New function.
6873 (syms_of_textprop): Initialize new subrs.
6874
6875 * xdisp.c (display_prop_end, invisible_text_between_p):
6876 Call Fnext_single_char_property_change instead of
6877 next_single_char_property_change.
6878
3fddcdc3
JR
68792000-07-15 Jason Rumney <jasonr@gnu.org>
6880
6881 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
6882 after menu is finished with.
6883 (add_menu_item): Only consider wv->title as a menu title.
6884 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
6885
6886 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
6887 null title.
6888 (FONT_REGEXP): Remove unused macro, and its sub-components.
6889 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
6890
6891 * w32term.c (help_echo_object, help_echo_pos): New variables.
6892 (note_mode_line_highlight): Store additional information about the
6893 help-echo in help_echo_object and help_echo_pos. Check both
6894 `local-map' and `keymap' properties for changing the cursor
6895 (note_mouse_highlight): Store additional information about the
6896 help-echo in help_echo_object and help_echo_pos.
6897 (note_tool_bar_highlight): Set help_echo_object to nil and
6898 help_echo_pos to -1.
6899 (w32_read_socket): Use gen_help_event instead of filling
6900 input_events manually.
6901 (syms_of_w32term): Staticpro help_echo_object.
6902 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 6903 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
6904 (x_clear_mouse_face): New function.
6905 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
6906 (x_update_window_begin): No need to turn off the mouse
6907 highlight here.
6908 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 6909 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
6910 (x_fill_stretch_glyph_string): Consume runs of stretch
6911 glyphs instead of a single one.
6912 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
6913 with new argument list.
6914 (x_set_glyph_string_gc): Make sure the face's GC is valid.
6915 (x_append_glyph, x_append_composite_glyph)
6916 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
6917 changes in struct glyph starting 1999-12-27. See comments for
6918 xterm.c on 2000-07-05.
6919
178c5d9c
SS
69202000-07-14 Sam Steingold <sds@gnu.org>
6921
6922 * xfaces.c (realize_x_face): Fix the last patch:
6923 check `default_face' before dereferencing.
6924
6fe533f6
DL
69252000-07-14 Dave Love <fx@gnu.org>
6926
069f5950 6927 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 6928
dd7b81cf
KH
69292000-07-14 Kenichi Handa <handa@etl.go.jp>
6930
0693904a 6931 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 6932 default_face's fontset, not using the default fontset.
0693904a 6933
dd7b81cf
KH
6934 * coding.c (inhibit_iso_escape_detection): New variable.
6935 (syms_of_coding): Make it a Lisp variable.
6936 (detect_coding_iso2022): If inhibit_iso_escape_detection is
6937 nonzero, ignore ISO2022's escape sequence.
6938
d5aa31d8
GM
69392000-07-14 Gerd Moellmann <gerd@gnu.org>
6940
e5acf0ca
GM
6941 * alloca.c (malloc) [emacs]: Define as xmalloc.
6942
bd23a692
GM
6943 * xfns.c (Fx_show_tip): If frame parameters contain a position,
6944 use that instead of the mouse position. Add parameters DX and DY.
6945
6946 * dispextern.h (Fx_show_tip): Adjust number of parameters
6947 in prototype.
6948
9662da0b
GM
6949 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
6950 if HELP is a function, call it with OBJECT and POS as parameters
6951 to get the help to display.
6952 (gen_help_event, kbd_buffer_store_help_event): New functions.
6953 (kbd_buffer_get_event): Construct the Lisp help-event differently.
6954 (read_char): Call show_help_echo with new parameters.
6955
178c5d9c 6956 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
6957 Add prototypes.
6958
6959 * xterm.c (help_echo_object, help_echo_pos): New variables.
6960 (note_mode_line_highlight): Store additional information about the
6961 help-echo in help_echo_object and help_echo_pos. Check both
6962 `local-map' and `keymap' properties for changing the cursor
6963 (note_mouse_highlight): Store additional information about the
6964 help-echo in help_echo_object and help_echo_pos.
6965 (note_tool_bar_highlight): Set help_echo_object to nil and
6966 help_echo_pos to -1.
6967 (XTread_socket): Use gen_help_event instead of filling
6968 input_events manually.
6969 (syms_of_xterm): Staticpro help_echo_object.
6970
6971 * xmenu.c (menu_highlight_callback): Use
6972 kbd_buffer_store_help_event instead of setting up and input_event
6973 structure manually.
6974
6975 * xdisp.c (eval_form): GCPRO argument sexpr.
6976 (call_function): New function.
6977 (handle_single_display_prop): Use call_function and FUNCTIONP
6978 instead of checking whether if font_height is a symbol and
6979 using eval_form.
6980
6981 * eval.c (internal_condition_case_2): New function.
6982
6983 * lisp.h (FUNCTIONP): New macro.
6984 (internal_condition_case_2, call_function): Add prototypes.
6985
d5aa31d8
GM
6986 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
6987 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
6988 Always set `arg' member of input_events.
6989 (construct_menu_click): Unused function removed.
6990
6991 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
6992
6993 * w32term.c (construct_mouse_click, construct_mouse_wheel)
6994 (construct_drag_n_drop, x_scroll_bar_handle_click)
6995 (w32_read_socket): Always set `arg' member of input_events.
6996
6997 * keyboard.c (show_help_echo): Use eval_form. Add comment.
6998
6999 * lisp.h (eval_form): Add prototype.
7000
7001 * xdisp.c (eval_form): Make it externally visible.
7002
0f1a9b23
GM
70032000-07-13 Gerd Moellmann <gerd@gnu.org>
7004
7005 * xterm.c (x_handle_tool_bar_click): Store the frame in the
7006 frame_or_window slot of TOOL_BAR_EVENT input events instead of
7007 consing. For prefix events, store the frame in the `arg' slot of
7008 the event, otherwise store the key there.
7009 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 7010 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
7011
7012 * xmenu.c (menu_highlight_callback): Store help string in the
7013 `arg' member of the input event; don't cons.
7014 (menubar_selection_callback): Use the `arg' slot of input events
7015 to queue additional information, instead of consing.
7016
7017 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
7018
7019 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
7020 TOOL_BAR_EVENTs.
7021 (w32_read_socket): Adapt to changes in HELP_EVENTs.
7022
7023 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
7024 input events to queue additional information, instead of consing.
7025
7026 * keyboard.c (kbd_buffer_gcpro): Renamed from
7027 kbd_buffer_frame_or_window. Now used for all Lisp objects
7028 referenced from the input queue.
7029 (kbd_buffer_store_event): Always use structure assignment for
7030 copying input events. Record all Lisp objects referenced from
7031 events in kbd_buffer_gcpro.
7032 (kbd_buffer_get_event): Construct Lisp `help-echo' events
7033 differently from input events. Test for prefix menu_bar_events
7034 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
7035 event in kbd_buffer_gcpro to nil.
7036 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
7037 frame_or_window is equal to its arg member as prefix events.
7038 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
7039 used by an input event to nil.
7040 (init_keyboard): Use two times the size of the input queue
7041 for kbd_buffer_gcpro.
7042 (syms_of_keyboard): Likewise.
7043
52283633
SM
7044 * emacs.c (handle_USR2_signal, handle_USR1_signal):
7045 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
7046
7047 * termhooks.h (struct input_event): Add member `arg'.
7048 (MENU_BAR_EVENT): Renamed from menu_bar_event.
7049 (USER_SIGNAL_EVENT): Renamed from user_signal.
7050
7051 * xfaces.c (ASET): Remove definition.
7052
7053 * lisp.h (AREF, ASET, ASIZE): New macros.
7054
7055 * fontset.c (AREF, ASIZE): Remove definitions.
7056
7057 * fns.c (AREF): Remove definition.
178c5d9c 7058
0f1a9b23
GM
7059 * composite.c (AREF): Remove definition.
7060
712eaef2
GM
70612000-07-12 Gerd Moellmann <gerd@gnu.org>
7062
d8ee7803
GM
7063 * dispnew.c (redraw_overlapped_rows): Add missing local.
7064 (scrolling_window): Remove debug code.
7065
712eaef2
GM
7066 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
7067 Before scrolling, turn off a mouse-highlight in the window
7068 being scrolled.
7069
7070 * xterm.c (x_update_window_end): Add parameter
7071 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
7072 redisplay in XTframe_up_to_date.
7073 (x_clear_mouse_face): New function.
7074 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
7075
7076 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
7077 current glyph row.
7078 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
7079 it when any row is written to that contains glyphs highlighted in
7080 mouse-face.
7081 (update_window): Call the window update end hook with new
7082 parameter MOUSE_FACE_OVERWRITTEN_P.
7083 (direct_output_for_insert): Give up if row contains mouse-face.
7084
7085 * dispextern.h (struct redisplay_interface): Add parameter
7086 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
7087 (clear_mouse_face): New function pointer member.
7088
02010917
SM
70892000-07-11 Stefan Monnier <monnier@cs.yale.edu>
7090
7091 * syntax.c (back_comment): Use one switch rather than a few `if's.
7092 Obey open_paren_in_column_0_is_defun_start.
7093 When reverting to the `slow' method, try to nicely handle the case
7094 of nested comments by checking that the comment-starter we found
7095 does indeed match the comment-ender.
7096 (scan_sexps_forward, scan_sexps_forward):
7097 Ignore excessive opening parenthesis rather than throwing an error.
7098
d76c03ea
GM
70992000-07-11 Gerd Moellmann <gerd@gnu.org>
7100
7101 * doc.c (Fsubstitute_command_keys): Handle case that a GC
7102 in Fwhere_is_internal or get_keymap_1 relocates string contents.
7103
7104 * dispnew.c (direct_output_forward_char): Give up if currently
7105 displaying a message instead of the minibuffer contents.
7106
7107 * xterm.c (x_update_window_begin): No need to turn off the mouse
7108 highlight here.
7109 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 7110 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
7111
7112 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
7113 compare the mouse_face_p flags of both rows.
7114
7115 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
7116
d55ead18
EZ
71172000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
7118
7119 * keyboard.c (show_help_echo): Accept additional parameter
7120 ok_to_overwrite_keystroke_echo.
7121 (read_char): Call show_help_echo with a zero
7122 ok_to_overwrite_keystroke_echo argument.
52283633 7123 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
7124 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
7125 ok_to_overwrite_keystroke_echo argument.
7126 * w32menu.c (w32_menu_display_help): Call show_help_echo with
7127 non-zero ok_to_overwrite_keystroke_echo argument.
7128
df75b1a3
GM
71292000-07-10 Gerd Moellmann <gerd@gnu.org>
7130
4b92c49a
GM
7131 * xdisp.c (try_window_id): If changes are all below what is
7132 displayed in the window, and point is in the window, we still
7133 might have to find point on the display.
7134
7135 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
7136 glyphs instead of a single one.
7137 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
7138 with new argument list.
7139 (x_set_glyph_string_gc): Make sure the face's GC is valid.
7140
df75b1a3
GM
7141 * keymap.c (get_keymap_1): Add comment that this function can GC.
7142 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
7143 comment that functions can GC.
7144 (Fset_keymap_parent): GCPRO arg KEYMAP.
7145
4314cf3e
EZ
71462000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
7147
7148 * msdos.c (XMenuActivate): After exiting the menu, restore the
7149 echo area message and erase it.
7150
ab49ce15
KH
71512000-07-10 Kenichi Handa <handa@etl.go.jp>
7152
7153 * fontset.c (Ffontset_info): Make the return value more compatible
7154 with that of Emacs 20.
7155
090a072f
GM
71562000-07-07 Gerd Moellmann <gerd@gnu.org>
7157
7158 * eval.c (Fsignal): Handle case that backtrace_list is null.
7159
f92de4a6
KH
71602000-07-07 Kenichi Handa <handa@etl.go.jp>
7161
7162 * ccl.c (Fccl_execute): Typo fixed.
7163
dd8888a1
GM
71642000-07-06 Gerd Moellmann <gerd@gnu.org>
7165
e5c81191 7166 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 7167
dd8888a1
GM
7168 * window.c (Fwindow_list): Reverse list at the end.
7169 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
7170 means allow windows on OWINDOW's frame, only.
7171 (window_loop): Simplified; use Fwindow_list.
7172
7173 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
7174
485266d0
GM
71752000-07-05 Gerd Moellmann <gerd@gnu.org>
7176
7177 * xterm.c (XTread_socket): Increment handling_signal at the start,
7178 decrement it at the end.
7179
7180 * eval.c (handling_signal): New variable.
7181 (Fsignal): Abort if handling_signal is non-zero.
7182
7183 * lisp.h (handling_signal): External declaration.
178c5d9c 7184
485266d0
GM
7185 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
7186
80fcd514
KR
71872000-07-05 Ken Raeburn <raeburn@gnu.org>
7188
7189 Sound support for NetBSD through "Linux emulation" support:
7190 * config.in (HAVE_SOUNDCARD_H): Undef.
7191 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
7192 * Makefile.in (LIBSOUND): New variable.
7193 (LIBES): Include it.
52283633
SM
7194 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
7195 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
7196 (vox_open): Use DEFAULT_SOUND_DEVICE.
7197 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
7198
d5c5cddd
GM
71992000-07-05 Gerd Moellmann <gerd@gnu.org>
7200
7201 * print.c (print_error_message): If Vsignaling_function is set,
7202 show it in *Messages*.
7203
7204 * lisp.h (Vsignaling_function): External declaration.
7205
7206 * eval.c (Vsignaling_function): New variable.
7207 (Fsignal): Compute it.
7208 (syms_of_eval): Staticpro it.
7209
65171e3a
DL
72102000-07-05 Dave Love <fx@gnu.org>
7211
7212 * syswait.h: Use the autoconf recommended approach. Old code
7213 #if'd out in case we need to revert.
7214
178c5d9c 7215 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 7216
e2c46326
AI
72172000-07-05 Andrew Innes <andrewi@gnu.org>
7218
7219 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
7220 when non-NULL instead of __morecore, to take account of buffer
7221 memory. This also solves a problem with spurious memory warnings
7222 on Windows.
7223
7224 * ralloc.c: Make real_morecore non-static.
7225
7226 * eval.c (internal_condition_case): Comment out abort if
7227 interrupt_input_blocked is not zero.
7228
7229 * makefile.nt: Add support for `bootstrap' and related targets.
7230 Include minimal debug info in emacs.exe in release build.
7231 Remove all dependencies on lisp.h, and fixup some others.
7232
7233 * w32.c (init_environment): Install code from 20.7 for providing
7234 default values for environment variables, based on the
7235 executable's own location.
52283633 7236 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
7237 (sys_socket): Install socket inheritance bug fix from 20.7.
7238
7239 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
7240 here via blockinput.h).
7241
a027a91b
SM
72422000-07-05 Stefan Monnier <monnier@cs.yale.edu>
7243
e4b31601
SM
7244 * w32menu.c (w32_menu_display_help):
7245 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
7246
7247 * keyboard.h (show_help_echo): Declare.
7248
7249 * keyboard.c (show_help_echo): New function, extracted from read_char.
7250 Feval its `msg' argument if it's a cons cell.
7251 (read_char): Use it.
4cf8d9d5 7252 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 7253
178c5d9c 7254 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 7255 (note_tool_bar_highlight, XTread_socket):
178c5d9c 7256 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
7257 (dos_rawgetc):
7258 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
7259 (note_tool_bar_highlight, w32_read_socket):
7260 Do not gratuitously ignore non-string `help-echo' properties.
7261
88d75730
GM
72622000-07-05 Gerd Moellmann <gerd@gnu.org>
7263
969f7e79
GM
7264 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
7265
71201b00
GM
7266 * window.c (delete_all_subwindows): Reset Vwindow_list.
7267
88d75730
GM
7268 * xterm.c (x_append_glyph, x_append_composite_glyph)
7269 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7270 changes in struct glyph starting 1999-12-27. Some bit-fields of
7271 struct glyph were not set, which made glyphs unequal when compared
7272 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
7273 effects were the result. This also depended on the contents of
7274 memory returned by xmalloc. If flickering happens again, activate
7275 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 7276 gone with that, chances are that it is caused by something similar.
88d75730
GM
7277
7278 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 7279
88d75730
GM
7280 * dispextern.h: Add some comments.
7281
7282 * window.c (add_window_to_list): Add parameter LIST.
7283 (window_list): Order list so that, for each frame, windows are
7284 in canonical order, and so that frames appear in the list in
7285 the order given by Vframe_list.
7286 (next_window): Reverse the handling of NEXT_P.
7287
53654733
GM
72882000-07-04 Gerd Moellmann <gerd@gnu.org>
7289
87efd256
GM
7290 * window.c (Vwindow_list): New variable.
7291 (make_window, delete_window): Set Vwindow_list to nil.
7292 (check_window_containing): New function.
7293 (window_from_coordinates): Rewritten.
7294 (add_window_to_list, window_list, candidate_window_p)
7295 (decode_next_window_args, next_window): New functions.
52283633 7296 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
7297 (Fwindow_list): New function.
7298 (Fother_window): Cleaned up.
7299 (foreach_window): Add a longer "variable argument list". Let
7300 callback function return 0 to indicate that cycling over windows
7301 should stop.
7302 (foreach_window_1): Likewise.
7303 (freeze_window_start): Return int.
7304 (init_window): New function.
7305 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
7306
7307 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
7308 input_event with bzero.
7309 (main): Call init_window.
7310
53654733
GM
7311 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
7312 a menu filter.
7313
4a8c194f
KH
73142000-07-04 Kenichi Handa <handa@etl.go.jp>
7315
7316 * composite.h (make_composition_value_copy): Extern it.
7317
7318 * composite.c (make_composition_value_copy): New function.
7319
7320 * editfns.c (Fformat): While copying text properties, make each
7321 composition property value a copy.
7322
7323 * fns.c (concat): While copying text properties, make each
7324 composition property value a copy.
7325
831a6cb0
GM
73262000-07-03 Gerd Moellmann <gerd@gnu.org>
7327
2f516940
GM
7328 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
7329
178c5d9c 7330 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
7331 marked already.
7332
831a6cb0
GM
7333 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
7334 include those frames as candidates which have their focus
7335 redirected to the minibuffer frame.
7336
d9c4f922
SM
73372000-07-03 Stefan Monnier <monnier@cs.yale.edu>
7338
7339 * fns.c (Fputhash): Return `value' rather than nil.
7340
3780bc22
GM
73412000-06-30 Gerd Moellmann <gerd@gnu.org>
7342
97d176db
GM
7343 * frame.c (next_frame): Don't check focus redirection in case
7344 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
7345 unless their focus is redirected, which contradicts the
7346 specification of next-frame, and leads to infinite loops in
7347 certain situations when cycling through windows with next-window.
7348
dca9961d
KH
73492000-06-30 Kenichi Handa <handa@etl.go.jp>
7350
7351 * coding.c (code_convert_region): Even if the length of text is
7352 zero, try to convert it if coding->type is coding_type_ccl.
7353 (decode_coding_string, encode_coding_string): Likewise.
7354
d5483ab1
GM
73552000-06-28 Gerd Moellmann <gerd@gnu.org>
7356
af5c25e1 7357 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 7358 the display if windows_or_buffers_changed.
af5c25e1
GM
7359
7360 * dispnew.c (struct row_entry): New structure.
7361 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
7362 (row_table_size, old_lines, new_lines, old_lines_size)
7363 (new_lines_size, run_pool, runs_size, runs): New variables.
7364 (add_row_entry): New function.
7365 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 7366 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
7367 holding them in local variables. Use a larger hash table whose
7368 size depends on glyph matrix sizes. Don't use bzero to clear the
7369 hash table; instead, clear used slots only.
7370
7371 * fns.c (next_almost_prime): Make it externally visible.
7372
7373 * lisp.h (next_almost_prime): Add prototype.
7374
d5483ab1
GM
7375 * s/isc4-0.h (sigunblock): Define.
7376
7377 * s/sco5.h (sigunblock): Define.
7378
93e40f40
DL
73792000-06-27 Dave Love <fx@gnu.org>
7380
7381 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
7382 (moved to osf5-0.h).
7383 [!NOT_C_CODE]: Protect string.h stuff.
7384
7385 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
7386 (sys_siglist, NSIG): Definitions moved here from osf1.h.
7387
3c4b7685
GM
73882000-06-27 Gerd Moellmann <gerd@gnu.org>
7389
97d176db 7390 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
7391 below the last line from the needed window height.
7392
32cad0aa
SM
73932000-06-26 Stefan Monnier <monnier@cs.yale.edu>
7394
7395 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
7396 (Fwidget_get): Use it.
7397 (syms_of_fns): Defsubr it.
7398
2c69ced2
GM
73992000-06-26 Gerd Moellmann <gerd@gnu.org>
7400
178c5d9c 7401 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
7402 display info for XIM.
7403 (xim_open_dpy): Likewise.
7404 (xim_close_dpy): Don't free the display info's XIM.
7405
7406 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
7407
7408 * config.in (USE_XIM): New define.
7409
3fc720e4
GM
7410 * keymap.c (get_keyelt): For menu-items containing a `:filter
7411 FILTER', apply FILTER to the menu-item's definition to get the
7412 real definition to use.
7413
7414 * lisp.h (QCfilter): External declaration.
7415
2c69ced2
GM
7416 * xfns.c (Fimage_size): New function.
7417 (syms_of_xfns): Defsubr it.
7418
f978b2a2
AS
74192000-06-26 Andreas Schwab <schwab@suse.de>
7420
7421 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
7422 Fstring_as_unibyte.
7423
94cc7892
DL
74242000-06-25 Dave Love <fx@gnu.org>
7425
52283633 7426 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
7427
7428 * Makefile.in (blockinput.h): Depend on atimer.h.
7429 (atimer.h): Depend on systime.h.
7430
52283633 7431 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 7432
52283633 7433 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
7434
7435 * lisp.h (swap_in_global_binding): Declare.
7436
b8c24556
KR
74372000-06-24 Ken Raeburn <raeburn@gnu.org>
7438
7439 * process.c (Fopen_network_stream): Turn off atimers for duration
7440 of call to connect. (Patch from Gerd.)
7441
8cf8560b
DL
74422000-06-23 Dave Love <fx@gnu.org>
7443
511c7541
DL
7444 * ralloc.c: Maybe include unistd.h
7445
8cf8560b
DL
7446 * emacs.c (setgrp): Undefine before defining.
7447 (malloc_warning, set_time_zone_rule, index): Prototype.
7448
7449 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
7450 HAVE_STRUCT_TIMEZONE.
7451
7452 * s/osf1.h: Move string.h hack here from alpha.h and make it
7453 conditional.
7454 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
7455 _XOPEN_SOURCE.
7456 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
7457 (SOCKLEN_TYPE): Don't define.
7458
7459 * m/alpha.h: Remove string.h hack.
7460
7461 * s/osf5-0.h: New file.
7462
7463 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
7464 include time.h, done by systime.h.
7465 [__FreeBSD__]: Remove redundant includes.
7466
3fc720e4 7467 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
7468 (delete_temp_file): Return Qnil to avoid warning.
7469
7470 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
7471
7472 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
7473 HAVE_X_WINDOWS.
7474
7475 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
7476
7477 * composite.h (compose_text): Declare.
7478
7479 * xterm.c: Don't include sys/types.h unconditionally. Don't
7480 protect its inclusion with !USG (following xmenu.c).
7481
ea055732
GM
74822000-06-23 Gerd Moellmann <gerd@gnu.org>
7483
7484 * xfns.c (x_create_tip_frame): Initialize frame's colors like
7485 in x_create_frame.
7486
74b01b80
EZ
74872000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
7488
7489 * coding.c (decode_eol_post_ccl): Special handling for undecided
7490 and inconsistent EOL types.
7491
64f3a166
GM
74922000-06-22 Gerd Moellmann <gerd@gnu.org>
7493
16cf31f7
GM
7494 * xrdb.c (x_load_resources): Add default resource for scroll bar's
7495 trough color and main window's background color.
7496
52283633 7497 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
7498
7499 * xterm.h (Xt_app_con): External declaration.
7500
7501 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 7502
486a103d
GM
7503 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
7504
64f3a166
GM
7505 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
7506 (handle_invisible_prop): Record the start of invisible text in
7507 it->add_overlay_start.
7508 (struct overlay_entry): Add member `overlay'.
7509 (handle_overlay_change): Simplify.
7510 (next_overlay_string): After having processed overlay strings at the
7511 end of the buffer, record that fact in
7512 it->overlay_strings_at_end_processed_p.
7513 (compare_overlay_entries): If before- and after-strings come
7514 from the same overlay, let before-strings come first.
7515 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
7516 (load_overlay_strings): Take it->add_overlay_start into account
7517 when adding overlay strings.
7518
7519 * dispextern.h (struct it): Add member add_overlay_start.
7520
bb746ea6
DL
75212000-06-22 Dave Love <fx@gnu.org>
7522
7523 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
7524
7525 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
7526
a8f573f3
KH
75272000-06-22 Kenichi Handa <handa@etl.go.jp>
7528
7529 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
7530 is greater than 0.
7531
9f2bbc92
DL
75322000-06-21 Dave Love <fx@gnu.org>
7533
178c5d9c 7534 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 7535
3ee5041c
SM
75362000-06-21 Stefan Monnier <monnier@cs.yale.edu>
7537
7538 * syntax.c (back_comment): Simplify string-parity counting (with
7539 the added benefit of handling multiple string-styles as long as
7540 they are not intertwined).
7541 Jump to the slow code as soon as a comment starter is found in
7542 a "string_lossage" position. Fixes the case: " /* " /* " */.
7543
4c343001
DL
75442000-06-21 Dave Love <fx@gnu.org>
7545
7546 * Makefile.in: Use GETLOADAVG_LIBS.
7547
7548 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
7549 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
7550
e6365855
SM
75512000-06-20 Stefan Monnier <monnier@cs.yale.edu>
7552
7553 * syntax.c (describe_syntax): Recognize the `n'estable bit.
7554 (Fforward_comment, scan_lists):
7555 Check the comstyle of single-char comment-starters.
7556 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
7557 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
7558 Check the comstyle of single-char comment-starters.
7559 Clarify control-flow around the Scomment case.
e6365855 7560
5700d2cc
DL
75612000-06-20 Dave Love <fx@gnu.org>
7562
d355bd8a
SM
7563 * fns.c (make_hash_table, maybe_resize_hash_table):
7564 Cast arg of next_almost_prime.
5700d2cc 7565
178c5d9c 7566 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
7567
7568 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
7569 and unistd.h.
7570
4a27bdfb
GM
75712000-06-20 Gerd Moellmann <gerd@gnu.org>
7572
a61d762c 7573 * keyboard.c (adjust_point_for_property): Check if display
52283633 7574 property should be treated as intangible by looking at its value.
a61d762c 7575
178c5d9c 7576 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
7577 (display_prop_intangible_p): New functions.
7578
7579 * dispextern.h (display_prop_intangible_p): Add prototype.
7580
7581 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 7582
4a27bdfb
GM
7583 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
7584 argument to sigprocmask.
7585
7586 * s/sco5.h (sigblock): Redefined to pass a pointer as second
7587 argument to sigprocmask.
7588
7589 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
7590 sigprocmask_set, and pass a pointer to it to sigprocmask.
7591
7592 * sysdep.c (sigprocmask_set): New variable.
7593
7594 * fileio.c (make_temp_name): Don't use `%s' in string passed to
7595 report_file_error.
7596
427ec082
SS
75972000-06-20 Sam Steingold <sds@gnu.org>
7598
7599 * xrdb.c: Don't declare xmalloc, xrealloc.
7600
8972fe79 76012000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
7602
7603 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
7604 (re_comp): Cast gettext return value to avoid complaints when
7605 !HAVE_LIBINTL.
7606
074b6efe
DL
76072000-06-20 Dave Love <fx@gnu.org>
7608
52283633 7609 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 7610
5700d2cc 7611 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 7612
d355bd8a 7613 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
7614
7615 * m/alpha.h: Don't declare xmalloc, xrealloc.
7616
0af4f205
DL
7617 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
7618
7619 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
7620
7621 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
7622
7623 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
7624 HAVE_GETWD.
7625
074b6efe
DL
7626 * keyboard.h (poll_for_input_1): Declare.
7627
7628 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
7629
7630 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
7631
7632 * doprnt.c: Don't declare xmalloc, xrealloc.
7633
7634 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
7635 (getenv, ctime, getwd): Removed.
7636 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
7637
7638 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
7639 x_set_tool_bar_lines.
7640
7641 * config.in: Add HAVE_GETWD. Move some definitions above
7642 machine/system includes.
7643
68a5e97b
KH
76442000-06-20 Kenichi Handa <handa@etl.go.jp>
7645
95417e1e
KH
7646 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
7647
68a5e97b
KH
7648 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
7649 contain information about ENCODING.
7650
7651 * fontset.c (FONTSET_ASCII): Use the first element of char table
7652 for an ASCII font, not defalt slot.
7653 (fontset_ref_via_base): If FONTSET doesn't contain information for
7654 C, try the default fontset.
7655 (make_fontset): Don't copy the default fontset.
7656 (fontset_font_pattern): Likewise.
7657 (accumulate_font_info): If ELT is nil, use the corresponding
7658 element in the default fontset.
7659
3b4fa1b2
DL
76602000-06-19 Dave Love <fx@gnu.org>
7661
943e731c
DL
7662 * syntax.c (Fparse_partial_sexp): Doc fix.
7663
7664 * regex.h: Test PROTOTYPES as well as __STDC__.
7665
3b4fa1b2
DL
7666 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
7667 errno, strerror. Put text after #endif in comment.
7668
52283633 7669 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
7670
7671 * xterm.c (x_frame_of_widget): Likewise.
7672
cdf0357b
GM
76732000-06-19 Gerd Moellmann <gerd@gnu.org>
7674
7675 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
7676 to Vfundamental_mode_abbrev_table.
7677
7678 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
7679 bogus objects are marked. This slows down GC by ~80 percent, but
7680 it might be worth trying when debugging GC-related problems.
7681 This feature requires conservative stack marking to be enabled.
7682
7683 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
7684 returns XLookupChars, reset `modifiers' to zero.
7685
998e9f8c
DL
76862000-06-19 Dave Love <fx@gnu.org>
7687
7688 * mktime.c: Unprotoized.
7689
18e21ce8 76902000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
7691
7692 * data.c (set_internal): If variable is frame-local,
7693 store the new value immediately into the frame parameter alist.
7694
140c4ac6
KR
76952000-06-19 Ken Raeburn <raeburn@gnu.org>
7696
14358466
KR
7697 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
7698 in the custom handler pointer.
7699
140c4ac6
KR
7700 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
7701 value, or checks for CHAR_META can fail when Lisp_Object is a
7702 union type.
7703 * keymap.c (get_keyelt): Likewise.
7704
10d7bf84
KH
77052000-06-19 Kenichi Handa <handa@etl.go.jp>
7706
7707 * ccl.h (struct ccl_program): New member eol_type.
7708 (struct ccl_spec): New member cr_carryover.
7709
7710 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
7711 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
7712
7713 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
7714 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
7715 (decode_eol_post_ccl): New function.
7716 (decode_coding): Don't detect EOL format here for CCL based coding
7717 systems.
7718 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
7719 decode_eol_post_ccl after running the CCL program.
7720 (code_convert_region): Don't detect EOL format here for CCL based
7721 coding systems.
7722 (decode_coding_string): Likewise.
7723
52e386c2
KR
77242000-06-18 Ken Raeburn <raeburn@gnu.org>
7725
7726 * charset.c (update_charset_table): Use XINT on "iso_final_char"
7727 when treating it as an integer.
7728
7729 * coding.h (encode_coding_string): Declare.
7730
7731 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
7732 it as an integer.
7733
7734 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
7735 "xkeymap" to avoid shadowing the "enum map_type" value that needs
7736 to be passed to get_local_map.
7737
7738 * sound.c (Fplay_sound): Don't call make_number on
7739 Frun_hook_with_args count argument.
7740
7741 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
7742 for lisp objects in X event structure data field, when lisp
7743 objects are represented with unions.
7744 (x_scroll_bar_to_input_event): Ditto.
7745
b357b9d4
KR
77462000-06-16 Ken Raeburn <raeburn@gnu.org>
7747
7748 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
7749 termination of string. Fix sense of test whether
7750 Vline_number_display_limit is an integer.
b357b9d4 7751
a871441d
GM
77522000-06-16 Gerd Moellmann <gerd@gnu.org>
7753
a9021acd
GM
7754 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
7755 only if HAVE_X_WINDOWS.
7756
6344985d
GM
7757 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
7758 of titles.
7759
427ec082 7760 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
7761 out of bounds.
7762
228b083e
EZ
77632000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
7764
7765 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
7766 of its headers.
7767
c25b53a2
KH
77682000-06-15 Kenichi Handa <handa@etl.go.jp>
7769
7770 * coding.c (decode_coding_emacs_mule): Always set src_base at the
7771 start of the while loop.
7772
a6981b11
GM
77732000-06-15 Gerd Moellmann <gerd@gnu.org>
7774
e9924e52
GM
7775 * atimer.c (alarm_signal_handler): Add forward declaration.
7776
a6981b11
GM
7777 * data.c (set_internal): Remove debug code.
7778
25fa6deb
GM
77792000-06-14 Gerd Moellmann <gerd@gnu.org>
7780
dce6b995
GM
7781 * Makefile.in (bootstrap-temacs): Add `-I../src'.
7782
9f817ea4
GM
7783 * unexec.c (toplevel) [COFF]: Include coff.h.
7784
7785 * s/lynxos.h: New file.
7786
7787 * keymap.c (Fsingle_key_description): Enclose function key and
7788 event symbol names in angle brackets.
7789
8a4e3c0c
GM
7790 * xdisp.c (setup_echo_area_for_printing): Call
7791 message_log_maybe_newline if message_buf_print is not set.
7792
7793 * print.c (printchar, strout): Don't check message_buf_print
427ec082 7794 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
7795 function does something useful even when message_buf_print is
7796 already set.
7797
52283633
SM
7798 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
7799 New variables.
25fa6deb
GM
7800 (ensure_echo_area_buffers): Initialize echo buffer's
7801 truncate lines setting to nil.
7802 (with_echo_area_buffer): Don't set the echo buffer's truncate
7803 lines setting here.
8a4e3c0c 7804 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
7805 of message_truncate_lines.
7806 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
7807 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
7808 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
7809
7810 * keyboard.c (read_char): Bind message-truncate-lines to t
7811 while displaying a help-echo.
7812
7813 * lisp.h (Qmessage_truncate_lines): External declaration.
7814
163dcff3
GM
78152000-06-13 Gerd Moellmann <gerd@gnu.org>
7816
1681ead6
GM
7817 * xdisp.c (Vline_number_display_limit): Renamed from
7818 line_number_display_limit.
7819 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
7820 Extend documentation string. Initialize
7821 Vline_number_display_limit to nil meaning no limit.
7822 (decode_mode_spec): Use Vline_number_display_limit with its new
7823 meaning.
7824
163dcff3
GM
7825 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
7826
18e21ce8 78272000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
7828
7829 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 7830
163dcff3
GM
7831 * xfns.c (x_set_frame_parameters): Comment fix.
7832
7833 * frame.c (store_frame_param): Call swap_in_global_binding if the
7834 variable's current binding was chosen based on this frame.
7835
7836 * data.c (swap_in_global_binding): New function.
7837
a704139d
EZ
78382000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
7839
7840 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
7841 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
7842
9b6610db
EZ
78432000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
7844
7845 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
7846
c68833d2
JR
78472000-06-12 Jason Rumney <jasonr@gnu.org>
7848
7849 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
7850
7851 * w32.h (EMACS_W32_H): Renamed from _NT_H_
7852
7853 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
7854
7855 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
7856
ed1056b3
GM
78572000-06-12 Gerd Moellmann <gerd@gnu.org>
7858
7859 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
7860 (syms_of_xfaces): Defsubr Sdump_colors.
7861 (x_free_colors): Don't treat b&w specially on default visual.
7862 (x_free_dpy_colors): New function.
7863 (free_face_colors): Don't check visual class; it's done
7864 in x_free_colors.
7865
7866 * xterm.c (x_frame_of_widget): New function.
7867 (x_alloc_nearest_color_for_widget): Use it.
7868 (x_copy_dpy_color): New function.
7869 (x_destroy_window): Free various colors.
7870
5050a2ef
KH
78712000-06-12 Kenichi Handa <handa@etl.go.jp>
7872
7873 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
7874
7875 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
7876
7877 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
7878
7879 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
7880
7881 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
7882
fb1b041d
DL
78832000-06-11 Dave Love <fx@gnu.org>
7884
7885 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
7886
ff96b5f4
EZ
78872000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
7888
7889 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
7890
db8eeecd
GM
78912000-06-11 Gerd Moellmann <gerd@gnu.org>
7892
ed1056b3 7893 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
7894 to `XEvent *'.
7895
49b71c5f
KH
78962000-06-10 Kenichi Handa <handa@etl.go.jp>
7897
c479bd55
KH
7898 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
7899 (regex_compile): Fix the code for handling the case of single byte
7900 char and multibyte char being mixed in a range within [...].
7901
ff6a65c2
KH
7902 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
7903 and dst_multibyte members of coding.
7904
49b71c5f
KH
7905 * charset.c (update_charset_table): Update the table
7906 bytes_by_char_head.
7907 (init_charset_once): Initialize elements of bytes_by_char_head to
7908 1 except for leading codes for private charases.
7909
7910 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 7911 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 7912
9e80b57d
KR
79132000-06-09 Ken Raeburn <raeburn@gnu.org>
7914
7915 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
7916 access the data it doesn't point to.
7917
f83fe4b4
GM
79182000-06-08 Gerd Moellmann <gerd@gnu.org>
7919
7920 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 7921 will be translated to a switch-frame event when reading the
f83fe4b4
GM
7922 event queue. This is necessary because Emacs otherwise won't
7923 perform a switch-frame to a new frame until some other event, for
7924 example a keystroke event, forces it to do so. This has various
7925 effects, one visible being that the cursor of a frame created with
7926 C-x 5 2 or switched to with a window manager key binding like
7927 A-TAB stays hollow because selected_window isn't on the newly
7928 focused frame until the switch-frame is performed.
7929
7930 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
7931 generating a switch-frame event if necessary.
7932
7933 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
7934
7935 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
7936 it's an integer.
7937
0890801b
KH
79382000-06-08 Kenichi Handa <handa@etl.go.jp>
7939
52283633 7940 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 7941
173cbca8
GM
79422000-06-07 Gerd Moellmann <gerd@gnu.org>
7943
3091c2a6
GM
7944 * window.c (displayed_window_lines): Take empty lines at
7945 the bottom of a window into account.
427ec082 7946
f38952fe
GM
7947 * window.c (displayed_window_lines): New function.
7948 (Fmove_to_window_line): Use displayed_window_lines to determine
7949 the number of lines to move, instead of using the window's height.
7950
7951 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
7952 to stop reading, even if the form read sets point to a different
7953 value when evaluated.
7954
427ec082 7955 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
7956 put the cursor.
7957
6ba6c818
KH
79582000-06-07 Kenichi Handa <handa@etl.go.jp>
7959
7960 * fileio.c (e_write): Free composition data if stored in
7961 coding->cmp_data.
7962
5f1aea9a
GM
79632000-06-06 Gerd Moellmann <gerd@gnu.org>
7964
666852af
GM
7965 * xdisp.c (display_line): Set row's and iterator's
7966 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
7967 Set cursor even if row ends in the middle of a character.
7968 (dump_glyph_row): Print values of new flags.
7969 (redisplay_window) <cursor movement in unchanged window>: When
7970 point has been moved forward, and PT is at the end of the cursor
7971 row, don't place the cursor in the next row if the cursor row ends
7972 in the middle of a character or at ZV.
7973
7974 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
7975 (struct glyph_row): Add starts_in_middle_of_char_p and
7976 ends_in_middle_of_char_p.
7977 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
7978 ends_in_middle_of_char_p flag.
7979 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
7980
d13f3e2e
GM
7981 * term.c (append_glyph): Revert change of 2000-06-06.
7982
7983 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
7984 padding glyph not fitting on line as whole character not
7985 fitting on line.
7986
5f1aea9a
GM
7987 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
7988 this isn't true for images with `:ascent 100'.
7989
10cda9b0
KH
79902000-06-06 Kenichi Handa <handa@etl.go.jp>
7991
ed00559d
KH
7992 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
7993 as modified if it is originally unmodified.
7994
10cda9b0
KH
7995 * term.c (encode_terminal_code): Change the way to check if
7996 terminal coding does any conversion.
7997 (append_glyph): Set glyph->pixel_width correctly.
7998
7999 * xdisp.c (display_line): While checking line continuation, pay
8000 attention to a padding glyph.
8001
1969fae2
GM
80022000-06-05 Gerd Moellmann <gerd@gnu.org>
8003
8004 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
8005
162ccef4
DL
80062000-06-05 Dave Love <fx@gnu.org>
8007
f19f32dd
DL
8008 * xdisp.c: Include fontset.h.
8009
8010 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
8011
8012 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
8013
8014 * dispnew.c: Conditionally include term.h.
8015
8016 * coding.h: Declare code_convert_string_norecord.
8017
8018 * frame.h (struct frame): Use volatile unconditionally.
8019
8020 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
8021
8022 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
8023
8024 * systime.h: Protect against multiple inclusion.
8025 (timezone) [USG5_4]: Define as time_t.
8026
8027 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
8028 (Foptimize_char_table, make_temp_name): Declare.
8029
8030 * Makefile.in (xdisp.o): Depend on fontset.h.
8031
8032 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
8033
8034 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
8035 (Foptimize_char_table, make_temp_name): Declare.
8036
427ec082 8037 * s/irix4-0.h:
162ccef4
DL
8038 * s/irix5-0.h:
8039 * s/netbsd.h: Don't define autoconfiscated MATHERR.
8040
2082fe81
DL
80412000-06-02 Dave Love <fx@gnu.org>
8042
8043 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
8044
dcf671d2
GM
80452000-06-02 Gerd Moellmann <gerd@gnu.org>
8046
8047 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 8048 result face, set flags in that face indicating that colors may not
dcf671d2
GM
8049 be freed.
8050
8051 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
8052 glyph, use the ASCII NUL character to determine the face.
8053
d42122a3
DL
80542000-06-02 Dave Love <fx@gnu.org>
8055
8056 * sysdep.c: Conditionally include stdlib.h, unistd.h.
8057 (VFORK_RETURN_TYPE): Remove.
427ec082 8058
d42122a3
DL
8059 * config.in: Add NO_MATHERR.
8060
dd432f16
DL
80612000-06-01 Dave Love <fx@gnu.org>
8062
90aa4ea8
DL
8063 * cmds.c (internal_self_insert): Don't check
8064 Vbefore_change_function, Vafter_change_function.
8065
8066 * insdel.c (signal_before_change, signal_after_change): Likewise.
8067
8068 * buffer.c (Vbefore_change_function, Vafter_change_function):
8069 Variables and their initializations deleted.
8070
2330c9d4
DL
8071 * callint.c (Fcall_interactively): Doc fix.
8072
dd432f16
DL
8073 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
8074
bf9e8804
DL
80752000-05-31 Dave Love <fx@gnu.org>
8076
8077 * textprop.c: Revert last change -- duplicated.
8078
3694b4ab
GM
80792000-05-31 Gerd Moellmann <gerd@gnu.org>
8080
8081 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
8082 in #if 0.
8083
8084 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
8085
f14156cd
JR
80862000-05-31 Jason Rumney <jasonr@gnu.org>
8087
8119aab8
JR
8088 * search.c (Fre_search_forward, Fre_search_backward)
8089 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
8090
f14156cd
JR
8091 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
8092
4aab9be3
JR
80932000-05-30 Jason Rumney <jasonr@gnu.org>
8094
8095 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
8096 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
8097
52283633 8098 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
8099
8100 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
8101 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
8102 expand a nil default_filename.
8103
8104 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
8105 pointer to glyph_to_pixel_coords, not a frame.
8106
8107 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
8108 coding.h to dependencies.
8109
8110 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
8111
8112 * w32console.c (glyph_to_pixel_coords): Change first parameter to
8113 window pointer to be consistent with w32term.c and xterm.c.
8114
8115 * w32fns.c: Format and doc changes to bring closer to xfns.c.
8116 (VIETNAMESE_CHARSET): Define if not defined in system headers.
8117 (Qline_spacing, Qcenter): New variables.
8118 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
8119 (x_set_line_spacing): New function.
52283633 8120 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
8121 (x_specified_cursor_type): New function.
8122 (x_set_cursor_type): Use it.
8123 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
8124 and icon strings.
8125 (validate_x_resource_name, x_get_resource_string): Measure lengths
8126 of external strings in bytes.
8127 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
8128 GetTextExtentPoint32 with NULL title.
8129 (Fx_create_frame): Initialize Qline_spacing.
8130 (w32_load_system_font): Initialize font->double_byte_p.
8131 (x_to_w32_charset): Use Vw32_charset_info_alist.
8132 (Image, busy cursor, tooltip functions): Merged changes from
8133 xfns.c. Not yet functional on Windows.
8134
8135 * w32gui.h (W32FontStruct): Add double_byte_p member.
8136
8137 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
8138 (emacs_button_translation): Use it.
8139 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
8140 in `mask' to be set.
8141
8142 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
8143 menu strings.
8144
8145 * w32term.c: Format and doc changes to bring closer to xterm.c.
8146 (w32_char_font_type): New enum.
8147 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
8148 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
8149 (w32_encode_char): New function.
8150 (x_encode_char): Removed.
8151 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
8152 x_encode_char and w32_font_is_double_byte.
8153 (x_produce_image_glyph): Use image_ascent.
8154 (x_produce_glyphs): Use new version of w32_per_char_metric and
8155 handle NULL return value. Allow extra line spacing.
8156 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
8157 (w32_get_glyph_overhangs): Remove unicode_p param. Use
8158 w32_font_type member of glyph instead.
8159 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
8160 (fast_find_position): Make sure not to consider rows not visible
8161 in the window.
8162 (w32_read_socket) [WM_MENUSELECT]: Cannot call
8163 w32_menu_display_help with input blocked, as it can abort.
8164 (x_display_and_set_cursor): Choose cursor depending
8165 on buffer-local value of cursor_type.
8166 (x_draw_bar_cursor): Add parameter WIDTH.
8167
8168 * w32term.h (CP_DEFAULT): Define.
8169 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
8170
10fc3187
GM
81712000-05-30 Gerd Moellmann <gerd@gnu.org>
8172
8173 * search.c (Fre_search_forward, Fre_search_backward)
8174 (Fposix_search_backward, Fposix_search_forward): Doc fix.
8175
d0555360
KH
81762000-05-30 Kenichi Handa <handa@etl.go.jp>
8177
8178 * coding.c (detect_coding_iso2022): Fix code for checking
8179 CODING_CATEGORY_MASK_ISO_8_2.
8180
f1ad044f
SM
81812000-05-29 Stefan Monnier <monnier@cs.yale.edu>
8182
8183 * regex.c (PREFETCH_NOLIMIT): New function.
8184 (re_match_2_internal): Use it and adjust the end_match_2 logic.
8185
84ec3b4b
GM
81862000-05-29 Gerd Moellmann <gerd@gnu.org>
8187
66254a13
GM
8188 * syntax.c (find_defun_start): Move test for
8189 open_paren_in_column_0_is_defun_start outside of the loop.
8190
49e70dec
GM
8191 * xdisp.c (redisplay_window): Really switch buffers when
8192 displaying mode lines, and temporarily set selected_frame to the
8193 frame of the window that's redisplayed.
8194
84ec3b4b
GM
8195 * xfaces.c (free_realized_faces): Block/unblock input.
8196 (free_realized_multibyte_face): Ditto.
8197
869a3a14
DL
81982000-05-29 Dave Love <fx@gnu.org>
8199
8200 * textprop.c (Qkeymap): New variable.
8201 (syms_of_textprop): Intern it.
8202
8203 * keymap.c: Include intervals.h.
8204 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
8205
8206 * Makefile.in (keymap.o): Depend on intervals.h.
8207
8208 * keyboard.c (menu_bar_items, tool_bar_items)
8209 (Fexecute_extended_command): Deal with `keymap' property.
8210 (read_key_sequence): Track map from `keymap' property as well as
8211 `local_map'.
8212
8213 * intervals.c (get_local_map): Extra arg to allow looking for
8214 `keymap' too.
8215
8216 * intervals.h (map_property): New enum.
8217 (get_local_map): Extra arg using it.
8218 (Qkeymap): Declare.
8219
84ec3b4b 8220 * lisp.h (get_local_map): Don't declare here.
869a3a14 8221
89d0c844
KH
82222000-05-29 Kenichi Handa <handa@etl.go.jp>
8223
8224 * Makefile.in (callproc.o): Depend on composite.h.
8225
8226 * callproc.c: Include composite.h.
8227 (Fcall_process): Handle composition correctly.
8228
8229 * coding.h (coding_allocate_composition_data): Extern it.
8230 (coding_restore_composition): Likewise.
8231
8232 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
8233 yet allocated, finish decoding with result
8234 CODING_FINISH_INSUFFICIENT_CMP.
8235 (coding_allocate_composition_data): Make it non-static.
8236 (coding_restore_composition): Likewise.
8237
797a084a
EZ
82382000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
8239
8240 * charset.c (syms_of_charset): Revert last change.
8241
cf872af5
EZ
82422000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8243
8244 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
8245 charsets as unibyte, with 1-column screen width. Sent by Kenichi
8246 Handa.
cf872af5 8247
5b1ae051
EZ
82482000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8249
8250 * charset.c (syms_of_charset): Set width of character sets
8251 eight-bit-control and eight-bit-graphic to 1 column.
8252
34ec9ebe
GM
82532000-05-26 Gerd Moellmann <gerd@gnu.org>
8254
8255 * config.in (HAVE_SPEED_T): New define.
8256
8257 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
8258 `extern speed_t'.
8259
dd854dc2
DL
82602000-05-26 Dave Love <fx@gnu.org>
8261
8262 * coding.c (shrink_decoding_region): Initialize eol_conversion.
8263
8264 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
8265 (Fsubr_arity): New function.
8266 (syms_of_data): Install them.
8267
ba9f8f95
KH
82682000-05-26 Kenichi Handa <handa@etl.go.jp>
8269
0f3e0672
KH
8270 * charset.c (init_charset_once): Set the table bytes_by_char_head
8271 correctly.
8272
cebefb44
KH
8273 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
8274 the default fontset to what Emacs uses by default.
0f3e0672
KH
8275 (check_registry_encoding): This function deleted.
8276 (Fset_fontset_font): Remove the adhoc condition for the default
8277 fontset. Allow cons in FONTNAME.
cebefb44 8278
0f3e0672
KH
8279 * fns.c (map_char_table): Ignore char-table entries for
8280 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 8281
7a18af49
KR
82822000-05-25 Ken Raeburn <raeburn@gnu.org>
8283
8284 * emacs.c (main): Initialize keyboard syms before initializing
8285 window code, so face names are available.
8286
d2af47df
SM
82872000-05-25 Stefan Monnier <monnier@cs.yale.edu>
8288
8289 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
8290 of an anchor at the beginning of a shy-group.
8291
fc6a6a4e
GM
82922000-05-25 Gerd Moellmann <gerd@gnu.org>
8293
8294 * xdisp.c (handle_invisible_prop): Don't try to skip over
8295 invisible text if end of text is already reached.
8296
005f0d35
DL
82972000-05-25 Dave Love <fx@gnu.org>
8298
02513cdd
DL
8299 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
8300
005f0d35
DL
8301 * coding.c (encode_eol): Add null statement after label.
8302
89f6ca4e
EZ
83032000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
8304
8305 * w16select.c (Fw16_set_clipboard_data): Fix the change from
8306 2000-05-20.
8307
a4e1759e
KH
83082000-05-25 Kenichi Handa <handa@etl.go.jp>
8309
8310 * ccl.c (ccl_driver): Fix previous change.
8311
eacfd7fe
KH
83122000-05-25 Kenichi Handa <handa@etl.go.jp>
8313
46ab33a9
KH
8314 * coding.c (run_pre_post_conversion_on_str): Set point to the
8315 beginning of buffer before calling coding->post_read_conversion.
8316 (decode_coding_string): Give correct args to
8317 run_pre_post_conversion_on_str.
8318 (encode_coding_string): Likewise.
8319
eacfd7fe
KH
8320 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
8321 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
8322 eight-bit-graphic correctly.
8323
f8569325
DL
83242000-05-24 Kenichi HANDA <handa@etl.go.jp>
8325
8326 * fileio.c (Finsert_file_contents): Even if a file is not found,
8327 execute codes for setting up coding system. Call
8328 after-insert-file-functions unconditionally.
8329
04545643
GM
83302000-05-24 Gerd Moellmann <gerd@gnu.org>
8331
8332 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
8333 BSD_PGRPS are not defined.
8334
747d90ea
KH
83352000-05-24 Kenichi Handa <handa@etl.go.jp>
8336
8337 * charset.c (update_charset_table): Accept nil in LONG_NAME and
8338 DESCRIPTION.
8339 (syms_of_charset): Avoid building same strings.
8340
716e3b88
GM
83412000-05-23 Gerd Moellmann <gerd@gnu.org>
8342
8343 * lread.c (Fload): Add a comment about the meaning of
8344 Vuser_init_file being t.
8345
8346 * puresize.h (BASE_PURESIZE): Increase to 675000.
8347
8348 * s/gnu-linux.h (setpgrp): Don't define it here because this
8349 prevents compilation on GNU/Linux systems with glib 2.2.
8350
8351 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
8352 as setpgid.
427ec082 8353
9aeb39fa
EZ
83542000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
8355
8356 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
8357 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
8358 version.
8359 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
8360
29ced61b
KH
83612000-05-23 Kenichi Handa <handa@etl.go.jp>
8362
52283633 8363 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 8364
3d80f24d
KH
8365 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
8366
52283633 8367 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 8368
29ced61b
KH
8369 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
8370
d7e00792
KH
83712000-05-22 Kenichi Handa <handa@etl.go.jp>
8372
c9d80d38
KH
8373 * keyboard.c (read_char): Allow character codes 128..255 to be
8374 handled by input-method-function.
8375
d7e00792
KH
8376 * insdel.c (adjust_markers_for_replace): Fix previous change.
8377 (adjust_after_replace): If PREV_TEXT is nil, call
8378 adjust_markers_for_insert, not adjust_markers_for_replace.
8379
087121cc 83802000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 8381
087121cc
GM
8382 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
8383 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
8384 [HAVE_GRANDPT]: Define.
8385 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
8386
8387 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
8388 like SYSV_PTYS.
8389
8390 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
8391
8392 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
8393
c9671f81
KH
83942000-05-20 Kenichi Handa <handa@etl.go.jp>
8395
8396 The following changes are to handle 8-bit characters in a
8397 multibyte buffer/string without facing with byte combining
8398 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
8399 eight-bit-graphic (for 0xA0..0xFF) are introduced.
8400
8401 * Makefile.in (fns.o): Depend on charset.h.
8402
8403 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
8404 convert it to unibyte.
8405 (make_string): Use parse_str_as_multibyte, not chars_in_text.
8406
8407 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
8408 apparent char boundary.
8409 (Fset_buffer_multibyte): Convert 8-bit characters in the range
8410 0x80..0x9F to/from multibyte form.
8411
8412 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
8413 to unibyte.
8414
8415 * callproc.c (Fcall_process): Always encode an argument string if
8416 it is multibyte. Setup src_multibyte and dst_multibyte members of
8417 process_coding properly.
ce75fd23 8418
c9671f81
KH
8419 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
8420 SPLIT_NON_ASCII_CHAR.
8421
8422 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
8423 as is.
8424 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
8425
52283633 8426 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 8427 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 8428 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
8429 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
8430 and eight-bit-graphic.
8431 (char_to_string): Likewise. Signal an error for too large
8432 character code.
8433 (char_printable_p): Return 0 for 8-bit characters.
8434 (update_charset_table): Update iso_charset_table only when a final
8435 character is non-negative.
8436 (find_charset_in_text): Renamed from find_charset_in_str.
8437 Arguments and return value changed. Callers changed.
8438 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
8439 be -1 if CHARSET is used only internally.
8440 (Fmake_char_internal): Handle new charsets; eight-bit-control and
8441 eight-bit-graphic.
8442 (Fcharset_after): Simplified.
8443 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
8444 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
8445 (multibyte_chars_in_text): Simplified by assuming there's no
8446 invalid multibyte sequence.
52283633
SM
8447 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
8448 (str_as_unibyte): New functions.
8449 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
8450 (init_charset_once): Initialization for
8451 LEADING_CODE_8_BIT_CONTROL.
8452 (syms_of_charset): Intern and staticpro Qeight_bit_control and
8453 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
8454 eight-bit-control and eight-bit-graphic.
8455
52283633
SM
8456 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
8457 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
8458 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
8459 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
8460 (CHARSET_REVERSE_CHARSET): Likewise.
8461 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
8462 eight-bit-graphic.
8463 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
8464 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
8465 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
8466 encounter an invalid multibyte sequence.
8467 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
8468 sequence is always valid.
8469 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 8470 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
8471 (CHAR_STRING): For 8-bit characters, call char_to_string.
8472 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
8473 multibyte sequence is always valid.
8474 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
8475 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
8476 (str_as_unibyte): Extern them.
c9671f81 8477 (BCOPY_SHORT): Fix a bug.
52283633 8478 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
8479 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
8480 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
8481 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
8482
bd4bde7f 8483 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 8484 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
8485 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
8486 (EMIT_BYTES): New macros.
8487 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
8488 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
8489 macros deleted.
8490 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
8491 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
8492 check the validity of multibyte sequence.
8493 (decode_coding_emacs_mule): New function.
8494 (encode_coding_emacs_mule): New macro.
8495 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
8496 the source.
8497 (DECODE_ISO_CHARACTER): Just return a character code.
8498 (DECODE_COMPOSITION_START): Set coding->result instead of result.
8499 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
8500 EMIT_CHAR to produced decoded characters. Exit the loop only by
8501 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
8502 block here.
8503 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
8504 only position codes for an invalid character.
8505 (encode_designation_at_bol): Return new destination pointer. 5th
8506 arg DSTP is changed to DST.
8507 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
8508 from the source by ONE_MORE_CHAR. Don't handle the case of last
8509 block here.
8510 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
8511 macros deleted.
52283633
SM
8512 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
8513 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
8514 TWO_MORE_BYTES to fetch a byte from the source.
8515 (encode_eol): Pay attention to coding->src_multibyte.
8516 (detect_coding, detect_eol): Preserve members src_multibyte and
8517 dst_multibyte.
8518 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
8519 (encoding_buffer_size): Set magnification to 3 for all coding
8520 systems that require encoding.
8521 (ccl_coding_driver): For decoding, be sure that the result is
8522 valid multibyte sequence.
8523 (decode_coding): Initialize coding->errors and coding->result.
8524 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
8525 and raw-text, always call decode_eol. Handle the case of last
8526 block here. If not coding->dst_multibyte, convert the resulting
8527 sequence to unibyte.
8528 (encode_coding): Initialize coding->errors and coding->result.
8529 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
8530 and raw-text, always call encode_eol. Handle the case of last
8531 block here.
8532 (shrink_decoding_region, shrink_encoding_region): Detect cases
8533 that we can't skip data more rigidly.
8534 (code_convert_region): Setup src_multibyte and dst_multibyte
8535 members of coding. For decoding, if the buffer is multibyte,
8536 convert the source sequence to unibyte in advance. For encoding,
8537 if the buffer is multibyte, convert the resulting sequence to
8538 multibyte afterward.
8539 (run_pre_post_conversion_on_str): New function.
8540 (code_convert_string): Deleted and divided into the following two.
8541 (decode_coding_string, encode_coding_string): New functions.
8542 (code_convert_string1, code_convert_string_norecord): Call one of
8543 above.
8544 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
8545 MAKE_NON_ASCII_CHAR.
52283633
SM
8546 (Fset_terminal_coding_system_internal)
8547 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
8548 and dst_multibyte members.
8549 (init_coding_once): Initialize iso_code_class with new enum
8550 ISO_control_0 and ISO_control_1.
8551
8552 * coding.h (enum iso_code_class_type): Member ISO_control_code is
8553 devided into ISO_control_0 and ISO_control_1.
8554 (struct coding_system): New members src_multibyte, dst_multibyte,
8555 errors, and result. Delete member fake_multibyte.
8556 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
8557 nonzero.
8558 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
8559 nonzero.
8560
8561 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
8562 (Faset): Likewise.
8563
8564 * editfns.c (Fformat): Be sure to convert 8-bit characters to
8565 multibyte form.
8566 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
8567 combining occurs.
8568 (Ftranspose_region): Delete codes for handling byte combining.
8569
8570 * fileio.c (Finsert_file_contents): Setup src_multibyte and
8571 dst_multibyte members of coding. On handling REPLACE on unibyte
8572 buffer, convert the result of decode_coding to unibyte. On
8573 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 8574 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
8575 multibyteness of the source (buffer or string).
8576
8577 * fns.c (concat): Handle 8-bit characters correctly.
8578 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
8579 unibyte in the result.
8580 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
8581 valid multibyte form in the result.
8582 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
8583 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
8584 return -1, signal an error.
8585 (base64_encode_1): New arg MULTIBYTE. Get each character by
8586 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
8587 character is found, return -1.
8588 (Fbase64_decode_region): Delete codes for handling byte-combining.
8589 Treat each decoded byte as a unibyte character.
8590 (Fbase64_decode_string): Return unibyte string.
8591 (Fcompare_strings, concat, string_byte_to_char): Use
8592 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
8593 FETCH_STRING_CHAR_ADVANCE.
8594 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8595 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
8596
8597 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
8598 SPLIT_NON_ASCII_CHAR.
8599 (fontset_ref_via_base, fontset_set): Likewise
8600
8601 * insdel.c (adjust_markers_for_record_delete): Deleted.
8602 (adjust_markers_for_insert): Argument changed. Caller changed.
8603 (adjust_markers_for_replace): Likewise.
52283633
SM
8604 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
8605 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
8606 (copy_text): Delete unused local varialbe c_save. For converting
8607 to multibyte, be sure to make all 8-bit characters in valid
8608 multibyte form.
8609 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
8610 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
8611 (adjust_after_replace, replace_range, del_range_2)
c9671f81 8612 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
8613 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
8614 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
8615 handling byte combining.
8616 (adjust_before_replace): Deleted.
427ec082 8617
c9671f81
KH
8618 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
8619 SPLIT_NON_ASCII_CHAR.
8620 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 8621 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
8622 (Fkey_description): Likewise.
8623
8624 * lread.c (read1): On reading multibyte string, be sure to make
8625 all 8-bit chararacters in valid multibyte form.
8626 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8627
8628 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
8629 unconditionally.
8630
8631 * process.c (Fstart_process): GCPRO current_dir before calling
8632 Ffind_operation_coding_system. Encode arguments here.
8633 (create_process): Don't encode arguments here. Setup
8634 src_multibyte and dst_multibyte members of struct coding.
8635 (read_process_output): Setup src_multibyte and dst_multibyte
8636 members of struct coding. If the output is to multibyte buffer,
8637 always decode the output of the process. Adjust the
52283633 8638 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
8639 (send_process): Setup coding->src_multibyte according to the
8640 multibyteness of the source.
8641
52283633 8642 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
8643 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
8644 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
8645
52283633 8646 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
8647
8648 * w16select.c (Fw16_set_clipboard_data): Setup members
8649 src_multibyte and dst_multibyte of coding. Adjusted for the
8650 change for find_charset_in_str.
8651 (Fw16_get_clipboard_data): Likewise.
8652
8653 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
8654 dst_multibyte of coding.
8655 (x_to_w32_font): Likewise.
8656
8657 * w32select.c (Fw32_set_clipboard_data): Setup members
8658 src_multibyte and dst_multibyte of coding. Adjusted for the
8659 change for find_charset_in_str.
8660 (Fw32_get_clipboard_data): Likewise.
8661
8662 * xdisp.c (get_next_display_element): Handle 8-bit characters
8663 correctly.
52283633
SM
8664 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
8665 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
8666
8667 * xselect.c (selection_data_to_lisp_data): Setup members
8668 src_multibyte and dst_multibyte of coding. Adjusted for the
8669 change for find_charset_in_str.
8670 (lisp_data_to_selection_data): Likewise.
8671
5f64c9e0
GM
86722000-05-19 Gerd Moellmann <gerd@gnu.org>
8673
52283633 8674 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 8675
5f64c9e0
GM
8676 * dispextern.h (Vimage_types): Add extern declaration.
8677
8678 * xdisp.c (Vimage_types): Moved here from xfns.c.
8679 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
8680
8681 * xfns.c (Vimages_types): Moved to xdisp.c.
8682 (syms_of_xfns): Move `image-types' to xdisp.c.
8683
8684 * w32fns.c (Vimage_types): Removed.
8685 (syms_of_w32fns): Remove `image-types'.
8686
813086ea
KH
86872000-05-18 Kenichi Handa <handa@etl.go.jp>
8688
8689 * fns.c (map_char_table): Pay attention to character number of
8690 charset. Check the validity of charset at the first level. For
8691 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
8692 the default value.
8693
8694 * fontset.c: Include "buffer.h".
8695 (fs_load_font): If the face has fontset, record the face ID in
8696 that fontset.
8697 (Finternal_char_font): New function.
8698 (accumulate_font_info): New function.
8699 (Ffontset_info): Rewritten for the new fontset implementation.
8700 (syms_of_fontset): Register Vdefault_fontset in the first element
8701 of Vfontset_table. Include Vdefault_fontset in
8702 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
8703 function.
8704
bdaebbf0
DL
87052000-05-16 Dave Love <fx@gnu.org>
8706
8707 * m/iris5d.h: Deleted -- unused.
8708
cb613bb8
GM
87092000-05-16 Gerd Moellmann <gerd@gnu.org>
8710
b15f3b77
GM
8711 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
8712 `invalid' instead of `illegal'.
8713
8714 * indent.c (Fmove_to_column): When ending within a tab, insert
8715 spaces first so that markers at the end of the tab get adjusted.
8716
835c1b36
GM
8717 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
8718 buffer list that wasn't selected in that frame.
8719
cb613bb8
GM
8720 * filelock.c (get_boot_time): To obtain an 8 char file name, which
8721 is needed on mescaline, use a 2 char prefix, and call
8722 make_temp_name with second arg non-zero.
8723
8724 * fileio.c (make_temp_name): New function, extracted from
8725 Fmake_temp_name.
8726 (Fmake_temp_name): Use it.
8727
f685bea9
EZ
87282000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
8729
52283633 8730 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 8731
a1b8d58b
GM
87322000-05-15 Gerd Moellmann <gerd@gnu.org>
8733
8734 * Makefile.in (lisp): Add env.elc.
8735
8736 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
8737
a265079f
GM
87382000-05-12 Gerd Moellmann <gerd@gnu.org>
8739
8740 * search.c (Freplace_match): Handle case of `\N' in the
8741 replacement when there's no group N.
8742
da4496b6
GM
87432000-05-11 Gerd Moellmann <gerd@gnu.org>
8744
0ace421a
GM
8745 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
8746 of the message to message_dolog.
8747
1172eb8d
GM
8748 * keyboard.c (read_char): Don't clear current message for help
8749 events; let the code handling help events handle this. Change
8750 code detecting help events that should be ignored.
8751
da4496b6
GM
8752 * xdisp.c (handle_single_display_prop): Don't try to set PT if
8753 we're interating over a string.
8754
0623e40f
DL
87552000-05-09 Dave Love <fx@gnu.org>
8756
8757 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
8758 that offset before writing. Move gcpro region past call of
8759 Ffile_regular_p.
8760
bae2503b
DL
87612000-05-04 Dave Love <fx@gnu.org>
8762
8763 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
8764
ec82fb2f
GM
87652000-05-04 Gerd Moellmann <gerd@gnu.org>
8766
8767 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
8768 of inserted characters when BUF equals the current buffer, and PT
8769 is in front of or equal to FROM.
8770
cbf18892
GM
87712000-05-03 Gerd Moellmann <gerd@gnu.org>
8772
4ff40dd0
GM
8773 * xdisp.c (handle_single_display_prop): If display property value
8774 is invalid, or something not supported on the frame, restore
8775 iterator's position to what it was initially. Make sure to return
8776 0 for invalid and unsupported property values.
8777
cbf18892
GM
8778 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
8779 that x_per_char_metric returns null.
8780
1b0672c3
GM
87812000-05-02 Gerd Moellmann <gerd@gnu.org>
8782
576da55d
GM
8783 * xterm.h (struct face): Add forward declaration.
8784 (struct image): Ditto.
8785 (image_ascent): Add prototype.
8786
8787 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
8788 (x_draw_image_relief, x_draw_image_foreground_1): Call function
8789 image_ascent instead of using IMAGE_ASCENT.
8790
8791 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
8792 (IMAGE_ASCENT): Removed.
8793
8794 * xfns.c (Qcenter): New variable.
8795 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
8796 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
8797 (image_ascent): New function.
8798 (lookup_image): Recognize `:ascent center'.
8799 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
8800 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
8801 (xbm_load): Don't set image's ascent here.
8802 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
8803 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
8804 check ascent values here.
8805 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
8806 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
8807 (syms_of_xfns): Initialize Qcenter.
8808
1b0672c3
GM
8809 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
8810 to the limits, increase the limits.
8811
0d7811ed
KH
88122000-05-01 Kenichi Handa <handa@etl.go.jp>
8813
8814 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 8815 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 8816
a943a5ca
GM
88172000-04-28 Gerd Moellmann <gerd@gnu.org>
8818
8819 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
8820 taller than the window.
8821
5dba1e29
KH
88222000-04-28 Kenichi Handa <handa@etl.go.jp>
8823
8824 * xfaces.c (realize_x_face): Fix the argument of the second
8825 xassert. BASE_FACE may not be a face for ASCII.
8826
353964e3
GM
88272000-04-27 Gerd Moellmann <gerd@gnu.org>
8828
c76e04a8
GM
8829 * print.c (print_object): Treat print-length < 0 as nil.
8830
8831 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
8832
8833 * s/freebsd.h (TERMCAP_OBJ): Removed.
8834 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
8835
8836 * lread.c (read1): Don't treat period followed by certain
8837 characters as symbol start.
8838
8839 * xfns.c (slurp_file): New function.
8840 (xbm_image_p): Handle case of in-memory XBM files.
8841 (xbm_scan): Rewritten to work on memory buffers instead of files.
8842 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
8843 Work on memory buffers instead of files. If DATA is null test
8844 if buffer looks like an in-memory XBM file.
8845 (xbm_load_image): Renamed from xbm_load_image_file. Work on
8846 memory buffers instead of files.
8847 (xbm_file_p): New function.
8848 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
8849
353964e3
GM
8850 * lread.c (end_of_file_error): New function.
8851 (read1): Call it instead of signaling `end-of-file' directly.
8852
427ec082 8853 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
8854 with Fprinc instead of Fprin1.
8855
24d744ac
KR
88562000-04-26 Ken Raeburn <raeburn@gnu.org>
8857
8858 * window.c (freeze_window_start): Check that minibuffer scroll
8859 window isn't nil before extracting the window structure pointer
8860 from it.
8861
8862 * undo.c (record_delete): If we hit the end of the undo list, stop
8863 picking elements apart.
8864
7464346d
GM
88652000-04-26 Gerd Moellmann <gerd@gnu.org>
8866
8867 * xdisp.c (display_line): If lines are continued, restore
8868 iterator's ascent/descent information to the values before the
8869 first glyph not fitting on the line.
8870
612839b6
GM
88712000-04-25 Gerd Moellmann <gerd@gnu.org>
8872
8873 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 8874 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
8875
8876 * dispnew.c (increment_matrix_positions): Renamed from
8877 increment_glyph_matrix_buffer_positions.
8878 (increment_row_positions): Renamed from
8879 increment_glyph_row_buffer_positions.
8880
8881 * dispextern.h: Change names of renamed functions from dispnew.c
8882 in prototypes.
8883
cc181e95
GM
88842000-04-24 Gerd Moellmann <gerd@gnu.org>
8885
abfcc168
GM
8886 * fileio.c (Fdo_auto_save): Create directories for auto-save
8887 list file if necessary.
8888
cc181e95
GM
8889 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
8890 from buffer or frame.
8891 (automatic_hscrolling_p): New variable.
8892 (hscroll_windows): Scroll windows horizontally only if automatic
8893 hscrolling is allowed.
8894 (syms_of_xdisp): New variable `automatic-hscrolling'.
8895
8896 * frame.h (struct frame): Add member extra_line_spacing.
8897
8898 * xfns.c (x_set_line_spacing): New function.
8899 (Fx_create_frame): Set line spacing from resources.
8900 (Qline_spacing): New variable.
8901 (syms_of_xfns): Initialize Qline_spacing.
427ec082 8902
cc181e95
GM
8903 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
8904
8905 * buffer.c (init_buffer_once): Handle extra_line_spacing.
8906 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 8907 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
8908 extra_line_spacing from default value.
8909 (init_buffer_once): Initialize default value of extra_line_spacing.
8910
8911 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
8912 and extra3.
8913
8914 * xterm.c (x_produce_glyphs): Remove reference to struct it's
8915 prompt_width. Add extra line spacing.
8916
8917 * term.c (produce_glyphs): Remove reference to struct it's
8918 prompt_width.
8919
8920 * dispextern.h (struct it): Remove member prompt_width, add
8921 extra_line_spacing.
8922
58827478
GM
89232000-04-22 Gerd Moellmann <gerd@gnu.org>
8924
8925 * dispnew.c (update_frame_line): When writing a whole line, make
8926 sure cursor is in the right row afterwards, otherwise a use of
8927 capability `ch' in cmgoto might leave the cursor in the row below.
8928
25a87f42
GM
89292000-04-21 Gerd Moellmann <gerd@gnu.org>
8930
8931 * lisp.h (struct Lisp_Buffer_Cons): Remove.
8932
8933 * keyboard.c (timer_check): Fix typo in comment.
8934
54edf5c2
KH
89352000-04-21 Kenichi Handa <handa@etl.go.jp>
8936
8937 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
8938 name change: ch -> character.
8939
3a64eef5
GM
89402000-04-20 Gerd Moellmann <gerd@gnu.org>
8941
8942 * keyboard.c (echo_message_buffer): New variable.
8943 (echo_now): Set echo_message_buffer to the echo area buffer used
8944 to display the echo.
8945 (cancel_echoing): Reset echo_message_buffer to nil.
8946 (read_char): Code rewritten that handles canceling an echo or
8947 echoing a dash, respectively.
8948
8949 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
8950 directory doesn't exist.
8951
6142fdcb
DL
89522000-04-19 Dave Love <fx@gnu.org>
8953
8954 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
8955 (concat): Don't allow numeric args.
8956 (Fconcat): Doc change.
6142fdcb 8957
ac6b5352
SM
89582000-04-19 Stefan Monnier <monnier@cs.yale.edu>
8959
8960 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
8961 instead define end_match(1|2) more carefully.
8962 Use GET_CHAR_BEFORE_2 for `begline'.
8963
cb9215e4
GM
89642000-04-19 Gerd Moellmann <gerd@gnu.org>
8965
5e3dac3f
GM
8966 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
8967 on 64-bit systems where NULL is defined as `0'.
8968
8969 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
8970 the `variable argument list' to make it work on Alpha.
8971
cb9215e4
GM
8972 * m/alpha.h (_LP64) [!_LP64]: Define.
8973 (ORDINARY_LINK): Define for NetBSD.
8974
8975 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 8976
f532dca0
DL
89772000-04-19 Dave Love <fx@gnu.org>
8978
c750667e
DL
8979 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
8980 change.
8981
8982 * Makefile.in (LIBS): Don't use.
8983 (GETLOADAVG_OBJ): Define again.
8984 (otherobj): Add GETLOADAVG_OBJ.
8985
f532dca0
DL
8986 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
8987
1c7e22fd
GM
89882000-04-18 Gerd Moellmann <gerd@gnu.org>
8989
f6d3257b
GM
8990 * lread.c (read_filtered_event): Cancel and start busy cursor.
8991
427ec082 8992 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
8993 that the per-character metrics may be null.
8994
e10f64e7
GM
89952000-04-17 Gerd Moellmann <gerd@gnu.org>
8996
0daee095
GM
8997 * buffer.c (clone_per_buffer_values): New function.
8998 (Fmake_indirect_buffer): Add optional argument CLONE. Call
8999 clone_per_buffer_values if CLONE is not nil.
9000
e10f64e7
GM
9001 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9002
38687d43
DL
90032000-04-16 Dave Love <fx@gnu.org>
9004
9005 * Makefile.in: Remove obsolete localcpp stuff.
9006 (GETLOADAVG_OBJ): Don't define.
9007 (obj): Move LIBOBJS...
9008 (otherobj): ... to here.
9009 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
9010 whitespace-only lines after the continuation (Irix).
9011
c21c7262
GM
90122000-04-14 Gerd Moellmann <gerd@gnu.org>
9013
9014 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
9015
9016 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
9017
314767c0
DL
90182000-04-14 Dave Love <fx@gnu.org>
9019
9020 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
9021 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
9022 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
9023 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
9024 NLIST_STRUCT.
9025
9026 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
9027 autoconfiscated HAVE_GETLOADAVG.
9028
9029 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
9030 BROKEN_MKTIME.
9031
a2522dca
GM
90322000-04-14 Gerd Moellmann <gerd@gnu.org>
9033
9034 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 9035 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 9036
33744b5d
DL
90372000-04-14 Dave Love <fx@gnu.org>
9038
c21c7262 9039 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
9040 (INTERVAL_SRC): Convert to make variable.
9041 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
9042 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
9043 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
9044 add LIBOBJS.
9045 (SOME_MACHINE_OBJECTS): Remove interval stuff.
9046 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
9047 (shortlisp): Add facemenu, float-sup, frame.
9048 (SOME_MACHINE_LISP): Remove them from here.
9049 (LIBES): Change unused LDLIBS to autoconf LIBS.
9050
9051 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
9052
9d3d5916
KH
90532000-04-14 Kenichi Handa <handa@etl.go.jp>
9054
9055 * composite.c (update_compositions): If FROM and TO are not in a
9056 valid range, do nothing.
9057
198e3c7a
GM
90582000-04-13 Gerd Moellmann <gerd@gnu.org>
9059
52283633 9060 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 9061
52283633 9062 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
9063
9064 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
9065 as TERMCAP_OBJ.
9066
055a28c9
EZ
90672000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
9068
9069 * fileio.c (a_write): Remove redundant semi-colons.
9070 (e_write): Return -1 if failed to write all the data.
9071 This fixes the changes made at 1999-12-15.
9072
f5c75033
DL
90732000-04-12 Dave Love <fx@gnu.org>
9074
9075 * fns.c (mapcar1): Test for null vals to support mapc.
9076 (Fmapc): New function.
9077
0c3cfc51
EZ
90782000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
9079
9080 * msdos.c (NUM_MOUSE_BUTTONS): Define.
9081 (IT_frame_up_to_date): Support the buffer local value of
9082 cursor-type, if defined.
9083
33465a31
DL
90842000-04-10 Dave Love <fx@gnu.org>
9085
9086 * editfns.c (preceding-char, following-char): Doc fix.
9087
6ed56568
KR
90882000-04-10 Ken Raeburn <raeburn@gnu.org>
9089
9090 * Makefile.in (temacs): Revert 2000-03-12 change.
9091
7cf80d4e
JR
90922000-04-10 Jason Rumney <jasonr@gnu.org>
9093
9094 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
9095
34f3f342
GM
90962000-04-10 Gerd Moellmann <gerd@gnu.org>
9097
1a1b1895
GM
9098 * xdisp.c (setup_echo_area_for_printing): Choose an echo
9099 area buffer, if it's not set up yet.
9100
34f3f342
GM
9101 * indent.c (compute_motion): Set immediate_quit.
9102
be0dbdab
GM
91032000-04-09 Gerd Moellmann <gerd@gnu.org>
9104
52283633 9105 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
9106 (realize_tty_face): Suppress boldness if colors are the inverse of
9107 the default colors, and tty_suppress_bold_inverse_default_colors_p
9108 is set.
9109 (Ftty_suppress_bold_inverse_default_colors): New function.
9110 (syms_of_xfaces): Defsubr it.
9111
be0dbdab
GM
9112 * buffer.c (Frestore_buffer_modified_p): New function.
9113 (syms_of_buffer): Defsubr it.
9114
e8413c3b
KR
91152000-04-08 Ken Raeburn <raeburn@gnu.org>
9116
87f67317
KR
9117 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
9118 charset id (int) argument, not a charset (Lisp_Object).
9119
e8413c3b
KR
9120 * coding.h (code_convert_string): Declare.
9121 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
9122 object, as the fourth argument to code_convert_string.
9123
52283633 9124 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
9125 (Fset_fontset_font): Use EQ to compare lisp objects.
9126
7c752c80
KR
91272000-04-05 Ken Raeburn <raeburn@gnu.org>
9128
c0333abc
KR
9129 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
9130 a pointer that looks like a lisp object.
9131 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
9132 zero, instead see whether it's an integer object, since they can't
9133 have intervals.
9134 (GET_INTERVAL_OBJECT): Simply assign to the destination.
9135
52283633
SM
9136 * dispnew.c (allocate_matrices_for_frame_redisplay)
9137 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
9138 to convert between (unsigned) int values and lisp integers.
9139 * keyboard.c (read_key_sequence): Likewise.
9140 * lread.c (substitute_object_recurse): Likewise.
9141 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
9142 * minibuf.c (do_completion, Fminibuffer_complete_word)
9143 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
9144 * term.c (produce_special_glyphs): Likewise.
9145
9146 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
9147 * print.c (print_preprocess, print_object): Likewise.
9148
9149 * search.c (compile_pattern): Use NILP when checking for nil.
9150
74e49b38
KR
9151 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
9152 __OPTIMIZE__]: Provide a GNU C macro version that handles
9153 lisp-object unions.
9154 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
9155 field, to better cope with ENABLE_CHECKING and calls that modify a
9156 Lisp_Object using its old value.
9157
685e5ed2
GM
91582000-04-04 Gerd Moellmann <gerd@gnu.org>
9159
c407c570
GM
9160 * window.c (compare_window_configurations): Signal an error
9161 if parameters C1 or C2 aren't window configurations.
9162
685e5ed2
GM
9163 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
9164 AFTER_POTENTIAL_GC calls around calls to functions that can
9165 signal an error and thus invoke the debugger.
9166
587a49ab
GM
91672000-04-03 Gerd Moellmann <gerd@gnu.org>
9168
62f20204
GM
9169 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
9170 an error if decoding fails.
9171
587a49ab
GM
9172 * keyboard.c (lispy_mouse_names): Variable removed.
9173 (Vlispy_mouse_stem): New variable.
9174 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
9175 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
9176 for any mouse button number. Increase size of mouse_syms and
9177 button_down_location as needed. Call modify_event_symbol with
9178 different arguments.
9179 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
9180 Call modify_event_symbol with different arguments.
9181 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
9182 for any button number. Call modify_event_symbol with different
9183 arguments.
9184 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
9185 Accept a string for NAME_ALIST_OR_STEM.
9186
9187 * lisp.h (larger_vector): Add prototype.
9188
9189 * fns.c (larger_vector): Make externally visible.
9190
9191 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
9192
2d1675e4
SM
91932000-04-02 Stefan Monnier <monnier@cs.yale.edu>
9194
9195 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
9196 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
9197 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
9198 we are between str1 and str2.
9199 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
9200 (PATFETCH): Use `TRANSLATE'.
9201 (PATFETCH_RAW): Fetch multibyte char if applicable.
9202 (PATUNFETCH): Remove.
9203 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
9204 When writing a char, write it directly into the pattern buffer rather
9205 than going needlessly through a temp char-array.
9206 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
9207 multibyte magic and remove the useless `#ifdef emacs'.
9208 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
9209 buffer.
9210
9211 * regex.h (struct re_pattern_buffer): Make field `multibyte'
9212 conditional on `emacs'.
9213
9214 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
9215
cc2d8c6b
KR
92162000-04-01 Ken Raeburn <raeburn@gnu.org>
9217
9218 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
9219 non-union-type versions of XMARK and friends here, because XMARK
9220 and friends won't work on an integer field if NO_UNION_TYPE is not
9221 defined.
52283633 9222 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 9223
52283633 9224 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
9225 (syms_of_composite): Delete local var NARGS, pass an int as first
9226 argument to Fmake_hash_table.
9227
2387b382
KR
9228 * editfns.c (text_property_stickiness): Use NILP to test
9229 Lisp_Object boolean value.
9230 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
9231 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
9232 problems reading from and changing the same lisp value in an
9233 XSETSTRING call.
9234
27660e89
GM
92352000-04-01 Gerd Moellmann <gerd@gnu.org>
9236
9237 * term.c (TN_no_color_video): New variable.
9238 (term_init): Intitialize TN_no_color_video.
9239 (enum no_color_bit): New enumeration.
9240 (MAY_USE_WITH_COLORS_P): New macro.
9241 (turn_on_face): Use it to determine if attributes may be used
9242 combined with colors.
9243
3578db3c
KR
92442000-04-01 Ken Raeburn <raeburn@gnu.org>
9245
9246 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 9247 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
9248 (enlarge_window): Variable sizep now points to Lisp_Object. Use
9249 proper accessor macros.
9250 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
9251 (grow_mini_window): Fix typo getting int value of root->height.
9252
6fc556fd
KR
9253 * xdisp.c (compute_string_pos): Fix order of arguments to
9254 string_pos_nchars_ahead.
9255 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
9256 count arg to variable-arg routines like Frun_hook_with_args and
9257 Fformat.
587a49ab
GM
9258 (back_to_previous_visible_line_start)
9259 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
9260 fixed-arg routines like Fget_char_property and Fmake_string.
9261 (reconsider_clip_changes): Use XINT when comparing integer lisp
9262 objects, or passing them as int arguments.
587a49ab
GM
9263 (mark_window_display_accurate, insert_left_trunc_glyphs)
9264 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
9265 storing or passing integer values as lisp objects.
9266 (set_cursor_from_row, highlight_trailing_whitespace): Use
9267 INTEGERP, not implicit test against zero, for glyph object.
9268 (try_window_id): Don't use make_number when we want an int value.
9269
9270 * xfaces.c (xlfd_symbolic_value): Make last argument a
9271 Lisp_Object, to be consistent with callers.
9272 (Fbitmap_spec_p): Use XINT to get numeric value of height.
9273 (lface_hash): Apply XFASTINT to lisp values before folding in.
9274
9275 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
9276 fill in window width and height. Pass an int, not a lisp object,
9277 as first arg to Finsert.
9278
6e7b2457
GM
92792000-04-01 Gerd Moellmann <gerd@gnu.org>
9280
610d841e
GM
9281 * xfaces.c (realize_basic_faces): Block input while realizing
9282 the faces.
9283
6e7b2457
GM
9284 * keyboard.c (lispy_mouse_names): Add additional mouse names.
9285
9286 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
9287
aa110c0c
GM
92882000-03-31 Gerd Moellmann <gerd@gnu.org>
9289
9290 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 9291 or ASCII, handle case that per-char metric is null.
aa110c0c 9292
8801a864
KR
92932000-03-30 Ken Raeburn <raeburn@gnu.org>
9294
c6129d7e
KR
9295 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
9296
52283633
SM
9297 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
9298 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
9299 pointer, using eassert.
9300 * frame.h (XFRAME): Likewise.
9301
52283633
SM
9302 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
9303 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
9304 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 9305 * data.c (set_internal): Likewise.
52283633
SM
9306 * dispextern.h (WINDOW_WANTS_MODELINE_P)
9307 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
9308 * fileio.c (auto_save_1): Likewise.
9309 * insdel.c (check_markers): Likewise.
9310 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
9311 * undo.c (record_insert): Likewise.
9312 * vmsproc.c (child_sig): Likewise.
9313 * window.c (unshow_buffer, window_loop): Likewise.
9314 * xterm.c (x_erase_phys_cursor): Likewise.
9315
8e7af858
GM
93162000-03-30 Gerd Moellmann <gerd@gnu.org>
9317
9318 * xfns.c (free_image_cache): Free the cache structure itself
9319 last, after all its members have been freed.
9320
9321 * lisp.h (xstrdup): Add prototype.
9322
9323 * alloc.c (xstrdup): Moved here from xfaces.c.
9324 (allocating_for_lisp): Variable removed.
52283633 9325 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
9326
9327 * xfaces.c (realize_tty_face): Use find_symbol_value instead
9328 of Fsymbol_value.
9329 (xstrdup): Moved to alloc.c.
9330
e0b8c689
KR
93312000-03-29 Ken Raeburn <raeburn@gnu.org>
9332
b96f9fb7
KR
9333 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
9334
9335 * emacs.c (main): Fix sense of no-loadup test.
9336
e0b8c689
KR
9337 * config.in (ENABLE_CHECKING): Undef.
9338
9339 * lisp.h (struct interval): Replace "parent" field with a union of
9340 interval pointer and Lisp_Object; add new bitfield to use as
9341 discriminant. Change other flag fields to bitfields.
9342 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
9343 is defined and the supplied test fails, print a message and abort.
9344 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
9345
9346 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
9347 pointers; abort if the value looks like a lisp object.
52283633
SM
9348 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
9349 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
9350 Modify for new interval parent definition.
9351
52283633
SM
9352 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
9353 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
9354 addressable lisp object in the interval structure.
9355 (die): New function.
9356 (suppress_checking): New variable.
9357
9358 * intervals.c (interval_start_pos): Just return 0 if there's no
9359 parent object.
9360
f83c5440
GM
93612000-03-29 Gerd Moellmann <gerd@gnu.org>
9362
9363 * lread.c (read1): Accept `.' (period) as symbol start like in CL
9364 and earlier Emacs versions.
9365
9366 * keyboard.c (Ftop_level): Cancel busy-cursor.
9367
9368 * eval.c (call_debugger): Cancel busy-cursor.
9369
fdce64ff
KH
93702000-03-29 Kenichi Handa <handa@etl.go.jp>
9371
9372 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 9373 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 9374
f6a3f532
SM
93752000-03-28 Stefan Monnier <monnier@cs.yale.edu>
9376
9377 * regex.c (analyse_first): New function obtained by ripping out most
9378 of re_compile_fastmap and generalizing it a little bit so that it
9379 can also just return whether a given (sub)pattern can match the empty
9380 string or not.
9381 (regex_compile): Use `analyse_first' to decide whether the loop-check
9382 needs to be done or not for *, +, *? and +? (the loop check is costly
9383 for non-greedy repetition).
9384 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
9385
e9b309ac
DL
93862000-03-28 Dave Love <fx@gnu.org>
9387
52283633 9388 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 9389
e9b309ac
DL
9390 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
9391
ed0767d8
SM
93922000-03-27 Stefan Monnier <monnier@cs.yale.edu>
9393
9394 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
9395 an expression.
9396 (enum re_opcode_t): Update description of succeed_n.
9397 (PATFETCH): Always define.
9398 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
9399 operators, char classes, shy-groups and intervals).
9400 Optimize special cases of intervals so as to only use succeed_n and
9401 jump_n when really needed.
9402 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
9403 that we don't have to handle the special cases any more.
9404 Simplify on_failure_jump handling as well.
9405
e11e7e46
JR
94062000-03-28 Jason Rumney <jasonr@gnu.org>
9407
9408 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
9409
88faab89
GM
94102000-03-27 Gerd Moellmann <gerd@gnu.org>
9411
182ff242
GM
9412 * s/freebsd.h (GC_SETJMP_WORKS): Define.
9413
9414 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 9415
182ff242
GM
9416 * alloc.c (mark_maybe_object): New function.
9417 (mark_memory): Use it.
9418 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
9419 (setjmp_tested_p, longjmp_done): New variables.
9420 (test_setjmp): New function.
9421 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
9422 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
9423
c1005d06
GM
9424 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
9425 to DEC_TEXT_POS and INC_TEXT_POS.
9426
9427 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
9428 with parameter MULTIBYTE_P.
9429
52283633 9430 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 9431
7439e5b9 9432 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
9433 buffers because it looks for multibyte character byte sequences
9434 which don't exist in unibyte text.
7439e5b9 9435
d9c545da
GM
9436 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
9437
11fd416e 9438 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
9439 [DEBUG_X_COLORS]: New functions.
9440 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
9441
9442 * xfns.c (x_set_cursor_color): Get color reference counts right.
9443
9444 * xterm.c (x_copy_color): New function.
9445 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
9446
9447 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
9448 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
9449 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
9450 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
9451 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
9452 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
9453 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
9454 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
9455 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
9456 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
9457
11fd416e
GM
9458 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
9459 names for handling per-buffer variables.
d9c545da
GM
9460
9461 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
9462 instead of MAX_BUFFER_LOCAL_VARS.
9463 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
9464
9465 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
9466
88faab89
GM
9467 * xfns.c (x_specified_cursor_type): New function.
9468 (x_set_cursor_type): Use it.
9469
9470 * buffer.h (struct buffer): Add cursor_type.
9471
d80f42b7
SM
94722000-03-26 Stefan Monnier <monnier@cs.yale.edu>
9473
9474 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
9475 (print_partial_compiled_pattern, re_compile_fastmap):
9476 Handle new opcode.
d80f42b7
SM
9477 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
9478 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
9479 executing it as well as when popping it off the stack to find infinite
9480 loops in non-greedy repetition operators.
9481
89e80928
GM
94822000-03-26 Gerd Moellmann <gerd@gnu.org>
9483
3d4ff2dd
GM
9484 * doc.c (Qfunction_documentation): New variable.
9485 (syms_of_doc): Initialize Qfunction_documentation.
9486 (Fdocumentation): If FUNCTION is a symbol with non-nil
9487 `function-documentation' property, return a documentation derived
9488 from that.
9489
bd96bd79
GM
9490 * buffer.c (syms_of_buffer): Add default-cursor-type.
9491 (init_buffer_once): Don't let cursor_type have a local value
9492 in every buffer.
9493
19d1bc27
GM
9494 * xterm.c (x_display_and_set_cursor): Choose cursor depending
9495 on buffer-local value of cursor_type.
9496 (x_draw_bar_cursor): Add parameter WIDTH.
9497
9498 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
9499 (init_buffer_once): Set default cursor_type value to t.
9500 Mark cursor_type as local everywhere.
9501 (syms_of_buffer): New per-buffer variable cursor-type.
9502
89e80928
GM
9503 * buffer.h (struct buffer): Remove member local_var_flags,
9504 add local_flags.
9505 (MAX_BUFFER_LOCAL_VARS): New macro.
9506 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
9507 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
9508 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
9509 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
9510
52283633 9511 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
9512
9513 * category.c (Fset_category_table): Use new macros for per-buffer
9514 variables.
9515
9516 * buffer.c (buffer_permanent_local_flags): Make a char array.
9517 (max_buffer_local_idx): New variable.
9518 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
9519 for new handling of per-buffer variables.
9520 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
9521 (init_buffer_once): Initialize per-buffer vars differently.
9522 Set max_buffer_local_idx.
9523
9524 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
9525 variables.
9526
52283633 9527 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
9528
9529 * data.c (do_symval_forwarding, store_symval_forwarding)
9530 (find_symbol_value, set_internal, default_value, Fset_default)
9531 (Fkill_local_variable, Flocal_variable_p): Use new macros for
9532 per-buffer variables.
9533
9534 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
9535
9a0dd3dc
GM
95362000-03-24 Gerd Moellmann <gerd@gnu.org>
9537
b68c375f
GM
9538 * xterm.c (x_term_init): Unblock input around call1 of
9539 Qvendor_specific_keysyms.
9540
9a0dd3dc
GM
9541 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
9542 (find_defun_start): Consider an open parenthesis in column 0
9543 a defun start only if open_paren_in_column_0_is_defun_start is set.
9544 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
9545
7973e637
SM
95462000-03-24 Stefan Monnier <monnier@cs.yale.edu>
9547
9548 * eval.c (Fautoload): Add entry in load-history (if after dump).
9549 * lread.c (load-history): Update docstring.
9550
39210e90
GM
95512000-03-24 Gerd Moellmann <gerd@gnu.org>
9552
9553 * indent.c (Fvertical_motion): Always use the current buffer.
9554 Temporarily change the window's buffer, if necessary.
9555
72db3ab5
GM
95562000-03-23 Gerd Moellmann <gerd@gnu.org>
9557
9558 * xterm.c (fast_find_position): Make sure not to consider rows
9559 not visible in the window.
9560
990b2375
SM
95612000-03-22 Stefan Monnier <monnier@cs.yale.edu>
9562
9563 * regex.c (enum syntaxcode): Provide default for non-Emacs.
9564 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
9565
ff4df011
JR
95662000-03-22 Jason Rumney <jasonr@gnu.org>
9567
9568 * w32menu.c (single_submenu): Set help string to NULL if none.
9569 (w32_menu_show): Set help string correctly.
9570 (add-menu-item): Set help string in MIIM_DATA for menu item.
9571 Load SetMenuItemInfoA explicitly.
9572 (w32_menu_display_help): New function.
427ec082 9573
ff4df011
JR
9574 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
9575 (QCdata): Moved to xdisp.c.
9576
9577 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
9578 (Vw32_charset_to_codepage_alist): Removed.
9579 (Vw32_charset_info_alist): New variable.
52283633
SM
9580 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
9581 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
9582 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
9583 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
9584 with TODO comment.
9585 (w32_codepage_for_font): Use Vw32_charset_info_alist.
9586 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
9587 Define Vw32_charset_info_alist and w32_charset symbols.
9588
95892000-03-22 Jason Rumney <jasonr@gnu.org>
9590
9591 * makefile.nt (w32bdf.obj): Update dependencies.
9592
9593 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
9594
9595 * w32fns.c: Include fontset.h after dispextern.h.
9596 (Fx_create_frame): Do not create fontset.
9597 (w32_load_system_font): Doc fix.
9598 (Fx_close_connection): Free full_name if it is not shared.
9599
9600 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
9601 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
9602 Callers updated.
ff4df011
JR
9603 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
9604 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
9605 (w32_font_is_double_byte): New function, needs body.
9606 (x_append_glyph): Set glyph->glyph_not_available_p.
9607 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
9608 it->charset. If it->multibyte_p is zero and it->c is a multibyte
9609 character, convert it to a unibyte character.
9610 (struct glyph_string): Delete member `charset'.
9611 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
9612 calculating it is found.
9613 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
9614 the case that per char metric is not available correctly.
9615 (x_fill_glyph_string): Handle the case that the specific glyph is
9616 not available correctly.
9617 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9618 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9619 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9620 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9621 fontset. Don't call FS_LOAD_FONT.
9622
439d5cb4
KR
96232000-03-22 Ken Raeburn <raeburn@gnu.org>
9624
9625 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
9626 (INT_LISPLIKE): New macro.
9627 (NULL_INTERVAL_P): Use it.
52283633
SM
9628 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
9629 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
9630 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
9631
9632 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
9633 explicit references to "parent" field of struct interval and
9634 associated unclean type conversions.
52283633
SM
9635 * intervals.c (create_root_interval, root_interval, rotate_right)
9636 (rotate_left, balance_possible_root_interval, split_interval_right)
9637 (split_interval_left, interval_start_pos, find_interval)
9638 (next_interval, previous_interval, update_interval)
9639 (adjust_intervals_for_insertion, delete_node, delete_interval)
9640 (adjust_intervals_for_deletion, merge_interval_right)
9641 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
9642 (copy_intervals_to_string): Likewise.
439d5cb4
KR
9643 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
9644 Likewise.
9645 * syntax.c (update_syntax_table): Likewise.
9646
9647 * intervals.c (reproduce_tree_obj): New function, like
9648 reproduce_tree but takes a Lisp_Object for the parent. Declare
9649 with prototype.
9650 (graft_intervals_into_buffer): Use it when appropriate.
9651 (reproduce_tree): Declare with prototype.
9652 (balance_possible_root_interval): Check that the parent is a lisp
9653 object before trying to examine its type.
9654
ee1c5b21
GM
96552000-03-22 Gerd Moellmann <gerd@gnu.org>
9656
9657 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
9658 as strings only if both are known to be strings.
9659
9660 * s/openbsd.h (LIBS_TERMCAP): Undef.
9661
1fb352e0
SM
96622000-03-21 Stefan Monnier <monnier@cs.yale.edu>
9663
9664 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
9665 definitions for non-Emacs compilation.
9666 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
9667 outside of `#ifdef emacs'.
9668 (print_partial_compiled_pattern): Update.
9669 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
9670 (re_compile_fastmap): Merge handling of charset and charset_not (for
9671 emacs and non-emacs compilation as well).
9672 Similarly for (not)categoryspec and (not)syntaxspec.
9673 Don't use the fastmap when reaching `anychar' since the added
9674 complexity is not justified.
9675 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
9676 and (not)syntaxspec. Merge (not)categoryspec.
9677
fdaa1f77
KH
96782000-03-22 Kenichi Handa <handa@etl.go.jp>
9679
52283633
SM
9680 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
9681 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 9682 --without-x.
fdaa1f77 9683
d152fb46
DL
96842000-03-21 Dave Love <fx@gnu.org>
9685
9686 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
9687 doc string.
9688
d2cafc8c
GM
96892000-03-21 Gerd Moellmann <gerd@gnu.org>
9690
9691 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
9692 (lface_fully_specified_p): Don't check contents of
9693 LFACE_FONT_INDEX because that attribute is optional.
9694 (realize_x_face): Remove now unwarranted xassert.
9695
9111d4b5
KH
96962000-03-21 Kenichi HANDA <handa@etl.go.jp>
9697
9698 The following changes are to make font selection based on
9699 characters, not charset. In addition, they recover fontset
9700 facilities while utilizing the new font selection mechanism.
9701
6c4bfdc0
KH
9702 * Makefile.in (fontset.o): Depend on dispextern.h.
9703
9704 * alloc.c (mark_face_cache): Don't mark face->registry.
9705
9111d4b5
KH
9706 * dispextern.h (struct glyph): New member glyph_not_available_p.
9707 Use 22 bits for face_id.
9708 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
9709 (struct face): Delete member registry, new member ascii_face.
9710 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
9711 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
9712 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 9713 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
9714
9715 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
9716 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
9717 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
9718 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 9719 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
9720 (fs_free_face_fontset, fontset_font_pattern)
9721 (face_suitable_for_char_p, face_for_char)
9722 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
9723 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
9724 (FS_LOAD_FACE_FONT): New macro.
9725
9726 * fontset.c: All codes rewritten or adjusted for the change of
9727 fontset implementation. Now fontset is represented by char table.
52283633
SM
9728 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
9729 Variables removed.
9111d4b5 9730 (my_strcasecmp): Function removed.
52283633 9731 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 9732 (AREF, ASIZE): New macros.
52283633
SM
9733 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
9734 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
9735 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
9736 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
9737 (fontset_id_valid_p, font_family_registry, fontset_name)
9738 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
9739 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
9740 New functions.
9741 (fs_load_font): New arg FACE. Caller changed.
9742 (fs_query_fontset): Argument changed. Caller changed.
9743 (Fquery_fontset): call fs_query_fontset.
9744 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
9745 Functions removed.
52283633
SM
9746 (clear_fontset_elements, check_registry_encoding)
9747 (check_fontset_name): New functions.
9111d4b5
KH
9748 (syms_of_fontset): Set char-table-extra-slots property of fontset
9749 to 3. Staticpro and initialize Vfontset_table and
9750 Vdefault_fontset. Defsubr fontset_font and fontset_list.
9751
9752 * frame.h (struct frame): Member `fontset_data' removed.
9753 (FRAME_FONTSET_DATA): Macro removed.
9754
9755 * frame.c (make_frame): Don't allocate f->fontset_data.
9756 (Fdelete_frame): Don't free f->fontset_data.
9757
6c4bfdc0
KH
9758 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
9759
9111d4b5
KH
9760 * xdisp.c (charset_at_position): Function removed.
9761 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
9762 (handle_face_prop, reseat_to_string, set_iterator_to_next)
9763 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
9764 Likewise.
9765 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
9766 FACE_FOR_CHARSET.
52283633
SM
9767 (get_next_display_element, append_space)
9768 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
9769
9770 * xfaces.c (Qx_charset_registry, Vface_default_registry):
9771 Variables removed.
9772 (clear_font_table, frame_update_line_height, load_face_font):
9773 Adjusted for the change of fontset implementation.
9774 (load_face_fontset_font): Function removed.
9775 (pixel_point_size): New function.
9776 (font_list): Argument type changed. Caller changed.
9777 (LFACE_FONT): New macro.
9778 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
9779 (set_lface_from_font_name): Type of arg FONTNAME is changed to
9780 Lisp_Object. Determine the font name by actually loading a font
9781 by the specified pattern. Set LFACE_FONT (lface) to the specified
9782 pattern. Even if a font is not found, don't try alternatives.
9783 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
9784 (set_font_frame_param): If `font' is specified in lface, use it.
9785 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
9786 (lface_same_font_attributes_p): Likewise.
9787 (make_realized_face): Arguent changed. Caller changed. Set
9788 face->ascii_face to face itself.
9789 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
9790 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
9791 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
9792 (free_realized_multibyte_face): New function.
9793 (lookup_face, lookup_named_face, lookup_derived_face): Argument
9794 changed. Caller changed.
9795 (try_font_list): Argument type changed.
9796 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
9797 (choose_face_font): Argument changed. Handle fontset properly.
9798 (choose_face_fontset_font): Function removed.
9799 (realize_default_face, realize_named_face): Don't remove the
9800 former face here.
9801 (realize_face): Argument changed. Caller changed. Remove face
52283633 9802 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
9803 (realize_x_face): Argument changed. Caller changed. For a
9804 multibyte character, share fontset with base_face. For a single
52283633 9805 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
9806 (realize_tty_face): Argument changed. Caller changed.
9807 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
9808 (face_at_buffer_position): Don't check multibyte_p for returning
9809 DEFAULT_FACE_ID.
9810 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
9811 FACE_SUITABLE_FOR_CHARSET_P.
9812 (syms_of_xfaces): Remove code for Qx_charset_registry and
9813 Vface_default_registry.
9814
6c4bfdc0
KH
9815 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
9816 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
9817 (x_per_char_metric): Don't try FONT->default_char. Even if
9818 pcm->width is zero, glyph bits may exist.
9819 (x_encode_char): Always initialize char2b->byte1.
9820 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 9821 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
9822 (x_append_glyph): Set glyph->glyph_not_available_p.
9823 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
9824 it->charset. Handle the case that per char metric is not
9825 available. If it->multibyte_p is zero and it->c is a multibyte
9826 character, convert it to a unibyte character.
9827 (struct glyph_string): Delete member `charset'.
9828 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
9829 the case that per char metric is not available correctly.
9830 (x_fill_glyph_string): Handle the case that the specific glyph is
9831 not available correctly.
9832 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9833 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9834 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9835 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9836 fontset. Don't call FS_LOAD_FONT.
9837
9838 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
9839 (x_create_tip_frame): Likewise.
9840 (Fx_close_connection): Free full_name of font_info.
9841
9842 * fns.c (optimize_sub_char_table): New function.
9843 (Foptimize_char_table): New function.
9844 (syms_of_fns): Defsubr Soptimize_char_table.
9845
b33dd3b0
GM
98462000-03-20 Gerd Moellmann <gerd@gnu.org>
9847
9848 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
9849 only if buffer is displayed in some window.
9850
9851 * xdisp.c (handle_single_display_prop): Initialize local `value'.
9852 (try_window_reusing_current_matrix): Don't call scroll run
9853 function if run's current and desired position are the same;
9854 this prevents cursor flickering.
9855
4e8a9132
SM
98562000-03-19 Stefan Monnier <monnier@cs.yale.edu>
9857
9858 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
9859
9860 * regex.c (RE_STRING_CHAR): New macro.
9861 (GET_CHAR_AFER_2): Remove.
9862 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
9863 (enum re_opcode_t): Remove on_failure_jump_exclusive.
9864 (print_partial_compiled_pattern, re_compile_fastmap)
9865 (re_match_2_internal): Remove on_failure_jump_exclusive.
9866 (regex_compile): Turn optimizable P+ loops into PP*, so that the
9867 optimization only need to work for * (ie. can use of_keep_string_jump).
9868 Remove the special case for .*\n since it is now covered by the general
9869 optimization.
9870 (re_search_2): Don't bother with `room'.
9871 (skip_one_char): New function.
9872 (skip_noops): Simplify since `memory' is not needed any more.
9873 (mutually_exclusive_p): Restructure slightly to use `switch' and
9874 add handling for "all" remaining cases.
9875 (re_match_2_internal): Change on_failure_jump_smart to use
9876 on_failure_keep_string_jump (and redirect the end-of-loop jump)
9877 rather than on_failure_jump_exclusive.
9878
2136fdd4
GM
98792000-03-19 Gerd Moellmann <gerd@gnu.org>
9880
9881 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
9882 number of bits per RGB because it's everywhere used as the depth
9883 of the visual.
9884
9885 * term.c (calculate_costs): Remove code dealing with X frames.
9886
18e21ce8 98872000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
9888
9889 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
9890
d7b511c4
GM
98912000-03-18 Gerd Moellmann <gerd@gnu.org>
9892
9893 * lread.c (read_integer): Unread the last char not consumed.
9894
16b5d424
GM
98952000-03-17 Gerd Moellmann <gerd@gnu.org>
9896
9897 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 9898 which are in the process of being deleted.
16b5d424 9899
1fa28578
GM
99002000-03-16 Gerd Moellmann <gerd@gnu.org>
9901
83488cce
GM
9902 * Makefile.in (mostlyclean): Add `*.core'.
9903 (clean): Add `bootstrap-emacs'.
9904
1fa28578
GM
9905 * lread.c (read_integer): New function.
9906 (read1): Support read syntax #o, #x, #b, #r.
9907
99633e97
SM
99082000-03-15 Stefan Monnier <monnier@cs.yale.edu>
9909
1fa28578
GM
9910 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
9911 make sure POINTER_TO_OFFSET gives the same value before and after
9912 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
9913 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
9914 (debug): Now only active if > 0 rather than if != 0.
9915 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
9916 (print_partial_compiled_pattern): Add missing `succeed' case. Use
9917 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
9918 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
9919 (store_op1, store_op2, insert_op1, insert_op2)
9920 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
9921 (group_in_compile_stack): Move to after its arg's types are
9922 declared and add a prototype.
99633e97 9923 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 9924 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 9925 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
9926 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
9927 indentation of the greedy-op and shy-group code.
99633e97
SM
9928 (at_(beg|end)line_loc_p): Fix argument's types.
9929 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
9930 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
9931 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
9932 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
9933 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
9934 QUIT unconditionally.
99633e97 9935
699238d9
GM
99362000-03-15 Gerd Moellmann <gerd@gnu.org>
9937
9938 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
9939 a sole completion.
9940
9941 * process.c (send_process): Add a hint that the function
9942 can call Lisp code to its comment.
9943
9944 * lread.c (load_dangerous_libraries): New variable.
9945 (Vbytecomp_version_regexp): New variable.
9946 (safe_to_load_p): New function.
9947 (Fload): Handle files not compiled with Emacs specially.
9948 (syms_of_lread): New Lisp variable load-dangerous-libraries.
9949
34e23e5a
GM
99502000-03-14 Gerd Moellmann <gerd@gnu.org>
9951
9c763cca
GM
9952 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
9953
9954 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
9955 support functions only if HAVE_X11R6_XIM is defined.
9956 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
9957
9958 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
9959
9960 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 9961 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
9962 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
9963
9964 * config.in (HAVE_X_I18N): Moved here from xterm.h.
9965 (HAVE_X11R6_XIM): Define.
9966
9967 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
9968
34e23e5a
GM
9969 * xterm.c (x_term_init): Add support for X resource `synchronous'.
9970 If set, call XSynchronize.
9971
66f0296e
SM
99722000-03-13 Stefan Monnier <monnier@cs.yale.edu>
9973
34e23e5a
GM
9974 * regex.c: Declare a new type `re_char' used throughout the code
9975 for the string char type. It's `const unsigned char' to match the
9976 rest of Emacs. Consistently make sure all pointers to strings use
52283633 9977 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 9978 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
9979 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
9980 code duplication.
66f0296e
SM
9981
9982 * charset.h (GET_CHAR_AFTER_2): Remove.
9983 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
9984
854a025c
KR
99852000-03-12 Ken Raeburn <raeburn@gnu.org>
9986
9987 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
9988 variable before the invocation of YMF_PASS_LDFLAGS, in case both
9989 of them try to use backquotes.
9990
b9d2c7e2
DL
99912000-03-12 Dave Love <fx@gnu.org>
9992
9993 * unexelf.c: Restore changes of 1999-10-19.
9994 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
9995 fix its type and alignment; copy it from current process.
9996
5e5dff44
GM
99972000-03-12 Gerd Moellmann <gerd@gnu.org>
9998
9b2f3c38
GM
9999 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
10000 has been found. Fix bug not computing timer's predecessor.
10001
427ec082 10002 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
10003 file name.
10004
e1cff360
GM
10005 * window.c (Fsave_window_excursion): Doc fix.
10006
52283633 10007 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 10008
e411ce4b
EZ
100092000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
10010
10011 * msdos.c (vga_installed): New function, code moved from
10012 dos_set_window_size.
10013 (Qbar, Qcursor_type, outside_cursor): New variables.
10014 (syms_of_msdos): Intern and staticpro them.
10015 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
10016 shape used outside Emacs when called for the first time.
10017 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
10018 cursor shape used outside Emacs.
10019 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
10020 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
10021 type has changed.
10022 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
10023 parameters specify the cursor. Make qreverse a global
10024 variable (renamed to Qreverse).
10025
80460654
GM
100262000-03-09 Gerd Moellmann <gerd@gnu.org>
10027
10028 * fns.c (Fy_or_n_p): Cancel busy-cursor.
10029
95cd4c40
SM
100302000-03-08 Stefan Monnier <monnier@cs.yale.edu>
10031
10032 This is a big redesign of failure-stack and register handling, prompted
10033 by bugs revealed when trying to add shy-groups. Overall, what happened
10034 is that loops are now structured a little differently, groups can be
10035 shy and the code is a little simpler.
10036
10037 * regex.h: Update the copyright.
10038 (RE_SHY_GROUPS): New value.
10039 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
10040 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
10041
80460654
GM
10042 * regex.c (enum re_opcode_t): Remove jump_past_alt,
10043 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
10044 on_failure_jump_(exclusive, loop and smart). Also fix the comment
10045 for (start|stop)_memory since they now only take one argument (the
10046 second has becomes unnecessary).
52283633 10047 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
10048 (print_compiled_pattern): Use %ld to printf long ints and flush to
10049 make debugging a little easier.
95cd4c40
SM
10050 (union fail_stack_elt): Make the integer unsigned.
10051 (struct fail_stack_type): Add a `frame' element.
10052 (INIT_FAIL_STACK): Init `frame' as well.
10053 (POP_PATTERN_OP): New macro for re_compile_fastmap.
10054 (DEBUG_PUSH, DEBUG_POP): Remove.
10055 (NUM_REG_ITEMS): Remove.
10056 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
10057 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
10058 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 10059 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
10060 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
10061 New macros.
80460654
GM
10062 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
10063 address pushed is not the destination of the jump but the source
10064 of it instead.
95cd4c40
SM
10065 (NUM_FAILURE_ITEMS): Remove.
10066 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
10067 registers before the actual failure point). Don't hardcode any
10068 meaning for str==NULL anymore.
95cd4c40 10069 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
10070 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
10071 Remove.
95cd4c40
SM
10072 (REG_UNSET_VALUE): Use NULL (why not?).
10073 (compile_range): Remove declaration since it doesn't exist.
10074 (struct compile_stack_elt_t): Remove inner_group_offset.
10075 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
10076 (regex_grow_registers): Remove dead code.
10077 (FIXUP_ALT_JUMP): New macro.
80460654
GM
10078 (regex_compile): Add shy-groups Change loops to use
10079 on_failure_jump_smart&jump instead of
10080 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
10081 initial (dummy_failure_)jump. Remove c1_base (looks like unused
10082 variable to me). Use `jump' instead of `jump_past_alt' and don't
10083 bother with push_dummy_failure in alternatives since it is now
10084 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
10085 emacs' for (re)allocating the stack.
10086 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
10087 from loop when bufp->can_be_null rather than jumping to `done'.
10088 Avoid jumping backwards so as to ensure termination. Use
10089 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
10090 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 10091 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
10092 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
10093 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
10094 (lowest_active_reg, highest_active_reg)
10095 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
10096 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
10097 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
10098 variables. Push register (in `start_memory') on the stack rather
10099 than storing it in old_reg(start|end). Remove the cycle detection
10100 from `stop_memory', replaced by the use of on_failure_jump_loop
10101 for greedy loops. Add code for the new on_failure_jump_<foo>.
10102 Remove ad-hoc code in `on_failure_jump' to push more registers in
10103 the case of a loop. Take out code from `maybe_pop_jump' into
10104 separate functions and adapt it to the semantics of
10105 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
10106 and push_dummy_failure. Remove dummy_failure handling and
10107 handling of `failures to jump to on_failure_jump' (this last one
10108 was already dead code, it seems).
10109 (group_match_null_string_p, alt_match_null_string_p)
10110 (common_op_match_null_string_p): Remove.
95cd4c40 10111
7397acc4
DL
101122000-03-08 Dave Love <fx@gnu.org>
10113
10114 * config.in: Don't depend on __STDC__ for volatile.
10115 Add POINTER_TYPE, PTR, PROTOTYPES.
10116
10117 * hftctl.c, strftime.c: Use PROTOTYPES.
10118 * eval.c (find_handler_clause): Likewise.
10119
10120 * mem-limits.h: Use POINTER_TYPE.
10121
10122 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
10123 (memory_warnings): Declare using POINTER_TYPE.
10124
5e91ff9e
GM
101252000-03-08 Gerd Moellmann <gerd@gnu.org>
10126
feab4fba
GM
10127 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
10128
52283633 10129 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 10130
5e91ff9e
GM
10131 * xfns.c: Remove obsolete code in #if 0.
10132 (Fx_focus_frame): New function.
10133
a735b7e1
KH
101342000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10135
10136 * coding.c (coding_category_name): Add coding-category-utf-8,
10137 coding-category-utf-16-be, coding-category-utf-16-le.
10138 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
10139 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
10140 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
10141 (detect_coding_utf_8): New function.
10142 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
10143 UTF_16_LOW_SURROGATE_P): New macros.
10144 (detect_coding_utf_16): New function
10145 (detect_coding_mask): When priorities are specified, skip any
10146 categories that have `nil' coding-system. Fix bug of returning
10147 wrong mask when PRIORITIES is specified and detect_coding_XXX()
10148 returns a mask not set in PRIORITIES.
10149 (detect_eol_type_in_2_octet_form): New function.
10150 (detect_eol): selects detect_eol_type_XXX to call according to
10151 cooding->category_idx.
10152 (detect_coding_system): Remove `nil' coding-system in the result.
10153 (Fupdate_coding_systems_internal): Update all coding-categories.
10154
52283633
SM
10155 * coding.h (CODING_CATEGORY_IDX_UTF_8)
10156 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
10157 New macros.
10158 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
10159 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
10160 (CODING_CATEGORY_IDX_UTF_16_LE)
10161 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
10162 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
10163 (CODING_CATEGORY_MASK_ANY): Include the above macros.
10164 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
10165
9994cc69
GM
101662000-03-07 Gerd Moellmann <gerd@gnu.org>
10167
e9b4e5ff
GM
10168 * doc.c (Fdocumentation_property): If value is not a string,
10169 and doesn't refer to etc/DOC, evaluate it to obtain a string.
10170
f7daf1e1
GM
10171 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
10172 close the display with XtCloseDisplay. This caused a bus error
10173 on OpenWindows.
10174
9994cc69
GM
10175 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
10176 complete but not unique.
10177
4336c705
GM
101782000-03-06 Gerd Moellmann <gerd@gnu.org>
10179
18bb0684
GM
10180 * process.c (send_process): Remove local variable `procname' that
10181 might become invalid when a GC happens. Instead, access the
10182 process name slot directly.
10183
4336c705
GM
10184 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
10185 orig_height if set.
10186
10187 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
10188 orig_height if set.
10189
515d0d0e
EZ
101902000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
10191
10192 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
10193 glyph matrices have been freed.
10194
100b3cbb
GM
101952000-03-05 Gerd Moellmann <gerd@gnu.org>
10196
50df5e5a 10197 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 10198 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
10199
10200 * xfns.c (QCdata): Moved to xdisp.c.
10201
10202 * xdisp.c (QCdata): Moved here from xfns.c.
10203 (syms_of_xdisp): Initialize QCdata.
10204
10205 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
10206
10207 * window.c (coordinates_in_window): Use
10208 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
10209 FRAME_INTERNAL_BORDER_WIDTH.
10210
100b3cbb 10211 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 10212 it is obviously invalid.
100b3cbb
GM
10213
10214 * xterm.c (x_term_init): Create a colormap if not using the
10215 default visual.
10216
10217 * xterm.h (select_visual): Change prototype.
10218
10219 * xfns.c (select_visual): Rewritten. Recognize user-specified
10220 visual classes.
10221 (visual_classes): New variable.
10222
64d739c4
GM
102232000-03-04 Gerd Moellmann <gerd@gnu.org>
10224
10225 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
10226 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
10227 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 10228 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
10229 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
10230 XtNcolormap resources.
10231 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
10232 (Fx_create_frame): Initialize color members of x_output structure.
10233 (xpm_load): Pass colormap to XPM lib.
10234
10235 * xfaces.c (x_free_colors): Access colormap of frame using
10236 FRAME_X_COLORMAP. Be paranoid about freeing black and white
10237 when default colormap is used.
10238
10239 * xterm.c (x_term_init): Set Colormap member of x_display_info
10240 structure. Copy colormap if resource `privateColormap' is
10241 specified (PseudoColor only).
10242 (x_setup_relief_color): Access colormap of frame using
10243 FRAME_X_COLORMAP.
10244
10245 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
10246 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
10247
c3cee013
JR
102482000-03-04 Jason Rumney <jasonr@gnu.org>
10249
10250 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
10251 other non-platform-specific equivalents.
64d739c4 10252 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
10253 specific functions and macros as their w32 equivalents where
10254 non-platform-specifics are not available.
10255 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
10256 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
10257 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
10258 (frame_update_line_height): Use macros to access f->output_data.
10259 (defined_color): Remove FIXME comments; fixed.
10260 (x_face_list_fonts, prepare_face_for_display): Put X specifics
10261 into #ifdef blocks. Add WINDOWSNT blocks.
10262 (Fx_list_fonts): Use macros for accessing font data.
10263 (set_lface_from_font_name): Different default fonts for X and
10264 WINDOWSNT.
10265 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
10266 scalable for backward compatibility.
64d739c4 10267 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
10268 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
10269
64d739c4 10270 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
10271 syms_of_w32faces.
10272
10273 * makefile.nt (w32faces.obj): Remove.
10274 (xfaces.obj): Add.
10275
807cc41c
JR
102762000-03-03 Jason Rumney <jasonr@gnu.org>
10277
10278 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
10279 correct parameters.
10280
0007072a
KR
102812000-03-03 Ken Raeburn <raeburn@gnu.org>
10282
10283 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
10284 standard ELF definitions here if the system header does not.
10285
71a6ba55
GM
102862000-03-03 Gerd Moellmann <gerd@gnu.org>
10287
10288 * xterm.c (PER_CHAR_METRIC): Removed.
10289 (x_per_char_metric_1, x_default_char): New functions.
10290 (x_per_char_metric): If font's default char is invalid, return
10291 metrics of a suitably chosen usable default char.
10292 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
10293 char, replace occurrences of unprintable chars with a suitably
10294 chosen usable default char.
71a6ba55 10295
900fa1f1
GM
102962000-03-02 Gerd Moellmann <gerd@gnu.org>
10297
42f55fe0
GM
10298 * xterm.c (note_mouse_highlight): Return quickly if frame's
10299 glyph matrices have been freed.
10300
10301 * dispnew.c (free_glyphs): Block input while freeing matrices.
10302
900fa1f1
GM
10303 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
10304
52283633
SM
10305 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
10306 Use x_free_colors.
900fa1f1
GM
10307
10308 * dispextern.h (x_free_colors): Add prototype.
10309
10310 * xfaces.c (x_free_colors): New function.
10311 (unload_color, free_face_colors): Use it.
10312
2f950292
EZ
103132000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
10314
10315 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
10316
10317 * window.c [MSDOS]: Include msdos.h.
10318
54d04320
DL
103192000-03-02 Dave Love <fx@gnu.org>
10320
10321 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
10322
10323 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
10324 set C_OPTIMIZE_SWITCH for gcc.
10325
0ba93ac4
KH
103262000-03-02 Kenichi Handa <handa@etl.go.jp>
10327
10328 * coding.c (coding_save_composition): Be sure to allocate
10329 composition data area in coding even if there's no composition in
10330 the current run.
10331
a2bc11d4
JR
103322000-03-01 Jason Rumney <jasonr@gnu.org>
10333
10334 * w32term.c: Equivalent changes to those made to xterm.c on
10335 2000-02-25 and 2000-02-24.
10336
10337 * w32fns.c: Equivalent changes to those made to xfns.c on
10338 2000-02-25 and 2000-02-21.
10339
10340 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
10341 correct line-end convention is followed.
10342
10343 * w32menu.c [HAVE_BOXES]: Remove #undef.
10344 (single_keymap_panes): Remove code for simulating checkmarks.
10345 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
10346 Remove code for drawing simulated checkmarks.
10347 (w32_menu_show): make unibyte help string correctly.
10348 (add_menu_item): draw standard Windows checkmarks. Draw radio
10349 buttons as radio buttons if possible.
10350
72d19d75
GM
103512000-03-01 Gerd Moellmann <gerd@gnu.org>
10352
2df636f4
GM
10353 * sysdep.c (start_of_text): Don't define this function for NetBSD
10354 with ELF.
10355
427ec082 10356 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
10357 Don't define.
10358 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
10359 (LINKER): Don't undef if __NetBSD__ is defined.
10360
10361 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
10362
10363 * fileio.c [__NetBSD__]: Define `unix'.
10364
72d19d75
GM
10365 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
10366
ed4d0512
GM
103672000-02-29 Gerd Moellmann <gerd@gnu.org>
10368
50b1039f
GM
10369 * atimer.c (start_atimer): Don't abort when timers are stopped.
10370 (append_atimer_lists): New function.
10371 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
10372 arbitrary lists of stopped and running atimers.
10373
ed4d0512
GM
10374 * atimer.c (cancel_atimer): Handle canceling an atimer when
10375 some timers are stopped.
10376
10377 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
10378 after canceling it.
10379
10380 * fns.c (maybe_resize_hash_table): Handle case of new size
10381 coming out as being the same as old size.
10382
387023ee
JR
103832000-02-27 Jason Rumney <jasonr@gnu.org>
10384
10385 * makefile.nt: Add atimer.h to dependencies.
10386 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
10387 * w32console.c: Only disable window system features for dispextern.h
10388 (initialize_w32_display): Build a display info for the console.
10389 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
10390 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
10391 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
10392 as 2 button mice.
10393 * w32gui.h (struct W32FontStruct): Revert last change after change
10394 to xdisp.c.
10395 * w32menu.c (single_submenu): Set up help string.
10396 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
10397 (w32_dialog_show): Set up help string.
10398 * w32term.c (w32_display_info_for_display): Remove unused function.
10399 (w32_draw_bitmap): Use pre-built bitmaps.
10400 (w32_initialize_display_info): New function to initialize parts of
10401 display info that are common to both GUI and console frames.
10402 (w32_term_init): Use w32_initialize_display_info. Do not set
10403 Vw32_num_mouse_buttons here, as it is not called for console
10404 frames. Build bitmaps for indicating truncated lines etc.
10405 (x_delete_display): Destroy pre-built bitmaps.
10406 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
10407 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
10408
4516715a
DL
104092000-02-27 Dave Love <fx@gnu.org>
10410
10411 * lisp.h: Add a bunch of prototypes.
10412
171ca836
KH
104132000-02-26 Kenichi Handa <handa@etl.go.jp>
10414
10415 * keyboard.c (read_char): Set `usec' correctly.
10416
4013921d
KH
104172000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10418
10419 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
10420 `lambda', set reg[RRR] to the map index.
10421 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
10422 reg[RRR] to 0. Otherwise, set it to -1.
10423
9244a058
GM
104242000-02-25 Gerd Moellmann <gerd@gnu.org>
10425
2df636f4 10426 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 10427
18e21ce8 104282000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 10429
f43d79c1
GM
10430 * fileio.c (Ffile_symlink_p): If result starts with a `/'
10431 and contains a `:', prepend `/:'.
10432
10433 * window.c (select_window_1): If selected_window is nil,
10434 don't "swap out" the buffer's point.
10435 (Fset_window_configuration): Set selected_window to nil
10436 before calling Fselect_window.
10437 (unshow_buffer): Don't set point in buffer from window's point
10438 if another more recently selected window also shows the buffer.
10439
bed0c171
GM
104402000-02-25 Gerd Moellmann <gerd@gnu.org>
10441
449c3c52
GM
10442 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
10443
f5b58615
GM
10444 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
10445 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
10446 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
10447 New variables.
f5b58615
GM
10448 (DEFAULT_BUSY_CURSOR_DELAY): New define.
10449 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
10450 (hide_busy_cursor): New functions.
10451 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
10452
10453 * minibuf.c (read_minibuf): Cancel busy-cursor.
10454
10455 * keyboard.c (command_loop_1): Call start_busy_cursor before
10456 Fcommand_execute and cancel_busy_cursor after it.
10457 (timer_check): Remove busy-cursor code.
10458 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
10459 cursor timer.
10460
10461 * process.c (wait_reading_process_input): Remove busy-cursor code.
10462
10463 * eval.c (Fsignal): Call cancel_busy_cursor instead of
10464 Fx_hide_busy_cursor.
10465
10466 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
10467 Remove prototyoes.
10468 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
10469
10470 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
10471
10472 * xterm.c (XTread_socket): Remove busy-cursor code.
10473
4eb8436f
GM
10474 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
10475 (build_frame_matrix_from_leaf_window): Put code handling
10476 glyph row's not being a slice of a frame row in #if 0.
10477 (sync_window_with_frame_matrix_rows): New function.
10478 (frame_row_to_window): New function.
10479 (mirror_line_dance): Handle copies between windows.
10480
3cb65b0e
GM
10481 * lread.c (Fload): Use `xfree' instead of `free'.
10482 (init_obarray): Use `xmalloc' instead of `malloc'.
10483
bed0c171
GM
10484 * window.c (Fset_window_buffer): Set WINDOW to the window
10485 after decoding.
2add4349
GM
10486 (coordinates_in_window): Take frame's internal border width
10487 into account.
bed0c171 10488
42088c12
GM
104892000-02-24 Gerd Moellmann <gerd@gnu.org>
10490
10491 * xterm.c (x_display_and_set_cursor): Display cursor of
10492 non-selected windows depending on the setting of
10493 cursor_in_non_selected_windows.
10494
10495 * xdisp.c (cursor_in_non_selected_windows): New variable.
10496 (syms_of_xdisp): DEFVAR_BOOL it.
10497
d1e103b2
GM
104982000-02-23 Gerd Moellmann <gerd@gnu.org>
10499
723e779c
GM
10500 * data.c (Fstring_to_number): If number is greater than what
10501 fits into an integer, return a float.
10502
d1e103b2
GM
10503 * eval.c (specbind): Remove references to
10504 keyword_symbols_constant_flag.
10505
10506 * data.c (keyword_symbols_constant_flag): Removed.
10507 (Fmakunbound, set_internal, syms_of_data): Remove references to
10508 keyword_symbols_constant_flag.
10509
10510 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
10511
214f877f
KH
105122000-02-23 Kenichi Handa <handa@etl.go.jp>
10513
10514 * syntax.c (multibyte_syntax_as_symbol): New variable.
10515 (syms_of_syntax): Declare it as a Lisp variable.
10516 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
10517 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
10518 nonzero, treat all multibyte characters as symbol.
52283633 10519 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 10520
130adcb7
EZ
105212000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
10522
3cb65b0e 10523 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 10524 a deleted frame.
130adcb7 10525
17cbbf95
GM
105262000-02-21 Gerd Moellmann <gerd@gnu.org>
10527
10528 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
10529
10530 * xfns.c (x_window_to_frame, x_any_window_to_frame)
10531 (x_non_menubar_window_to_frame): Check the busy-cursor window.
10532
beb0bc36
DL
105332000-02-21 Dave Love <fx@gnu.org>
10534
10535 * frame.c (Vmouse_position_function): New variable.
10536 (Fmouse_position): Use it.
10537 (syms_of_frame): Install it.
10538
10539 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
10540
1d92afcd
GM
105412000-02-20 Gerd Moellmann <gerd@gnu.org>
10542
10543 * fileio.c (Finsert_file_contents): Unbind the binding of
10544 standard-output done by temp_output_buffer_setup.
329eed9f
GM
10545
10546 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
10547 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
10548 (specbind, unbind_to): Handle most common case of non-constant
10549 symbol with trivial value specially.
10550
10551 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
10552
18e21ce8 105532000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
10554
10555 * data.c (Fmake_variable_buffer_local): Doc fix.
10556 Init found_for_buffer to 0.
10557 (Fmake_variable_frame_local): If the variable has already
10558 been buffer-local, set the check_frame field.
10559
1d4311c3
EZ
105602000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
10561
10562 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
10563 produced for CODING_MODE_LAST_BLOCK requires.
10564
2dc95ddd
DL
105652000-02-18 Dave Love <fx@gnu.org>
10566
10567 * keyboard.c (echo_keystrokes): Remove declaration.
10568 (Vecho_keystrokes) New variable.
10569 (read_char, record_menu_key, read_key_sequence): Use it to allow
10570 use of float value.
10571 (syms_of_keyboard): Change Vecho_keystrokes declaration.
10572
10573 * lread.c: Undef feature selection macros before defining.
10574
f0930f35
GM
105752000-02-18 Gerd Moellmann <gerd@gnu.org>
10576
10577 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
10578 for symbols other than the symbol in question.
10579
e3d4de90
DL
105802000-02-17 Dave Love <fx@gnu.org>
10581
10582 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
10583
0b378936
GM
105842000-02-17 Gerd Moellmann <gerd@gnu.org>
10585
d621caf7
GM
10586 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
10587
0b378936
GM
10588 * alloc.c (enum mem_type): Compile unconditionally.
10589
3b451f74
EZ
105902000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
10591
10592 * xfaces.c (tty_defined_color): Don't return faulire indication
10593 for unspecified-fg and unspecified-bg pseudo-colors.
10594
10689a01
GM
105952000-02-17 Gerd Moellmann <gerd@gnu.org>
10596
1216f5e4
GM
10597 * alloc.c (mark_object): Don't mark symbol names in pure space.
10598 (gc_sweep): Don't unmark symbol names in pure space.
10599
10600 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
10601 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
10602 [GC_MARK_STACK]: New defines.
427ec082 10603 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
10604 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
10605
10606 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
10607
10608 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
10609 allocate_buffer instead of xmalloc.
10610
10611 * alloc.c (toplevel): Include setjmp.h.
10612 (PURE_POINTER_P): New define.
10613 (enum mem_type) [GC_MARK_STACK]: New enumeration.
10614 (Vdead) [GC_MARK_STACK]: New variable.
10615 (lisp_malloc): Add parameter TYPE, call mem_insert if
10616 GC_MARK_STACK is defined.
10617 (allocate_buffer): New function.
427ec082 10618 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
10619 (free_float) [GC_MARK_STACK]: Set type to Vdead.
10620 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
10621 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
10622 (MEM_NIL) [GC_MARK_STACK]: New define.
10623 (struct mem_node) [GC_MARK_STACK]: New structure.
10624 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
10625 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
10626 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
10627 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
10628 (mark_stack) [GC_MARK_STACK]: New functions.
10629 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
10630 (clear_marks): Removed.
10631 (gc_sweep): Set free conses' car, free floats' type, free
10632 symbols' function to Vdead. Use lisp_free to free buffers.
10633 (init_alloc_once): Initialize Vdead.
10634 (survives_gc_p): Return non-zero for pure objects.
10635
10636 * alloc.c: Add comments throughout the file.
10637
2503c8b1
GM
10638 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
10639 that unblocks alarms.
10640
8389e1e2
GM
10641 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
10642 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
10643 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
10644
10689a01 10645 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 10646
bfc17d18
KH
106472000-02-17 Kenichi Handa <handa@etl.go.jp>
10648
4a09dee0
KH
10649 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
10650 avoid infinite error signaling. Allocate sufficient memory for
10651 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 10652
2b927d02
SM
106532000-02-17 Stefan Monnier <monnier@cs.yale.edu>
10654
10655 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
10656 depends on the previous behavior.
10657
b49cb764
GM
106582000-02-16 Gerd Moellmann <gerd@gnu.org>
10659
10660 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
10661
99e95407
GM
106622000-02-15 Gerd Moellmann <gerd@gnu.org>
10663
10664 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
10665
10666 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 10667 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
10668 write(2).
10669
6ffd3cf7
RS
106702000-02-15 Richard M. Stallman <rms@gnu.org>
10671
10672 * data.c (set_internal): Don't make variable buffer-local
10673 if within a let-binding for the same buffer.
10674 (let_shadows_buffer_binding_p): New function.
10675
10676 * eval.c (specbind): For buffer-local value,
10677 record the current buffer also.
10678 (unbind_to): Cope with that change.
10679
cad53475
GM
106802000-02-15 Gerd Moellmann <gerd@gnu.org>
10681
10682 * window.c (Fsave_window_excursion): Doc fix.
10683
1aa963c8
SM
106842000-02-15 Stefan Monnier <monnier@cs.yale.edu>
10685
10686 * syntax.c (back_comment): Make sure we only consider comment-starters
10687 of the relevant style and return -1 in case of a failure to find the
10688 beginning of the comment.
10689 (Fforward_comment): If back_comment fails, go back to the position just
10690 after the comment-end.
10691 (scan_lists): Add comment describing a very minor bug.
10692
b9b84fd3
SM
106932000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10694
10695 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
10696 `completion-regexp-list' in the docstring.
10697
3a28db80
DL
106982000-02-14 Dave Love <fx@gnu.org>
10699
10700 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
10701
fb4a568d
SM
107022000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10703
10704 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
10705 to Emacs' syntax. Also fix the comment about set/not-set meanings
10706 since Emacs syntax is not the value 0 any more.
10707 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
10708 since it's now part of RE_SYNTAX_EMACS.
10709
1063ebb5
DL
107102000-02-12 Dave Love <fx@gnu.org>
10711
52283633 10712 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 10713
fb07a302
GM
107142000-02-12 Gerd Moellmann <gerd@gnu.org>
10715
10716 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
10717
aaf2320c
DL
107182000-02-12 Dave Love <fx@gnu.org>
10719
10720 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
10721
10722 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
10723 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
10724 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
10725
10726 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
10727
10728 * s/nextstep.h: Don't define HAVE_ALLOCA.
10729
10730 * config.in: Add vfork bits.
10731
eedf8bde
GM
107322000-02-12 Gerd Moellmann <gerd@gnu.org>
10733
10734 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
10735 unwind function to undo the effect of stopping atimers.
10736
52283633 10737 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
10738
10739 * atimer.c (stopped_atimers): New variable.
10740 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
10741 New functions.
10742
10743 * atimer.h (stop_other_atimers, run_all_atimers)
10744 (unwind_stop_other_atimers): Add function prototypes.
427ec082 10745
eedf8bde
GM
10746 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
10747
8476c2f8
KR
107482000-02-11 Ken Raeburn <raeburn@gnu.org>
10749
10750 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
10751 library may depend on jpeg.
10752 (atimer.o): Depends on atimer.c.
10753
0e85e4a3
KH
107542000-02-11 Kenichi Handa <handa@etl.go.jp>
10755
10756 * insdel.c (del_range_1): Call update_compositions.
10757 (del_range_both): Call update_compositions just once..
10758
97fa0cc8
DL
107592000-02-10 Dave Love <fx@gnu.org>
10760
10761 * xfns.c (create_frame_xic): Fix initialization of automatic
10762 aggregates for pcc.
10763
25566a3c
KH
107642000-02-09 Kenichi Handa <handa@etl.go.jp>
10765
10766 * ccl.c (CCL_MAKE_CHAR): New macro.
10767 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
10768 registers by CCL_MAKE_CHAR before calling translate_char.
10769 <CCL_TranslateCharacterConstTbl> Likewise.
10770
69da54ba
DL
107712000-02-08 Dave Love <fx@gnu.org>
10772
10773 * lread.c (__EXTENSIONS__): Define.
10774
f7136ee8
GM
107752000-02-08 Gerd Moellmann <gerd@gnu.org>
10776
10777 * puresize.h (BASE_PURESIZE): Increase to 650000.
10778
7768790b
EZ
107792000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10780
10781 * msdos.c (XMenuActivate): Turn off the cursor after displaying
10782 the help message.
10783
38fd211b
EZ
107842000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10785
10786 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
10787 md, mh, mb, mr, and me to the fake termcap entry.
10788
66e4690f
KR
107892000-02-06 Ken Raeburn <raeburn@gnu.org>
10790
10791 * sound.c (sound_cleanup): Don't call device close routine if the
10792 function pointer is null.
10793
a75dfea0
AI
107942000-02-06 Andrew Innes <andrewi@gnu.org>
10795
10796 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
10797 around image definitions and prototypes.
10798 (gamma_correct) [WINDOWSNT]: New prototype.
10799
10800 * w32term.c (x_make_frame_visible): Replace call to
10801 input_poll_signal with poll_for_input.
10802
10803 * window.c [WINDOWSNT]: Include w32term.h.
10804
10805 * xdisp.c [WINDOWSNT]: Include w32term.h.
10806
10807 * makefile.nt: Add dependencies on w32gui.h.
10808 (OBJ1): Include atimer.obj.
10809 ($(BLD)\atimer.obj): New dependency rule.
10810
10811 * w32.c (sigmask): New function (does nothing).
10812 (sigunblock): Ditto.
10813
10814 * frame.c [WINDOWSNT]: Include w32term.h.
10815
10816 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
10817
10818 * lread.c (syms_of_lread): Fix literal newlines.
10819
10820 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
10821 the string constant limit (2048 bytes) in MSVC.
10822 (main): Ditto.
10823
59ddecde
GM
108242000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
10825
52283633 10826 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
10827 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
10828 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
10829 dispatch the event.
10830
07590973
DL
108312000-02-04 Dave Love <fx@gnu.org>
10832
10833 * fileio.c: Remove some unused vars.
10834 (_GNU_SOURCE): Define (for euidaccess).
10835
10836 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
10837
10838 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
10839 gcpro1, gcpro2.
10840 (read_minibuf): Deal with allow_props correctly.
10841
649351f9
EZ
108422000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
10843
10844 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
10845
66e4690f 108462000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
10847
10848 * search.c (compile_pattern): If a cache entry has a nil regexp,
10849 fill in that entry instead of clobbering a previously cached
10850 string regexp.
10851
66e4690f 108522000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
10853
10854 * puresize.h (BASE_PURESIZE): Increase to 610000.
10855
d240a249
GM
108562000-02-02 Gerd Moellmann <gerd@gnu.org>
10857
10858 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
10859 can GC.
10860
ca91fb26
KH
108612000-02-02 Kenichi Handa <handa@etl.go.jp>
10862
25660570
KH
10863 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
10864 instead of incrementing ic directly.
10865 <CCL_WriteExprConst> Likewise.
10866 <ccl_set_expr>: Set ic to jump_address.
10867
ca91fb26
KH
10868 * fileio.c (e_write): Fix the handling of
10869 CODING_FINISH_INSUFFICIENT_SRC.
10870
2ede9689
DL
108712000-02-01 Dave Love <fx@gnu.org>
10872
10873 * editfns.c (Fpropertize): Doc fix.
10874
10875 * process.c (Fstart_process): Doc fix.
10876
10877 * eval.c: Fix various doc strings not to duplicate information
10878 from help-manyarg-func-alist.
10879
52283633 10880 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
10881
10882 * doc.c (Vhelp_manyarg_func_alist): New variable.
10883 (Fdocumentation): Use it.
10884 (syms_of_doc): Define it.
10885
b6680a0e
GM
108862000-01-31 Gerd Moellmann <gerd@gnu.org>
10887
2cb750ba
GM
10888 * xterm.c (xim_open_dpy): Remove unused local variable.
10889
52283633 10890 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
10891
10892 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
10893 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
10894
b6680a0e
GM
10895 * fns.c (sweep_weak_table): New function.
10896 (sweep_weak_hash_tables): Use it. Keep on marking until there
10897 is no more change.
10898
994c5afe
GM
108992000-01-30 Gerd Moellmann <gerd@gnu.org>
10900
10901 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
10902 that XTread_socket does not crash by trying to call XNoOp on a
10903 closed display.
427ec082 10904
f00276e3
JR
109052000-01-30 Jason Rumney <jasonr@gnu.org>
10906
10907 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
10908 Change selected_frame to SELECTED_FRAME ().
10909 (w32_console_mouse_position): Remove #ifndef MULE from around
10910 `insist' parameter.
10911
10912 * makefile.nt: Remove dosfns.obj.
10913
10914 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
10915
10916 * w32fns.c (w32_defined_color): Check for valid frame before
10917 applying gamma correction. Eliminate dependency on frame elsewhere.
10918 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
10919 (w32_to_x_font): Use resx and resy not height_in and width_in.
10920 (x_to_w32_font): Doc fix.
10921 (xlfd_strip_height): New function to strip and return font height.
10922 (w32_font_match): Compare height separately from rest of xlfd
10923 spec, using xlfd_strip_height.
10924
10925 * w32term.c (w32_term_init): Swap resx and height_in, resy and
10926 width_in. Use w32_defined_color in place of defined_color.
10927
10928 * w32faces.c: Merge more of DOS and X specifics in preparation for
10929 merge with xfaces.c.
10930 (defined_color): Remove FIXME comment.
10931 (tty_color_name): Provide w32-specific function.
10932 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
10933
10934 * w32console.c (turn_on_face, turn_off_face): Removed.
10935 (w32_face_attributes): New function.
10936 (Global_variables): Reduce scope where possible.
10937 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
10938 fill attribute.
10939 (hl_mode): Don't modify text attributes.
10940 (write_glyphs): Don't do anything if len <= 0. Use
10941 w32_face_attributes to get attributes for drawing. Write
10942 terminating codes using char_attr_normal.
10943 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
10944 (update_begin, update_end): Likewise.
10945 (vga_stdcolor_name): New function.
10946 (initialize_w32_display): Remove char_attr_reverse and char_attr.
10947 (Fset_screen_color): Remove char_attr_reverse.
10948
b08e8bb2
GM
109492000-01-29 Gerd Moellmann <gerd@gnu.org>
10950
10951 * xfns.c (xic_set_preeditarea): Take window parameter and
10952 window-relative pixel-positions.
10953
10954 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
10955 is its frame's selected window.
10956 (xim_instantiate_callback): Likewise.
10957
10958 * xfns.c (x_create_im): Removed.
10959 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
10960 (supported_xim_styles): Renamed from supported_styles.
10961 (best_xim_style): Renamed from best_style.
10962 (create_frame_xic): Renamed from xic_create_frame.
10963 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 10964
b08e8bb2
GM
109652000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
10966
10967 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
10968 our frames, call XFilterEvent with 2nd parameter `None'.
10969 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
10970 returning XBufferOverflow.
52283633 10971 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
10972 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
10973 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
10974 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
10975 (xim_initialize, xim_close)
10976 [HAVE_X_I18N && HAVE_X11R6]: New functions.
10977 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
10978 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
10979 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
10980
10981 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
10982 and `xim_styles'.
10983 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
10984 `xic_style' and `xic_xfs'.
10985 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
10986 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
10987 (FRAME_XIM): Removed.
10988
10989 * xfns.c (supported_styles): New variable.
10990 (DEFAULT_STYLE, DEFAULT_FONT): New macros
10991 (xic_create_xfontset, best_style, xic_create_frame)
10992 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
10993 (xic_set_xfontset): New functions.
10994
142e109c
DL
109952000-01-28 Dave Love <fx@gnu.org>
10996
10997 * s/irix6-5.h: Revert last change after change to irix5-0.h.
10998
10999 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
11000
b02786f9
GM
110012000-01-28 Gerd Moellmann <gerd@gnu.org>
11002
d060bc9f
GM
11003 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
11004 for *scratch* if it already existed.
11005
b02786f9
GM
11006 * emacs.c (USAGE): New macro.
11007 (main): Use it to display usage information.
11008
2c52d7e4
EZ
110092000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
11010
11011 Support for the menu-help feature:
11012
52283633 11013 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
11014
11015 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
11016 part of the line to the termscript file.
11017 (IT_clear_to_end): Clear the entire line, not just its beginning.
11018 (menu_help_message, prev_menu_help_message): New variables.
11019 (IT_menu_make_room): Make room for the help_text member.
11020 (IT_menu_display): New argument disp_help; all callers changed.
11021 If disp_help is non-zero, store the help text of the active menu
11022 item in menu_help_message.
11023 (XMenuAddPane): Initialize the help_text member to NULL.
11024 (XMenuAddSelection): New argument help_text. Store it in the
11025 XMenu structure.
11026 (XMenuActivate): New argument help_callback. If the value of
11027 menu_help_message has changed since the last time, display the
11028 menu help message text while waiting for the mouse to move. Clear
11029 the echo area before exiting.
11030 (XMenuDestroy): Free the help_text member.
11031
ffe0bcd1
GM
110322000-01-27 Gerd Moellmann <gerd@gnu.org>
11033
11034 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
11035 XMenuAddSelection. Pass help callback to XMenuActivate.
11036 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
11037
50dbd23f
EZ
110382000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
11039
11040 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
11041 and EMACS_SET_USECS.
11042
f5941bf8
GM
110432000-01-26 Dave Love <fx@gnu.org>
11044
6c67ddee
DL
11045 * editfns.c (Fchar_after, Fchar_before): Doc fix.
11046
f5941bf8
GM
11047 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
11048 an error may be signalled.
11049
9e49c990
GM
110502000-01-26 Gerd Moellmann <gerd@gnu.org>
11051
fc3cb460
GM
11052 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
11053 LD_SWITCH_SYSTEM inherited from irix5-0.h.
11054
9e49c990
GM
11055 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
11056
d0c037d8
GM
110572000-01-25 Gerd Moellmann <gerd@gnu.org>
11058
11059 * charset.c (Fstring): If there is a multibyte char among
11060 the args, always return a multibyte string.
11061
e12489f9
GM
110622000-01-25 Gerd Moellmann <gerd@gnu.org>
11063
11064 * sysdep.c (sys_select): Turn atimers off and on instead of
11065 recording and restoring old alarm handler
11066
11067 * process.c (toplevel): Include atimer.h.
11068 (create_process_1): Rewritten.
11069 (create_process): Use atimers instead of alarm.
11070 (wait_reading_process_input) [hpux]: Turn atimers off instead
11071 of turning off SIGALRM.
11072 (wait_reading_process_input): Turn off atimers instead off
11073 calling stop_polling.
11074
11075 * emacs.c (main): Call init_atimer.
11076
11077 * keyboard.c (toplevel): Include systime.h and atimer.h.
11078 (polling_for_input): Removed because unused.
11079 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
11080 (poll_timer): New variable.
11081 (poll_for_input, poll_for_input_1): New functions.
11082 (start_polling, stop_polling): Rewritten.
11083
11084 * keyboard.h (polling_for_input): Removed.
427ec082 11085
e12489f9
GM
11086 * atimer.h, atimer.c: New files.
11087
11088 * Makefile.in (obj): Add atimer.o.
11089 (atimer.o): New target.
11090
11091 * blockinput.h (pending_atimers): Add extern declaration.
11092 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
11093
11094 * lisp.h (popup_activated_flag): Add extern declaration.
11095
11096 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 11097 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
11098 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
11099
11100 * xterm.c (toplevel): Include atimer.h.
11101 (toolkit_scroll_bar_interaction): New variable.
11102 (Fxt_process_timeouts): Removed.
11103 (x_process_timeouts): New function.
11104 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
11105 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
11106 (x_make_frame_visible): Call poll_for_input_1 instead of
11107 input_poll_signal. Don't call alarm.
11108 (x_initialize): Install timer calling x_process_timeouts.
427ec082 11109
1e5279b9
DL
111102000-01-24 Dave Love <fx@gnu.org>
11111
6c67ddee 11112 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
11113 Don't use -cckr -- apparently not now necessary.
11114
edf6aeb8
EZ
111152000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
11116
11117 * msdos.c (IT_menu_display): Truncate long menu lines at the right
11118 screen boundary.
11119
9badad41
JR
111202000-01-23 Jason Rumney <jasonr@gnu.org>
11121
11122 * w32fns.c (w32_defined_color): Apply gamma correction before
11123 trying to map to the palette.
11124 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
11125 to w32_clear_rect.
11126
11127 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
11128 here. Callers changed to always pass real device context.
11129 (w32_draw_bitmap): Likewise.
11130 (w32_get_glyph_overhangs): Likewise.
52283633 11131 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
11132 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
11133 pfnSetScrollInfo and SetScrollRange.
11134 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
11135 back into MULE characters after decoding them.
11136 (x_get_glyph_face_and_encoding): Likewise.
11137 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
11138 GetCharABCWidthsW fails, since this is defined on Windows 9x.
11139 (x_produce_glyphs): Calculate per char metrics for a character
11140 that we know exists in default font when font_not_found_p is true.
11141
63bd786b
JR
111422000-01-22 Jason Rumney <jasonr@gnu.org>
11143
11144 * makefile.nt (intervals.obj, composite.obj): New modules.
11145 (composite.h): Added as dependency where appropriate.
11146
11147 * w32gui.h (XGCValue): New struct for emulating X GCs.
11148
11149 * w32term.h (XCharStruct): New struct for emulating X.
11150
11151 * w32console.c (turn_on_face, turn_off_face): New functions.
11152 (change_line_highlight): New prototype for new redisplay.
11153 (write_glyphs): Support multibyte text. Support faces.
11154
52283633 11155 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
11156
11157 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
11158 throughout. struct frame * in place of FRAME_PTR.
11159 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 11160 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
11161 (w32_get_arg): Renamed from x_get_arg.
11162 (Fx_file_dialog): New function.
11163 (w32_list_fonts): Check cache before asking system.
11164 (Vw32_enable_synthesized_fonts): New variable.
11165 (Vw32_enable_italics): Obsolete, removed.
11166
11167 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
11168 Use SELECTED_FRAME macro.
11169
11170 * w32menu.c: Add skeleton support for help strings on menus.
11171 (add_menu_item): Native checkbox and radio support added, but not
11172 yet enabled due to bugs.
11173 (push_menu_item): Add parameters type, selection and help.
11174 Callers updated.
11175 Formatting changes to reduce unnecessary diffs with xmenu.c.
11176
11177 * w32select.c (Fw32_set_clipboard_data): Update call to
11178 find_charset_in_str.
11179
11180 * w32term.c: Complete rewrite for new redisplay based on new
11181 xterm.c with necessary sections merged back in from old w32term.c.
11182
6ffd3cf7 111832000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
11184
11185 * data.c (set_internal): Further fix in same criterion.
11186
6ffd3cf7 111872000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
11188
11189 * data.c (set_internal): Fix the criteria for whether
11190 to swap out the old cached binding.
11191
60af03f1
DL
111922000-01-19 Dave Love <fx@gnu.org>
11193
11194 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
11195
f9be074f
KH
111962000-01-18 Kenichi Handa <handa@etl.go.jp>
11197
11198 * regex.c (re_compile_fastmap): While checking a range table for
11199 `charset', skip flag bits for a character class correctly.
11200
52b8dbf9
GM
112012000-01-17 Gerd Moellmann <gerd@gnu.org>
11202
d36100c9
GM
11203 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
11204
52283633 11205 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
11206
11207 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 11208 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
11209
11210 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
11211 MENU_ITEMS_ITEM_.*.
11212 (MENU_ITEMS_ITEM_HELP): New enumerator.
11213 (push_menu_item): Add parameter HELP. Record help in menu_items.
11214 (single_menu_item, single_submenu, list_of_items): Call
11215 push_menu_item with new parameter.
11216 (single_submenu): Set help string in widget value.
11217 (menu_highlight_callback): New function.
11218 (set_frame_menubar): Call lw_create_widget with new
11219 parameter list.
11220 (xmenu_show, xdialog_show): Ditto.
11221
3139018f
GM
112222000-01-13 Gerd Moellmann <gerd@gnu.org>
11223
11224 * sound.c (Fplay_sound): Improve doc string.
11225
83c8f461
RS
112262000-01-11 Richard M. Stallman <rms@gnu.org>
11227
11228 * lisp.h (set_internal): Enter the new arg.
11229
11230 * eval.c (specbind): Record buffer-local variables specially,
11231 indicating which buffer's binding was saved.
11232 (unbind_to): Restore buffer-local variables specially
11233 in the proper buffer.
11234
11235 * data.c (set_internal): New arg BUF.
427ec082 11236
83c8f461
RS
11237 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
11238 * data.c (Fset): Pass new arg to set_internal.
11239 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 11240
1fab1775
GM
112412000-01-11 Gerd Moellmann <gerd@gnu.org>
11242
52283633 11243 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 11244
83c8f461 112452000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
11246
11247 * minibuf.c (Ftry_completion): Doc fix.
11248
7a85e4df
GM
112492000-01-11 Gerd Moellmann <gerd@gnu.org>
11250
11251 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
11252 vector, too.
11253
a970dae4
AS
112542000-01-11 Andreas Schwab <schwab@suse.de>
11255
11256 * coding.c (code_convert_region): Initialize total_skip.
11257
c65d14ee
DL
112582000-01-08 Dave Love <fx@gnu.org>
11259
11260 * eval.c (Fuser_variable_p): Check customizability too.
11261
834938d2
GM
112622000-01-07 Gerd Moellmann <gerd@gnu.org>
11263
11264 * minibuf.c (Fcompleting_read): Doc fix.
11265
e0303cd6
GM
112662000-01-05 Gerd Moellmann <gerd@gnu.org>
11267
8a26744b
GM
11268 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
11269 -L /usr/local/lib.
11270
e0303cd6
GM
11271 * xfns.c (x_create_im): New function to set IM and IC of a frame.
11272 Check that input style is supported before trying to create an
11273 IC for it.
11274 (x_window): Call x_create_im.
427ec082 11275
2e471eb5
GM
112762000-01-04 Gerd Moellmann <gerd@gnu.org>
11277
560a7bd2
GM
11278 * xfns.c (current_gif_memory_src): New variable.
11279 (gif_load): Record the address of the current memory source
11280 in current_gif_memory_src.
11281 (gif_read_from_memory): Use current_gif_memory_src.
11282
f9ee84a3
GM
11283 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
11284 macros statement form.
11285
d1299cde
GM
11286 * sound.c (struct sound): Renamed from struct sound_file.
11287 (struct sound): Add members `data' and `header_size'.
11288 (enum sound_attr): Add SOUND_DATA.
11289 (current_sound, current_sound_device): Variables renamed from
11290 sound_file and sound_device.
11291 (parse_sound): Parse :data.
11292 (parse_sound): Handle sound data in strings.
11293 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 11294 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
11295 needed header size.
11296 (wav_play, au_play): Play sounds from string data.
11297
2e471eb5
GM
11298 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
11299
11300 * lisp.h: Add prototype for allocate_string_data.
11301
52283633 11302 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
11303
11304 * alloc.c (mark_buffer): Remove code in #if 0.
11305 (gc_sweep): Ditto.
11306 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
11307 (strings_consed): New variable.
11308 (allocate_string): Set it.
11309 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
11310 (Fmemory_use_counts): Return strings_consed. Use Flist.
11311
11312 * alloc.c: General cleanup in comments etc. Remove conditional
11313 compilation for `standalone'.
11314
11315 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
11316
11317 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
11318 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
11319 (DONT_COPY_FLAG): Removed.
11320 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
11321 (struct sdata, struct sblock): New
11322 (struct string_block): Rewritten.
11323 (STRINGS_IN_STRING_BLOCK): New macro.
11324 (oldest_sblock, current_sblock, total_strings, total_free_strings)
11325 (large_sblocks, string_blocks, string_free_list): New variables.
11326 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
11327 (init_strings): Rewritten.
11328 (allocate_string, allocate_string_data, compact_small_strings)
11329 (free_large_strings, sweep_strings): New functions.
11330 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
11331 (struct string_block_head, current_string_block)
11332 (first_string_block, large_string_blocks, STRING_FULLSIZE)
11333 (STRING_PAD): Removed.
11334 (make_uninit_multibyte_string, make_pure_string): Rewritten.
11335 (Fgarbage_collect): Don't set mark bit in large strings.
11336 (mark_object): Mark strings differently. Mark symbol names
11337 differently.
11338 (survives_gc_p): Test marked strings differently.
427ec082 11339 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
11340 symbol names.
11341 (compact_strings): Removed.
11342
42608ba8
EZ
113432000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
11344
11345 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
11346 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
11347
e0a09e1a
KH
113482000-01-04 Kenichi Handa <handa@etl.go.jp>
11349
dd9f0750 11350 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 11351 in a non-empty buffer.
dd9f0750 11352
3c0f3b15 11353 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 11354
44cd3ae5
GM
113552000-01-03 Gerd Moellmann <gerd@gnu.org>
11356
11357 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
11358 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
11359
11360 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
11361
c182a70f
EZ
113622000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11363
11364 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
11365 need to test for MSDOS frames.
11366
24480d5b
EZ
113672000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11368
11369 * dosfns.c (unspecified_colors): Remove.
11370 (msdos_stdcolor_idx): Use global variables unspecified_fg and
11371 unspecified_bg.
11372 (msdos_stdcolor_name): Return strings for unspecified fore- and
11373 back-ground colors.
11374
11375 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 11376 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
11377 (tty_color_name): Return Lisp strings for unspecified fore- and
11378 back-ground colors.
11379 (Finternal_set_lisp_face_attribute): Remove the special treatment
11380 for Qunspecified_{f,b}g.
52283633 11381 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 11382
047f434a
GM
113832000-01-03 Gerd Moellmann <gerd@gnu.org>
11384
11385 * xdisp.c (reseat_at_next_visible_line_start): Position before
11386 newline only if ending up on a newline.
11387 (next_element_from_ellipsis): Return success. Handle case of
52283633 11388 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
11389 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
11390 returns 0.
11391
d684c676
EZ
113922000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11393
11394 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
11395 (Fcolor_supported_p): Renamed from face-color-supported-p.
11396
5fe1d139
EZ
113972000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11398
11399 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
11400 list of colors renamed to tty-defined-color-alist.
11401 (tty_color_name): Pass the frame to tty-color-by-index.
11402 (realize_tty_face): tty-color-alist is now a function which
11403 accepts the frame as argument.
11404
52283633 11405 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 11406
816be8b8
EZ
114072000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11408
11409 * term.c (insert_glyphs): Pass glyph, not &glyph, to
11410 encode_terminal_code.
11411
b635321e
EZ
114122000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11413
11414 * dispnew.c (mode_line_string): Support termcap frames as well.
11415
9b784e96
GM
114162000-01-01 Gerd Moellmann <gerd@gnu.org>
11417
27189709
GM
11418 * syntax.c (Fforward_word): Undo previous change.
11419
11420 * editfns.c (Fconstrain_to_field): Don't constrain if
11421 inhibit-field-text-motion is non-nil.
11422 (Fline_beginning_position): Undo previous change.
11423 (Fline_end_position): Ditto.
11424
11425 * syntax.c (Fforward_word): Notice field boundaries only if
11426 inhibit-field-text-motion is nil.
11427
11428 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
11429
11430 * editfns.c (Vinhibit_field_text_motion): New variable.
11431 (inhibit-field-text-motion): New DEFVAR_LISP.
11432 (Fline_beginning_position, Fline_end_position): Notice field
11433 boundaries only if inhibit-field-text-motion is nil.
11434
45158a91
GM
11435 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
11436 All calls adjusted.
11437 (x_build_heuristic_mask): Likewise.
11438 (xbm_load_image_from_file): Change error output.
11439 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
11440 (gif_load, gs_load, x_kill_gs_process): Ditto.
11441
9b784e96
GM
11442 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
11443 color indices when accessing raster pixels.
63cec32f
GM
11444 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
11445 one of :file or :data.
11446 (enum pbm_keyword_index): Add PBM_DATA.
11447 (pbm_format): Add :data.
11448 (pbm_image_p): Allow either :file or :data.
11449 (pbm_read_file): New function.
11450 (pbm_scan_number): Rewritten to read from string.
11451 (pbm_load): Support :data.
9b784e96 11452
2cb085db 11453See ChangeLog.8 for earlier changes.
6922b018
KH
11454
11455;; Local Variables:
49b3bd82 11456;; coding: iso-2022-7bit
6922b018 11457;; End: