(Vtool_bar_button_margin): Replaces tool_bar_button_margin.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
4956d1ef
GM
12001-01-12 Gerd Moellmann <gerd@gnu.org>
2
4554cc79
GM
3 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
4 and GLYPHS.
5
6 * dispnew.c (update_text_area): Put code which decrements the
7 stop position when the row's face extends to the end of the
3bffc665 8 line in #if 0.
4554cc79 9
3cccce8d
GM
10 * xfns.c (x_set_mouse_color): Fix color allocation.
11
4956d1ef
GM
12 * keyboard.c: Call get_local_map with new argument list.
13
14 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
15
16 * intervals.h (enum map_property): Removed.
17 (get_local_map): Change prototype.
18
19 * keymap.c: Call get_local_map with new argument list.
20 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
21
2c2ff7f2
GM
222001-01-11 Gerd Moellmann <gerd@gnu.org>
23
a23887b9
GM
24 * xdisp.c (build_desired_tool_bar_string): Correct the computation
25 of the size needed for the tool bar string. For the last image,
26 use a `display' property that reaches to the end of the string.
27
a7ee2d2e
GM
28 * xselect.c (selection_request_dpyinfo): New variable.
29 (x_handle_selection_request): Set it.
30 (x_selection_request_lisp_error): Don't call
31 x_decline_selection_request if selection request's display has
32 been closed.
33
2c2ff7f2
GM
34 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]: Do
35 the unregister_colors before calling XFreeColors.
36
457b792c
GM
372001-01-10 Dave Love <fx@gnu.org>
38
39 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
40 ${SOME_MACHINE_LISP}, not ${lisp}.
41
c1efd260
GM
422001-01-10 Gerd Moellmann <gerd@gnu.org>
43
a98b5ed9 44 * xdisp.c (display_line): On ttys, produce more than one
4554cc79 45 truncation glyph for multi-column characters that don't fit on the
a98b5ed9
GM
46 line.
47
ac95a621
GM
48 * xselect.c (x_reply_selection_request): Add a comment.
49
c1efd260
GM
50 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
51 XkbGetNames instead of XkbGetKeyboard.
52
1bfb1345
DL
532001-01-10 Dave Love <fx@gnu.org>
54
55 * sysdep.c (random): Revert the declaration.
56
38119822
GM
572001-01-09 Gerd Moellmann <gerd@gnu.org>
58
35f464a7
GM
59 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]: Call
60 function string_bytes.
61 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
62
63 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
64 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
65 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
66 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
67 the current sblock.
68 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
69 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
70 after sweeping strings, and at the end.
71 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
72
38119822
GM
73 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
74 ensure that pop_message is called.
75
76 * keyboard.c (Fexecute_extended_command): Use a
77 record_unwind_protect to ensure that pop_message is called.
78
79 * lisp.h (push_message_unwind): Add prototype.
80
81 * xdisp.c (push_message_unwind): New function.
82
83 * fileio.c (do_auto_save_unwind): Do the pop_message here
84 instead of in Fdo_auto_save.
85 (Fdo_auto_save): Don't call pop_message.
86
f47a9ec4
KR
872001-01-08 Ken Raeburn <raeburn@gnu.org>
88
89 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
90 in inner block.
91
a758f97d
GM
922001-01-08 Gerd Moellmann <gerd@gnu.org>
93
6d0afc03
GM
94 * window.c (window_scroll_pixel_based): Adjust glyph matrices
95 when increasing window's vscroll.
96
a758f97d
GM
97 * macros.c (Qkbd_macro_termination_hook): New variable.
98 (syms_of_macros): Initialize and staticpro it.
99 (pop_kbd_macro): Run kbd-macro-termination-hook.
100
101 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
102
1bfb1345 1032001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
104
105 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
106 arglist, for documentation's sake.
107
0dac6924
AI
1082001-01-06 Andrew Innes <andrewi@gnu.org>
109
110 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
111 of *.pdb.
112
8182406a
AI
1132001-01-05 Andrew Innes <andrewi@gnu.org>
114
115 * term.c (update_end): Don't check updating_frame; for some reason
116 this can be 0 sometimes, such as after dismissing a popup menu,
117 and isn't necessary given the explicit frame argument.
118
3828218c
GM
1192001-01-05 Gerd Moellmann <gerd@gnu.org>
120
121 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
122 on some systems, and an unsigned long on others, like FreeBSD 4.1.
123
2f5ded21
GM
1242001-01-04 Gerd Moellmann <gerd@gnu.org>
125
126 * xterm.c (clear_mouse_face): Don't return if tip_frame is
127 non-nil.
128
129 * xfns.c (x_create_tip_frame): Preserve the value of
130 face_change_count around the creation of the tip frame.
131
132 * xfns.c (last_show_tip_args): New variable.
133 (compute_tip_xy): New function.
134 (Fx_show_tip): Reuse an existing tip frame, if possible.
135 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
136
dfad65fa
DL
1372001-01-04 Dave Love <fx@gnu.org>
138
64d4ec0f
DL
139 * editfns.c (Fformat): Doc fix.
140
dfad65fa
DL
141 * systime.h (set_file_times): Prototype.
142
143 * widget.h (EmacsFrameSetCharSize_): Prototype.
144
145 * sysdep.c (random, srandom): Declare explicitly.
146
147 * dispextern.h (move_it_vertically_backward): Declare.
148
85fe3b5e
GM
1492001-01-04 Gerd Moellmann <gerd@gnu.org>
150
0f2ac578
GM
151 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
152 like in Fx_create_frame.
153
482cca61
GM
154 * xfaces.c (set_font_frame_param): Don't do anything for
155 non-graphical frames.
156
85fe3b5e
GM
157 * window.c (Fdelete_other_windows): Set window's window_end_valid
158 to nil when changing the window's start. Don't change the
159 window's start when its top position hasn't changed. If we do,
160 this will set the window's optional_new_start, which act's like a
161 force_start during redisplay with C-x 1 M-> under particular
162 circumstances (see report from Per Starback to emacs-pretest-bug
163 from 2000-12-13.).
164
3e99d3b4
GM
1652001-01-03 Gerd Moellmann <gerd@gnu.org>
166
a77dc1ec
GM
167 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
168 short cut at the start of the function. Add an assertion.
169 (reseat_at_next_visible_line_start): Add an assertion.
170
2f3cad6c
GM
171 * window.c (Frecenter): When changing the window start, set the
172 window's window_end_valid to nil.
173 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
174
175 * dispextern.h (move_it_past_eol): Add prototype.
176
177 * xdisp.c (move_it_past_eol): New function.
178
3e99d3b4
GM
179 * window.c (Fwindow_end): Doc fix.
180
1812001-01-03 Dave Love <fx@gnu.org>
182
183 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3
184 kluge.
185
bafb434c
GM
1862001-01-03 Gerd Moellmann <gerd@gnu.org>
187
188 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
189 the enabled_p flag of the glyph row at window_end_vpos to 0.
190 (handle_single_display_prop): Fix last change.
191
5297fb00
RS
1922001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
193
194 * window.c (Frecenter): Doc fix.
195
13d6a61c
AI
1962001-01-02 Andrew Innes <andrewi@gnu.org>
197
198 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
199
200 * frame.h (output_method): Add output_w32_console method.
201 (FRAME_W32_CONSOLE_P): New macro.
202
203 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
204 use output_w32_console method.
205 (Qw32_console): New Lisp_Object.
206 (Fframep): Return it.
207 (syms_of_frame): Init it.
208 (Fframe_parameters): Report w32console as font for w32_console
209 frames.
210
211 * xfaces.c (realize_default_face): Set face foreground and
212 background to unspecified for w32_console frames.
213 (realize_face): Realize face cache for w32_console frames.
214 (realize_tty_face): Accept w32_console frames.
215
216 * xdisp.c (handle_single_display_prop): Return if frame is
217 w32_console.
218 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
219 necessary, even if running interactively.
220
221 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
222 w32_console frames.
223
224 * w32term.c (x_update_begin):
225 (x_update_end):
226 (x_clear_frame):
227 (x_ins_del_lines):
228 (x_change_line_highlight):
229 (x_delete_glyphs):
230 (w32_ring_bell):
231 (x_update_begin):
232 (x_update_end):
233 (w32_reassert_line_highlight):
234 (w32_frame_rehighlight):
235 (w32_frame_raise_lower): Do nothing if not w32 frame.
236
237 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
238
239 * w32fns.c (Fx_display_color_cells): Determine correct value, when
240 system doesn't tell us directly.
241 (Fx_display_visual_class): Implement properly.
242
d6bb0c0d
GM
2432001-01-02 Gerd Moellmann <gerd@gnu.org>
244
245 * window.c (Frecenter): Handle centering in graphical frames
246 specially. Centering on the basis of line counts doesn't work
247 reliably with variable-height lines.
248
315f5865
EZ
2492001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
250
251 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
252 and al[].
253
254 * composite.c (run_composition_function): Remove unused variable
255 `val'.
256 (update_compositions): Remove unused variable `hook'.
257
258 * intervals.c (get_local_map): Remove unused variable `tem'.
259
260 * doprnt.c (doprnt1): Remove unused variable `size'.
261
262 * fns.c (Flength): Remove unused variable `tail'.
263 (Fdelete): Remove unused variable `size'.
264
265 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
266 and `gcpro2'.
267
268 * doc.c (Fsnarf_documentation): Remove unused variables `fun' and
269 `tem'.
270
271 * data.c (find_symbol_value): Remove extra 3rd argument in the
272 call to swap_in_symval_forwarding.
273
274 * undo.c (Fprimitive_undo): Remove unused block-scope variable
275 `end'.
276
277 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
278 (trivial_regexp_p): Remove unused variable `c'.
279 (boyer_moore): Remove unused variable `k'.
280
281 * indent.c (current_column): Remove unused variable `stopchar'.
282 (Fcompute_motion): Remove unused variable `contin'.
283
284 * casefiddle.c (casify_object): Remove unused variable `tolen'.
285
286 * dired.c (directory_files_internal): Fix a typo in a comment.
287 Remove an unused variable `handler'.
288 (file_name_completion): Remove unused function-scope variable
289 `dp'.
290 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
291 on BSD4_2.
292
293 * fileio.c (e_write): Remove unused variable
294 `require_encoding_p'.
295
296 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
297 and `buf'.
298 (Fmarker_insertion_type): Remove unused variable `buf'.
299
300 * insdel.c (make_gap): Remove unused variable `result'.
301
302 * keyboard.c (record_char): Remove unused function-scope variable
303 `help'.
304 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
305 (menu_bar_items): Remove unused function-scope variable `tem'.
306
307 * fontset.c (fontset_ref): Remove unused variable `i'.
308 (fontset_set): Remove unused variables `j' and `tmp'.
309 (make_fontset): Remove unused variables `i', `j', `elt' and
310 `base_elt'.
311 (make_fontset_for_ascii_face): Remove unused variable `name'.
312 (fs_load_font): Remove unused variable `font_idx'.
313 (fs_query_fontset): Remove unused function-local variable
314 `fontset'.
315 (list_fontsets): Remove unused variable `tail'.
316 (Fnew_fontset): Remove unused variables `family' and `registry'.
317 (accumulate_font_info): Remove unused variable `tmp'.
318 (Ffontset_font): Remove unused variable `id'.
319 (syms_of_fontset): Remove unused variable `i'.
320
321 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
322 to x_term_init.
323 (lookup_image): Remove unused variable `file'.
324 (xbm_load): Remove unused variables `bitmap_data', `height', and
325 `width'. Remove function-local variable `i', leave the
326 block-local one.
327 (gif_load): Remove unused variable `inc'.
328
329 * xterm.c (XTread_socket): Remove unused variables `p' and
330 `pend'.
331 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
332 leave only the one in the inner block.
333
334 * xfaces.c (face_fontset, realize_default_face): Remove unused
335 variable `fontset'.
336 (face_at_buffer_position): Remove unused variable `multibyte_p'.
337
338 * term.c (encode_terminal_code): Remove unused variable `c'.
339
340 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
341 char *' instead of `char *'.
342
343 * category.c (Fcategory_docstring): Remove unused variable `doc'.
344 (Fget_unused_category): Remove unused variable
345 `docstring_vector'.
346 (Fchar_category_set): Remove unused variables `val', `charset',
347 `c1' and `c2'.
348
349 * coding.c (detect_coding_iso2022, setup_coding_system): Remove
350 unused variable `i'.
351 (detect_coding_mask): Remove unused variable `idx'.
352 (detect_coding): Remove unused variable `i'.
353 (ccl_coding_driver): Remove unused variable `result'.
354 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
355 (decode_coding_string): Remove unused variables `to' and
356 `gcpro1'.
357 (encode_coding_string): Remove unused variables `gcpro1' and
358 `saved_coding_symbol'.
359 (Ffind_coding_systems_region_internal): Remove function-local
360 variable args[], leave only the block-local one.
361 (code_convert_region1): Remove unused variable `len'.
362
363 * charset.c (char_printable_p): Remove unused variable `chars'.
364 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
365 (str_to_multibyte): Remove unused variable `c'.
366
367 * window.c (size_window): Remove block-local variable `min_size'.
368
369 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
370 `header_line_height'.
371 (append_space, extend_face_to_end_of_line): Declare `saved_what'
372 enum display_element_type.
373
1a8a9daf
GM
3742001-01-02 Gerd Moellmann <gerd@gnu.org>
375
6dde6abc
GM
376 * xterm.c (x_connection_closed): Catch X errors around all
377 statements that call X. Save away the error message in a local
378 copy.
379
1883b2c6
GM
380 * xterm.c (x_connection_closed): Set handling_signal to 0 at
381 the start.
382
a13be207
GM
383 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
384 in or at the start of invisible text.
385
1a8a9daf
GM
386 * dispnew.c (update_window): Don't check_current_matrix_flags.
387
3608c0f9
JR
3882001-01-01 Jason Rumney <jasonr@gnu.org>
389
390 * w32fns.c (x_figure_window_size): Do not allow new_height and
391 new_width of frame to override specified values.
392
abb1acc4
KH
3932000-12-30 Kenichi Handa <handa@etl.go.jp>
394
d279f620
KH
395 * composite.c (find_composition): Fix a code for searching
396 backward.
abb1acc4 397
762a68ec
GM
3982000-12-29 Gerd Moellmann <gerd@gnu.org>
399
9c8b8382
GM
400 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New
401 function.
402 (update_window) [GLYPH_DEBUG]: Call it.
403 (scrolling_window): Prevent including current rows which are below
404 what's displayed in the window.
405
406 * xdisp.c (try_window_reusing_current_matrix)
407 <new start <= old start>: Disable rows in the current matrix
408 which are below the window after scrolling.
409
762a68ec
GM
410 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
411 is zero. It's not worth the complexity.
412 (invisible_text_between_p): Put in #if 0 because unused.
413
2d5912c1
GM
4142000-12-28 Gerd Moellmann <gerd@gnu.org>
415
46f6a258
GM
416 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
417 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
418
89f93679
GM
419 * keyboard.c (echo_char): If C is an integer, always call
420 push_key_description. Former code could signal an invalid
421 character error.
422
423 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
424 If set, print multibyte text.
425 (Fsingle_key_description): Call push_key_description with
426 FORCE_MULTIBYTE set.
427 (describe_buffer_bindings): Likewise.
428
429 * lisp.h (push_key_description): Add prototype.
430
c06017fb
GM
431 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
432 around the call to redisplay_internal.
433
f1d2ce7f
GM
434 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
435
2d5912c1
GM
436 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
437
9371f831
KH
4382000-12-28 Kenichi Handa <handa@etl.go.jp>
439
440 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
441 (ccl_driver): New local variable `extra_bytes'.
442
443 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
444
445 * coding.c (setup_coding_system): Initialize
446 coding->spec.ccl.eight_bit_carryover.
447 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
448
0c80628a
KH
4492000-12-28 Kenichi Handa <handa@etl.go.jp>
450
451 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
452 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
453 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
454 (decode_composition_emacs_mule): New function.
455 (decode_coding_emacs_mule): Decode composition sequence by calling
456 decode_composition_emacs_mule.
457 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
458 (encode_coding_emacs_mule): Changed from macro to function. If
2d5912c1 459 a text contains compositions, encode them correctly.
0c80628a
KH
460 (setup_coding_system): Set coding->commong_flags for emacs-mule so
461 that decoding and encoding are required.
462
3e32cc27
GM
4632000-12-27 Gerd Moellmann <gerd@gnu.org>
464
5e25feee
GM
465 * xfaces.c (PT_PER_INCH): New macro.
466 (xlfd_point_size): Compute real point size from font's pixel size.
467 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
468 instead of 72.
469
892d8fcd
GM
470 * .gdbinit: Comment out the line pointing to the Lesstif source
471 directory.
472
12c8b416
GM
473 * window.c (Frecenter): Use displayed_window_lines instead
474 of window_internal_height.
475
6061fbf0
GM
476 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
477 instead of x-toolkit-scroll-bars-p.
478 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
479
480 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
481 instead of x-toolkit-scroll-bars-p.
482 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
483
3e32cc27
GM
484 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
485 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
486 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]: New
487 variables.
488 (add_window_display_history, add_frame_display_history)
489 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
490 (build_frame_matrix_from_leaf_window): Remove unused code.
491 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
492 redisplay history.
493 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
494 (update_window) [GLYPH_DEBUG]: Likewise.
495 (syms_of_display): Defsubr dump-redisplay-history.
496
31798cfe
GM
4972000-12-23 Gerd Moellmann <gerd@gnu.org>
498
f717c2ba
GM
499 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
500 the end of the prompt. Set echo_after_prompt to the offset
501 of echoptr in echobuf.
502
aeb2b8fc
GM
503 * xdisp.c (init_from_display_pos): Pop until the iterator's
504 stack is empty; there may be frames for stretch or images
505 on the stack.
506
31798cfe
GM
507 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
508 (save_or_restore_current_matrix): New function for the same
509 purpose, but more efficient.
510 (adjust_frame_glyphs_for_frame_redisplay): Use it.
511
f8156156
EZ
5122000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
513
514 * xdisp.c (syms_of_xdisp): Fix last change.
515
bdd6d4e8
GM
5162000-12-23 Gerd Moellmann <gerd@gnu.org>
517
518 * xdisp.c (syms_of_xdisp): Doc fix.
519
520 * xdisp.c (redisplay_window): Remove label restore_buffers;
521 use finish_scroll_bars instead to make sure that scroll bars
522 are redeemed. If we don't do this, flickering can result from
523 scroll bars being destroyed and recreated.
524
9436cdf9
JR
5252000-12-22 Jason Rumney <jasonr@gnu.org>
526
527 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
528 in the wrong colors when the foreground is not black.
529 (expose_window): Don't redraw the window that's currently being
530 updated.
531
951f9df5
GM
5322000-12-22 Gerd Moellmann <gerd@gnu.org>
533
856ff7a7
GM
534 * window.c (size_window): When setting the window's too_small_ok
535 flag, compare old size with minimum size depending on WIDTH_P,
536 don't compare with window_min_width.
537
951f9df5
GM
538 * window.c (delete_window): Simplify somewhat.
539 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
540 freeing window matrices. The flag windows_or_buffers_changed is
541 set, so the next redisplay will consider all windows; this should
542 suffice.
543
886bc933
KH
5442000-12-22 Kenichi Handa <handa@etl.go.jp>
545
546 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
547
548 * ccl.h (struct ccl_program): New member cr_consumed.
549
550 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
551 (CCL_READ_CHAR): Handle EOL conversion here.
552 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
553
177f4e88
GM
5542000-12-21 Gerd Moellmann <gerd@gnu.org>
555
6ba384dc
GM
556 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg
557 GLYPHS.
558
559 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
560 otherwise tabs of different size compare equal.
561
562 * callint.c (Fcall_interactively): Prevent a compiler warning.
563
564 * print.c (print_unwind): Return nil.
565 (PRINTDECLARE): Initialize all local variables.
566 (print_preprocess): Add a default case.
567
8e15274f
GM
568 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
569
570 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
571
177f4e88
GM
572 * window.c (delete_window, Fsplit_window)
573 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
574
575 * dispextern.h (ensure_frame_matrix): Function declaration removed.
576
577 * dispnew.c (ensure_frame_matrix): Removed.
578 (save_frame_matrix, restore_frame_matrix): New functions.
579 (adjust_frame_glyphs_for_frame_redisplay): Use them.
580
581 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
582 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
583
99012074
AI
5842000-12-21 Andrew Innes <andrewi@gnu.org>
585
586 * w32term.c (x_update_begin): Regenerate the palette here, rather
587 than for each window.
588
589 * w32xfns.c (select_palette): Avoid calling SelectPalette if
590 palette is NULL, since this corrupts memory! Also get
591 display_info reference from frame.
592
29ef7d2d
JR
5932000-12-21 Jason Rumney <jasonr@gnu.org>
594
595 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
596
597 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
598 to avoid returning without releasing it.
3e27fa1f 599
3f9d67a6
KH
6002000-12-21 Kenichi Handa <handa@etl.go.jp>
601
587fc3f9
KH
602 * keymap.c (push_key_description): Don't convert eight-bit-control
603 and eight-bit-graphic to multibyte character.
604
3f9d67a6
KH
605 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
606 generic character and CODE1 is nil, return the smallest character
607 in CHARSET.
608
774ba8c9
DL
6092000-12-20 Dave Love <fx@gnu.org>
610
611 * s/osf5-0.h (NSIG): Don't redefine.
612
88416888
SM
6132000-12-20 Stefan Monnier <monnier@cs.yale.edu>
614
615 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
616 excluding menu-bar and tool-bar.
617 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
618 (menu_item_p): Remove.
619 (where_is_internal_1): Don't ignore menu-items.
620
a6426c6f
GM
6212000-12-20 Gerd Moellmann <gerd@gnu.org>
622
03ff8aab
GM
623 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
624 into account.
625
626 * window.c (make_window): Initialize window's min_hscroll.
627 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
628 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
629 to zero.
630 (struct saved_window): New member min_hscroll.
631 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
632 (Fset_window_configuration): Set window's min_hscroll.
633 (save_window_save): Save window's min_hscroll.
634 (compare_window_configurations): Compare min_hscroll values.
635
636 * window.h (struct window): New member min_hscroll.
637
638 * keyboard.c (echo_prompt): Prevent a compiler warning.
639
8de4aaf8
GM
640 * xdisp.c (try_cursor_movement): Fix last change. The real
641 condition is that PT is at the end of the row, and should
642 be displayed at the start of the next row.
643
3f7e3031
GM
644 * xdisp.c (try_cursor_movement): If we end on a partially
645 visible line, end we already decided to scroll, return -1.
646
a6426c6f
GM
647 * dispextern.h (ensure_frame_matrix): Add prototype.
648
649 * window.c (delete_window, Fsplit_window)
650 (Fset_window_configuration): Call ensure_frame_matrix.
651
652 * dispnew.c (fake_current_matrices, ensure_frame_matrix): New
653 functions.
654 (adjust_frame_glyphs_for_frame_redisplay): If display has been
655 completed, call fake_current_matrices instead of marking frame
656 garbaged.
657
57fa2774
JR
6582000-12-20 Jason Rumney <jasonr@gnu.org>
659
660 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
661
d925df90
EZ
6622000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
663
664 * fns.c (Frequire): Doc fix.
665
7b93a85b
GM
6662000-12-19 Gerd Moellmann <gerd@gnu.org>
667
71d4497a
GM
668 * window.c (window_scroll_pixel_based): Don't use
669 move_it_vertically.
670
c74e645b
GM
671 * dispnew.c (direct_output_for_insert): Fix check for mini-window
672 currently displaying a message.
673
7b93a85b
GM
674 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
675 xterm.h.
676 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
677
90d97e64
AI
6782000-12-18 Andrew Innes <andrewi@gnu.org>
679
680 * w32.c (w32_strerror): New function.
681
682 * w32.h (w32_strerror): New extern.
683
684 * w32fns.c (Fw32_shell_execute): Use it.
685
91c9e6ce
GM
6862000-12-18 Gerd Moellmann <gerd@gnu.org>
687
688 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
689
6f4745e2
EZ
6902000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
691
692 * msdos.c (IT_set_face): Obey inverse_video.
693
c9e088ce
KH
6942000-12-18 Kenichi Handa <handa@etl.go.jp>
695
696 * dired.c (directory_files_internal): Always return decoded filenames.
697
c3695f5f
GM
6982000-12-18 Gerd Moellmann <gerd@gnu.org>
699
52d8e4ff
GM
700 * xterm.c (x_connection_closed): Prevent being called recursively
701 because of an error condition in XtCloseDisplay.
702
62be9979
GM
703 * xdisp.c (init_iterator): If noninteractive, and the frame's
704 face cache is null, make one.
705
5f7a1890
GM
706 * xfns.c (show_busy_cursor): Check for live frames more
707 thoroughly.
708
c3695f5f
GM
709 * process.c (wait_reading_process_input): Check for pending
710 input when running timers.
711
78555fbe
EZ
7122000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
713
714 * msdos.c (IT_write_glyphs): Compute the glyph face from
715 str->face_id.
716
b2b36264
KH
7172000-12-18 Kenichi Handa <handa@etl.go.jp>
718
719 * process.c (read_process_output): Don't run a filter if the code
720 decoder produces nothing but carryover.
721
9c543fbf
AI
7222000-12-17 Andrew Innes <andrewi@gnu.org>
723
724 * w32.c (sys_rename): Only check errno against EEXIST, and not
725 EACCES, when determining whether rename failed because the target
726 exists. This was resulting in indefinite looping on Windows 9x if
727 the source file was locked by another process.
728
729 * w32fns.c (Ffile_system_info): New function.
730 (syms_of_w32fns): Defsubr it.
731
10c2b5a8
GM
7322000-12-17 Gerd Moellmann <gerd@gnu.org>
733
b0228ace
GM
734 * window.c (coordinates_in_window): Fix computation for
735 position on vertical line between mode lines.
736
10c2b5a8
GM
737 * xfns.c (unwind_create_frame): Return t if frame was deleted.
738 Don't alter tip_frame or tip_window.
739 (unwind_create_tip_frame): Set tip_frame to nil only if frame
740 was deleted.
741
c844a81a
GM
742 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
743 Don't alter tip_frame or tip_window.
744 (unwind_create_tip_frame): Set tip_frame to nil only if frame
745 was deleted.
746
6c825f8e
EZ
7472000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
748
749 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
750 be consistent with the doc string. Reported by NAKAJIMA Mikio
751 <minakaji@osaka.email.ne.jp>.
752
af4bb4c8
KH
7532000-12-16 Kenichi Handa <handa@etl.go.jp>
754
755 * xfaces.c (Vface_ignored_fonts): New variable.
756 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
757 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
758
8062e53a
GM
7592000-12-15 Gerd Moellmann <gerd@gnu.org>
760
e87b8809
GM
761 * dispnew.c (update_window): Detect pending input every nth line
762 updated, i.e. do it depending on real work done, and not on the
763 vpos of the line.
764
765 * xterm.c (expose_window): Don't redraw the window that's
766 currently being updated.
767
a6768cc5
GM
768 * window.c (Fset_window_point): Remove test for
769 cursor_in_non_selected_windows.
770
4ea7fdca
GM
771 * lread.c (read1): Recognize end of file after `\\'.
772
8062e53a
GM
773 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
774 not unwind_create_frame.
775
bb7959c1
GM
7762000-12-15 Dave Love <fx@gnu.org>
777
778 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
779 bcopy & al.
780
781 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
782
ced04c42
KH
7832000-12-15 Kenichi Handa <handa@etl.go.jp>
784
c5443913
KH
785 * coding.c (setup_coding_system): Clear all members of the struct
786 coding_system at first.
bc137305
KH
787 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
788 argument.
789 (code_convert_region): Don't override coding->src_multibyte and
790 coding->dst_multibyte.
c5443913 791
ced04c42
KH
792 * fns.c (Fmd5): Docstring improved.
793
c2d7f289
MB
7942000-12-15 Miles Bader <miles@gnu.org>
795
796 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
797 are actually marked as mode-lines; otherwise use
798 estimate_mode_line_height.
799
9d7d9263
GM
8002000-12-14 Gerd Moellmann <gerd@gnu.org>
801
802 * editfns.c (Fformat): Prevent a buffer overrun when the format
803 specifies a precision.
804
7cf0153a
EZ
8052000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
806
807 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
808 argument is outside the range [2..3].
809
1de0f662
AI
8102000-12-14 Andrew Innes <andrewi@gnu.org>
811
812 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
813 nothing to do. Bind inhibit-quit.
814 (tip_frame): Make it a Lisp_Object.
815 (x_create_tip_frame): Set tip_frame after it has been added to
816 Vframe_list.
817 (Fx_show_tip): Don't set tip_frame here.
818 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New
819 variables.
820 (unwind_create_frame, unwind_create_tip_frame): New functions.
821 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
822 while a frame is only partially constructed.
823
824 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
825 (x_free_frame_resources): New function.
826 (x_destroy_window): Use it.
827
02387dcc
GM
8282000-12-14 Gerd Moellmann <gerd@gnu.org>
829
830 * xfns.c (Fx_backspace_delete_keys_p): New function.
831 (syms_of_xfns): Defsubr it.
832
833 * config.in (HAVE_XKBGETKEYBOARD): Add.
834
0544ef49
KH
8352000-12-14 Kenichi Handa <handa@etl.go.jp>
836
98d62747
KH
837 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
838 Always store string in multibyte representation in echobuf.
839 (echo_char): Always store string in multibyte representation in
840 echobuf.
841 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
842 (read_key_sequence): Adjusted for the change of echo_prompt.
843
a20193cd
KH
844 * fns.c (Fmd5): Docstring improved.
845
191b83b6
KH
846 * lisp.h (detect_coding_system): Prototype adjusted.
847
0544ef49
KH
848 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
849 (detect_coding_emacs_mule, detect_coding_iso2022,)
850 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
851 (detect_coding_utf_16, detect_coding_ccl): Make them static. New
852 argument MULTIBYTEP. Callers changed.
853 (detect_coding_mask, detect_coding_system): New argument
854 MULTIBYTEP. Callers changed.
1da1bb05
KH
855 (decode_coding_string): Set coding->src_multibyte and
856 coding->dst_multibyte before calling detect_coding and detect_eol.
857 Update them after some coding system is detected.
858
d5b3eb1b
SM
8592000-12-13 Stefan Monnier <monnier@cs.yale.edu>
860
861 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
862
863 * keyboard.c (menu_bar_items, tool_bar_items):
864 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
865
f7f8bb69
GM
8662000-12-13 Gerd Moellmann <gerd@gnu.org>
867
19f71add
GM
868 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
869 New variables.
870 (unwind_create_frame, unwind_create_tip_frame): New functions.
871 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
872 while a frame is only partially constructed.
873
874 * xterm.h (x_free_frame_resources): Declare.
875
876 * xterm.c (x_free_frame_resources): New function.
877 (x_destroy_window): Use it.
878
e10da507
GM
879 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
880 don't interrupt the update for pending input initially, i.e.
881 update at least some lines.
882
883 * keyboard.c (do_mouse_tracking): Make externally visible.
884
d5b3eb1b 885 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
886
887 * xfns.c (gray_bitmap_bits): Declare `char *'.
888
90aa2856
GM
8892000-12-12 Gerd Moellmann <gerd@gnu.org>
890
891 * xdisp.c (display_tool_bar_line): Make sure that tool bar
892 lines start with a relief line.
893
a308c9cd
DL
8942000-12-12 Dave Love <fx@gnu.org>
895
896 * window.c (Fdisplay_buffer): Doc fix.
897 (Fwindow_list): Remove unused var.
898
899 * buffer.h (mmap_set_vars): Declare.
900
901 * window.h (Fset_window_point): Declare.
902
d575011f
EZ
9032000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
904
bf6282d2 905 * msdos.c (fast_find_position): Don't overstep the last window row.
d575011f
EZ
906 (IT_note_mouse_highlight): Initialize portion to -1. Remove
907 unused variable `area'. When looking for a row under (X,Y), give
908 up if some of the previous rows is not enabled.
909
ecf4d726
GM
9102000-12-12 Gerd Moellmann <gerd@gnu.org>
911
2ebf6139
GM
912 * window.c (Fset_window_point): If displaying cursors in windows
913 other than the selected window, make sure redisplay updates
914 other windows to show the new value of point in the window.
915
916 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
917
bfdb75ee
GM
918 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
919 the buffer is the sole visible buffer when in the mini-buffer.
920
4fdbd809
GM
921 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
922 Bind `inhibit-read-only' to t.
923 (unwind_with_echo_area_buffer): Use AREF.
924
c0006262
GM
925 * xfns.c (Fx_hide_tip): Simplified.
926
e9a59cad
GM
927 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use
928 GC_MAKE_GCPROS_NOOPS instead of `1'.
929
ecf4d726
GM
930 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
931
e5959a9a
GM
9322000-12-11 Gerd Moellmann <gerd@gnu.org>
933
a3642e49
GM
934 * xfns.c (Fx_hide_tip): Fix last change.
935
44b5a125
GM
936 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
937 nothing to do. Bind inhibit-quit.
938 (tip_frame): Make it a Lisp_Object.
939 (x_create_tip_frame): Set tip_frame after it has been added to
940 Vframe_list.
941 (Fx_show_tip): Don't set tip_frame here.
942
943 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
944
945 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
946 Lisp_Object.
947
948 * dispextern.h: Change external declaration of tip_frame.
949
d990421f
GM
950 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
951 return an empty string.
952
4db87380
GM
953 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
954 of the window's update_mode_line flag, since the former is set by
955 force-mode-line-update, not the latter. This makes
956 column-number-mode slightly faster.
957
e5959a9a
GM
958 * xdisp.c (try_window_id) <all changes above window start>:
959 Set the cursor.
960
169fe44e
GM
9612000-12-11 Paul Eggert <eggert@twinsun.com>
962
963 * config.in (HAVE_FTELLO): Remove.
964 (HAVE_FSEEKO): Add.
965 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
966 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
967 HAVE_FTELLO.
968 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
969 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
970
59ec59ae
MB
9712000-12-11 Miles Bader <miles@gnu.org>
972
973 * window.c (displayed_window_lines): Don't round up when
974 converting empty space at bottom to lines.
ff904dd6
MB
975 Handle non-newline-terminated final lines properly.
976 (Fwindow_text_height): New function (used to be in lisp).
977 (syms_of_window): Initialize it.
59ec59ae 978
42ebfa31
SM
9792000-12-09 Stefan Monnier <monnier@cs.yale.edu>
980
981 * syntax.c (scan_lists): Check that the right quote char has the
982 right Sstring syntax when jumping over strings.
983 (init_syntax_once): Use Smax rather than 13.
984
5cdb3cf3
MB
9852000-12-09 Miles Bader <miles@gnu.org>
986
987 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
988 with PARTIALLY, inverting the sense.
989 (window_scroll_pixel_based): Scroll partially visible lines into
990 place if we hit the beginning or end of the buffer.
a12167c5
MB
991 (displayed_window_lines): Don't include partially visible lines.
992 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 993
842b2a94
GM
9942000-12-08 Gerd Moellmann <gerd@gnu.org>
995
996 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
997
998 * tparam.c (tparam1): Change the way buffers are reallocated to be
999 portable and less obfuscated.
1000
1001 * termcap.c (tgetent): Change the way buffers are reallocated to
1002 be portable and less obfuscated.
1003
1004 * macros.c (store_kbd_macro_char): Change the way buffers are
1005 reallocated to be portable and less obfuscated.
1006
1007 * lread.c (read1): Change the way buffers are reallocated to be
1008 portable and less obfuscated.
1009
1010 * doc.c (Fsubstitute_command_keys): Change the way buffers
1011 are reallocated so that it is portable.
1012
137cad7c
EZ
10132000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
1014
1015 * dosfns.c (Ffile_system_info): New function.
1016 (syms_of_dosfns): Defsubr it.
1017
5c7f629c
SM
10182000-12-07 Stefan Monnier <monnier@cs.yale.edu>
1019
1020 * alloc.c (gc_sweep): Add comment.
1021
959e647d
GM
10222000-12-07 Gerd Moellmann <gerd@gnu.org>
1023
28fcb7dc
GM
1024 * sound.c (vox_configure): Change order of ioctls. Don't
1025 set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
1026 Ignore errors when changing volume.
1027 (vox_close): Don't reset the device.
1028
926b7e5e
GM
1029 * process.c (read_process_output): Make sure the process marker's
1030 position is valid when the process buffer is changed in
1031 after-change functions. W3 does that.
1032
959e647d
GM
1033 * xfns.c (x_free_gcs): New function.
1034
1035 * xterm.h (x_free_gcs): Add prototype.
1036
1037 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
1038 freeing GCs here.
1039
1040 * xterm.c (x_destroy_window): Call x_free_gcs so that
1041 resources of non-toolkit X windows will be freed.
1042
478ea067
AI
10432000-12-07 Andrew Innes <andrewi@gnu.org>
1044
1045 * w32fns.c (xlfd_charset_of_font): Fix last change.
1046
fbee3231
DL
10472000-12-06 Dave Love <fx@gnu.org>
1048
67292061
DL
1049 * md5.h (__P): Don't define -- it comes from config.h.
1050
fbee3231
DL
1051 * strftime.c: Change some #if foo to #ifdef foo.
1052
4ee87dbb
AI
10532000-12-06 Andrew Innes <andrewi@gnu.org>
1054
1055 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
1056
1057 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname
1058 argument.
1059 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
1060 (w32_list_fonts): Don't choke if pattern doesn't specify a
1061 codepage.
1062
9765b4a4
GM
10632000-12-06 Gerd Moellmann <gerd@gnu.org>
1064
d285b373
GM
1065 * alloc.c (gc_sweep): Prevent symbols read during loadup
1066 from being freed.
1067
384333ee
GM
1068 * xdisp.c (underlying_face_id): New function.
1069 (handle_face_prop, face_before_or_after_it_pos): Use it
1070 to determine the face ``under'' a string. Let strings inherit
1071 the face of the buffer under them.
1072
1073 * xfaces.c (face_at_string_position): Update function comment.
1074
d4b72d58
GM
1075 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
1076 matrix if the window's left position has changed; we need to
1077 redraw it in this case.
1078
1079 * dispextern.h (struct glyph_matrix): Add member window_left_x.
1080
e1d05387
GM
1081 * window.c (coordinates_in_window): Check mouse on mode-line or
1082 header-line first.
1083
eb1b0c74
GM
1084 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
1085 advertized by the function documentation.
1086
d94d636f
GM
1087 * window.c (syms_of_window): Doc fix.
1088
3887b449
GM
1089 * sound.c (vox_configure): Set volume for left and right channel.
1090 (sound_cleanup): Return nil.
1091
efc8f57a
GM
1092 * xdisp.c (move_it_by_lines): Fix paren typo.
1093
9765b4a4
GM
1094 * xterm.c (x_load_font): Don't use the font's max_bounds for
1095 computing the height of the font. If max_bounds' ascent or
1096 descent are greater than the font's ascent or descent, this means
1097 glyphs overlap, which should be handled now by redisplay.
1098
6529ed87
GM
1099 * window.c (Veven_window_heights): New variable.
1100 (syms_of_window): DEFVAR_LISP it.
1101 (Fdisplay_buffer): Check Veven_window_heights before evening the
1102 window heights.
1103
0eb2ecde
MB
11042000-12-06 Miles Bader <miles@gnu.org>
1105
1106 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
1107 update `default-frame-alist' instead of setting no frame parameters.
1108
03d7a167
KH
11092000-12-06 Kenichi Handa <handa@etl.go.jp>
1110
1111 * composite.c (update_compositions): Fix typo (use the correct
1112 variable).
1113
5f8803c2
JR
11142000-12-05 Jason Rumney <jasonr@gnu.org>
1115
1116 * md5.h: Remove underscores from function declarations.
1117 (__attribute__, __alignof__) [!__GNUC__]: Define.
1118
1119 * md5.c: Delay include of md5.h until after namespace cleaning.
1120
c28a075b
JR
1121 * makefile.w32-in (fns.o): Depend on md5.h
1122 (md5.o): New target.
1123 (sunfns.o): Remove.
1124
1125 * makefile.nt: Likewise.
1126
ff3c7056
JR
11272000-12-05 Jason Rumney <jasonr@altavista.net>
1128
1129 * w32term.c (expose_area): Complete last change.
1130
0c21eeeb
KR
11312000-12-05 Ken Raeburn <raeburn@gnu.org>
1132
1133 * minibuf.c: Include intervals.h.
1134
f201d732
JR
11352000-12-05 Jason Rumney <jasonr@gnu.org>
1136
1137 * w32term.c (x_produce_glyphs): If a font for a component of
1138 a composition is not found, use 1 pixel dot ascent and 0 dot
1139 descent value to avoid displaying terribly tall empty boxes.
1140 (expose_area): Pass x-coordinate relative to the exposed
1141 area to x_draw_glyphs instead of a window-relative coordinate.
1142
21999ab9
GM
11432000-12-05 Gerd Moellmann <gerd@gnu.org>
1144
4d2036e4
GM
1145 * xdisp.c (next_element_from_ellipsis): Save face before selective
1146 display in saved_face_id, and set face_before_selective_p.
1147 (reseat_1): Reset face_before_selective_p.
1148 (append_space, extend_face_to_end_of_line): If iterator's
1149 face_before_selective_p is set, use the face from saved_face_id.
1150 (extend_face_to_end_of_line): For tty frames, make sure to
1151 use the right face id when producing spaces at the end of
1152 the line.
1153
1154 * dispextern.h (struct it): Add face_before_selective_p.
1155
52be17cc
GM
1156 * keyboard.c (record_char): Don't record identical help-echo
1157 events in recent_keys.
1158
8a4f36cc
GM
1159 * xterm.c [USE_X_TOOLKIT]: Close the display.
1160 (xim_close_dpy): Handle case that the display has been closed.
1161
57d6e381
GM
1162 * xterm.c (x_destroy_window): Reset the frame's X window after
1163 destroying it.
1164
21999ab9
GM
1165 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
1166 variable window_width.
1167 (line_draw_cost): Fix code skipping over spaces at the end of the
1168 line when must_write_spaces is not set.
1169 (scrolling_window): Fix code inserting runs in list of all runs.
1170
91372bb7
KH
11712000-12-05 Kenichi Handa <handa@etl.go.jp>
1172
1173 * coding.c (setup_coding_system): Be sure to initialize
1174 coding->category_idx.
1175
6c083b4c
GM
11762000-12-04 Gerd Moellmann <gerd@gnu.org>
1177
0c68ce6f
GM
1178 * xterm.c (PER_CHAR_METRIC): Removed because not used.
1179
6452929e
GM
1180 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
1181 area to x_draw_glyphs instead of a window-relative coordinate.
1182
d7f31e22
GM
1183 * fileio.c (auto_save_error): Add parameter ERROR. Show the
1184 error in the message.
1185
ae18aa3b
GM
1186 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
1187 timer after having read a key. It's not good for code reading
1188 several keys in a loop, like an input method.
1189
caa15ef7
GM
1190 * fileio.c (Finsert_file_contents): When VISIT is t, don't
1191 record undo information for format-decode.
1192
1193 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
1194 current buffer is read-only, not if it isn't.
1195
6c083b4c
GM
1196 * keyboard.c (record_char): Record `help-echo' input events
1197 in recent_keys only if they display some help. Don't record
1198 `help-echo' events as macro char.
1199
caa15ef7
GM
12002000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
1201
1202 * editfns.c (save_excursion_restore): Don't move point
1203 in another window if it is showing the wrong buffer.
1204 Avoid the call to Fwindow_live_p, for speed.
1205
5a13529b
KH
12062000-12-04 Kenichi Handa <handa@etl.go.jp>
1207
e225faa7
KH
1208 * xfaces.c (struct font_name): New member registry_priority.
1209 (split_font_name): Initialize the above member to zero.
1210 (concat_font_list): New function.
1211 (font_list): Include fonts of all alternative registries.
1212 (FONT_POINT_SIZE_QUANTUM): New macro.
1213 (better_font_p): Ignore point size difference less than
1214 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
1215
e89648b4
KH
1216 * xterm.c (x_produce_glyphs): If a font for a component of
1217 a composition is not found, use 1 pixel dot ascent and 0 dot
1218 descent value to avoid displaying terribly tall empty boxes.
1219
5a13529b
KH
1220 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
1221
d7935eb6
KR
12222000-12-03 Ken Raeburn <raeburn@gnu.org>
1223
1224 * coding.h (code_convert_string1): Declare.
1225
1226 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
1227
1228 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name):
1229 Declare.
1230
0dd5e255
JR
12312000-12-02 Jason Rumney <jasonr@gnu.org>
1232
1233 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
1234 correctly for single byte character case.
1235 (w32_per_char_metric): Do not try to make any assumptions about
1236 the metrics of BDF fonts.
250cfece
JR
1237 (x_estimate_mode_line_height): If `mode-line' face
1238 hasn't a font, use that of the frame, as drawing glyphs
1239 does.
1240 (note_mouse_highlight): Change the cursor shape on the vertical
1241 border between windows [not enabled].
1242
1243 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
1244
1245 * w32fns.c (Fx_create_frame): Reintroduce the call to
1246 face-set-after-frame-defaults.
1247 (Vx_window_horizontal_drag_shape): New variable.
1248 (syms_of_xfns): DEFVAR_LISP it.
1249 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
1250 enabled].
0dd5e255 1251
b5d8d2ca
GM
12522000-12-02 Simon Josefsson <simon@josefsson.org>
1253
1254 * fns.c (Fmd5): Use a different logic to decide the coding system
1255 to use.
1256
1257 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
1258
fbb87147
EZ
12592000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
1260
1261 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is
1262 NULL.
1263
447e9da0
GM
12642000-12-01 Gerd Moellmann <gerd@gnu.org>
1265
7708ced0
GM
1266 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
1267 height for YNegative.
1268 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
1269 height; also see comment there.
1270
447e9da0
GM
1271 * window.c (coordinates_in_window): Handle computations for
1272 positions on the vertical bar and fringes differently for
1273 window-system frames. Consider some pixels near the vertical bar
1274 as on the bar if the frame doesn't have vertical scroll bars.
1275 Associate positions between mode or header lines with the
1276 right window, the left one.
1277
86d1db20
JR
12782000-12-01 Jason Rumney <jasonr@gnu.org>
1279
1280 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
1281
1282 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
1283 invalid frame.
1284
a1d58e5b
GM
12852000-12-01 Gerd Moellmann <gerd@gnu.org>
1286
1287 * window.c (struct saved_window): Add members orig_top and
1288 orig_height.
1289 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
1290 (save_window_save, Fset_window_configuration): Save/restore
1291 window's orig_top and orig_height.
1292
89c609af
JR
12932000-12-01 Jason Rumney <jasonr@gnu.org>
1294
4d177746 1295 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 1296
89c609af
JR
1297 * w32fns.c (x_set_cursor_color): Fix last change.
1298
eccc05db
GM
12992000-11-30 Gerd Moellmann <gerd@gnu.org>
1300
31b6671b
GM
1301 * xdisp.c (echo_area_display): If cursor is in the echo area, make
1302 sure that the next redisplay displays the minibuffer, so that
1303 the cursor will be replaced with what the minibuffer wants.
1304
eccc05db
GM
1305 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
1306 #ifndef instead of using #if.
1307 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
1308 USE_TOOLKIT_SCROLL_BARS is defined.
1309
162de750
JR
13102000-11-30 Jason Rumney <jasonr@gnu.org>
1311
1312 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
1313 x_display_cursor.
1314
693c4692
GM
13152000-11-30 Gerd Moellmann <gerd@gnu.org>
1316
1317 * fns.c (Fmd5): Doc fix.
1318
b5d8d2ca 13192000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
1320
1321 * fns.c (Fmd5): New function.
1322 (syms_of_fns): Defsubr md5.
1323
1324 * Makefile.in (obj): Add md5.o
1325
b02cd40b
GM
13262000-11-30 Gerd Moellmann <gerd@gnu.org>
1327
edfb795e
GM
1328 * md5.h, md5.c: New files, taken from glibc.
1329
df3aedcf
GM
1330 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
1331
b02cd40b
GM
1332 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
1333 hasn't a font, use that of the frame, as drawing glyphs
1334 does.
1335
8b5176cd
SM
13362000-11-29 Stefan Monnier <monnier@cs.yale.edu>
1337
1338 * eval.c (Frun_hooks): Allow 0 arguments.
1339
346598f1
GM
13402000-11-29 Gerd Moellmann <gerd@gnu.org>
1341
f9396e03
GM
1342 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
1343 is over the menu bar widget, say it's not on the frame.
1344
4a967a9b
GM
1345 * xfns.c (Fx_create_frame): Reintroduce the call to
1346 face-set-after-frame-defaults.
1347
346598f1
GM
1348 * eval.c (Fsignal): Reset handling_signal.
1349
222456a1
JR
13502000-11-28 Jason Rumney <jasonr@gnu.org>
1351
1352 * w32menu.c (add_menu_item): Reset menu item text when changing
1353 type to radio button.
1354
8049ddc0
GM
13552000-11-28 Gerd Moellmann <gerd@gnu.org>
1356
346598f1 1357 * xselect.c: Update copyright.
f4f4ee4d 1358
bebe4a2c
GM
1359 * window.c (coordinates_in_window): If on a mode or header line,
1360 but sufficiently close to its start, return ``on vertical
1361 border''. This gives us a way to drag windows horizontally when
1362 using toolkit scroll bars.
1363
1364 * xterm.c (note_mouse_highlight): Change the cursor shape
1365 on the vertical border between windows.
1366
1367 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
1368
1369 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
1370 (syms_of_xfns): DEFVAR_LISP it.
1371 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
1372
8d2c2642
GM
1373 * textprop.c (text_read_only): New function.
1374 (verify_interval_modification): Use it instead of signaling
1375 `text-read-only'. This makes it easier to catch this error
1376 with a breakpoint.:
1377
8049ddc0
GM
1378 * xdisp.c (forward_to_next_line_start): Check for newlines,
1379 not end of line, which includes CR.
1380
5a2bae6c
KH
13812000-11-28 Kenichi Handa <handa@etl.go.jp>
1382
1383 * coding.c (Ffind_coding_systems_region_internal): Be sure to
1384 include no-conversion.
1385
ae31f84d
JR
13862000-11-27 Jason Rumney <jasonr@gnu.org>
1387
1388 * w32fns.c (w32_load_system_font): Always mark font as double byte
1389 if codepage is unicode.
1390
67f1cf4c
GM
13912000-11-27 Gerd Moellmann <gerd@gnu.org>
1392
4a74d071
GM
1393 * xdisp.c (forward_to_next_line_start): If already on a newline,
1394 just consume it to avoid unintended skipping over invisible text
1395 below.
1396
902ae620
GM
1397 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
1398 `vertical-line', `mode-line' and `header-line' events.
1399
1400 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
1401 of a character, a TAB for instance. This is easier than to set
1402 up the iterator exactly, and it's not a frequent case, so the
1403 additional effort wouldn't really pay off.
1404
c1e279c2
AC
14052000-11-26 Andrew Choi <akochoi@i-cable.com>
1406
67f1cf4c 1407 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
1408 init_window_once.
1409
a609568a
JR
14102000-11-25 Jason Rumney <jasonr@gnu.org>
1411
48b21762
JR
1412 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]: Args
1413 to window_from_coordinates should be pixel coordinates.
1414
a609568a
JR
1415 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
1416 redisplay handles them properly.
1417
a658d039
MB
14182000-11-25 Miles Bader <miles@gnu.org>
1419
1420 * indent.c (compute_motion): Keep pos_byte in sync with pos.
1421
d3416cca
JR
14222000-11-24 Jason Rumney <jasonr@gnu.org>
1423
1424 * w32.c (init_environment): Set LANG environment variable based on
1425 locale settings, if not set.
1426
1427 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
1428 making tool bar smaller. When clearing the frame, also
1429 clear current matrices. Clear frame when tool bar disappears.
1430 Don't use more lines for the tool-bar than is available.
1431 (x_change_window_heights): New function.
1432
ba193890
GM
14332000-11-24 Gerd Moellmann <gerd@gnu.org>
1434
2be8f184
GM
1435 * xdisp.c (init_from_display_pos): If POS says we're already after
1436 an overlay string ending at POS, make sure to pop the iterator
1437 because it will be in front of that overlay string. When POS is
1438 ZV, we've thereby also ``processed'' overlay strings at ZV.
1439
ba193890
GM
1440 * xfaces.c (lface_from_face_name): Function comment fix.
1441
1862a24e
MB
14422000-11-24 Miles Bader <miles@gnu.org>
1443
1444 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
1445 apply `mode-line-inverse-video' -- zero means force display using
1446 the default face, non-zero means display using the specialized face.
1447 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
1448
f07fa1b8
KH
14492000-11-23 Kenichi Handa <handa@etl.go.jp>
1450
1451 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
1452 hard coded `4'.
1453
2bcdf662
EZ
14542000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
1455
1456 * coding.c (decode_coding_emacs_mule): Fix the case of
1457 CODING_EOL_LF, which used uninitialized value of c.
1458
ba8299ff
SM
14592000-11-23 Stefan Monnier <monnier@cs.yale.edu>
1460
1461 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
1462
f4117c4d
GM
14632000-11-22 Gerd Moellmann <gerd@gnu.org>
1464
03e757c1
GM
1465 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
1466 buffer object.
1467
f4117c4d
GM
1468 * frame.h (struct frame): Replace desired_tool_bar_items,
1469 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 1470 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
1471
1472 * frame.c (make_frame): Change initialization of tool bar
1473 items accordingly.
1474
1475 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 1476 Change references to members deleted from struct frame to use the
f4117c4d
GM
1477 new ones.
1478
1479 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
cc362d76 1480 references to members deleted from struct frame to use the new
f4117c4d
GM
1481 ones.
1482
1483 * dispnew.c (update_frame): Do nothing with frame's tool bar
1484 items.
1485
1486 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
1487
1488 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 1489 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
1490 from struct frame to use the new ones.
1491
f8e2f3f2
MB
14922000-11-23 Miles Bader <miles@gnu.org>
1493
1494 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
1495 the face's inverse-video attribute, rather than overriding it.
1496
60e8e0a5
GM
14972000-11-22 Gerd Moellmann <gerd@gnu.org>
1498
1499 * xfns.c (x_set_tool_bar_lines): Clear internal border when
1500 making tool bar smaller.
1501
92dd1b29
DL
15022000-11-22 Dave Love <fx@gnu.org>
1503
1504 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
1505
e672fdce
MB
15062000-11-22 Miles Bader <miles@gnu.org>
1507
3a17d6cc
MB
1508 * keyboard.c (Vminibuffer_message_timeout): New variable.
1509 (command_loop_1): Use it to determine message timeout.
1510 (syms_of_keyboard): Initialize it.
1511
60e8e0a5 1512 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 1513
e9655d81
KH
15142000-11-22 Kenichi Handa <handa@etl.go.jp>
1515
1516 * sysdep.c: Move the code for declaring h_errno after #include
1517 <netdb.h>.
1518
77270fac
GM
15192000-11-21 Gerd Moellmann <gerd@gnu.org>
1520
cd913aae
GM
1521 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
1522 the menu bar when the tooltip is unmapped.
1523
77270fac
GM
1524 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
1525 sole visible buffer when we're currently in the mini-buffer, and
1526 give up if so.
1527
556635d6
JR
15282000-11-21 Jason Rumney <jasonr@gnu.org>
1529
1530 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
1531 put on the clipboard.
1532 (Fw32_get_clipboard_data): Compare data on clipboard with saved
1533 copy of what Emacs last put there. If they are the same, do not
1534 use the clipboard copy to avoid losing data due to coding
1535 conversions.
1536
5b7bde64
MB
15372000-11-22 Miles Bader <miles@gnu.org>
1538
1539 * minibuf.c (Vminibuffer_prompt_properties): New variable.
1540 (syms_of_minibuf): Initialize it.
1541 (read_minibuf): Add properties from Vminibuffer_prompt_properties
1542 to prompt, don't make read-only.
1543
ff23e1dd
GM
15442000-11-21 Gerd Moellmann <gerd@gnu.org>
1545
3c64f287
GM
1546 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>: Add
1547 BEFORE/AFTER_POTENTIAL_GC.
1548
7aaf4388
GM
1549 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
1550
f5f47add 1551 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 1552
ff23e1dd
GM
1553 * term.c, cm.c: Don't try to include termcap.h; see comment there.
1554
37c35586
KH
15552000-11-21 Kenichi Handa <handa@etl.go.jp>
1556
1557 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
1558 ... #endif scope.
1559
ff9ab414
GM
15602000-11-20 Gerd Moellmann <gerd@gnu.org>
1561
c51d2b5e
GM
1562 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
1563 screen supports it.
1564
29a01b72
GM
1565 * s/gnu-linux.h: Don't use `#cpu'.
1566
09dfdf85
GM
1567 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
1568 not defined in mman.h.
1569
ff9ab414
GM
1570 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New
1571 variables.
1572 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
1573 and store an index in the XClientMessageEvent. Storing a
1574 Lisp_Object or pointer can fail on a 64 bit system, since X only
1575 transfers 32 bits.
1576 (x_scroll_bar_to_input_event): Get the window from
1577 scroll_bar_windows.
1578
81459ac9
DL
15792000-11-20 Dave Love <fx@gnu.org>
1580
1581 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
1582
56c13ae6
GM
15832000-11-20 Gerd Moellmann <gerd@gnu.org>
1584
1585 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
1586
495a6df3
KH
15872000-11-20 Kenichi Handa <handa@etl.go.jp>
1588
2bcf3714
KH
1589 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
1590 by WIDTH.
1591
495a6df3
KH
1592 * alloc.c (make_string): Fix previous change. Be sure to make
1593 unibyte string correctly.
1594
6d950f4c
GM
15952000-11-19 Gerd Moellmann <gerd@gnu.org>
1596
39b39373
GM
1597 * window.c (Fwindow_list): Change parameter list to be XEmacs
1598 compatible.
1599 (window_list_1): New function.
1600 (window_loop): Use it instead of Fwindow_list.
1601
b95b34e5
GM
1602 * sysdep.c (emacs_ospeed): New variable.
1603 (toplevel): Don't declare ospeed extern.
1604 (init_baud_rate): Use emacs_ospeed instead of ospeed.
1605
1606 * termcap.c (ospeed): Remove.
1607 (tputs) [!emacs]: Remove unused code.
1608 (tgetent): Avoid a compiler warning.
1609
e83dc917
GM
1610 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
1611 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 1612 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
1613
1614 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
1615 removed.
1616 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
1617 Take the X display as additional argument.
1618 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
1619 `Widget' is a pointer type that's not easily stored in Lisp_Object
1620 form in a portable way.
1621
6d950f4c
GM
1622 * dispnew.c (update_text_area): Fix last change.
1623
e47306e6
GM
16242000-11-18 Gerd Moellmann <gerd@gnu.org>
1625
fb3cd89b
GM
1626 * xdisp.c: Use BINDING_STACK_SIZE throughout.
1627
1628 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
1629 clear current matrices.
1630
edaa9aed
GM
1631 * buffer.c (mmap_enlarge): Don't print a message on stderr
1632 if mapping new memory at the end of the existing region fails.
1633
e47306e6
GM
1634 * dispnew.c (update_text_area): Don't skip over equal glyphs
1635 when the last current glyph overlaps the glyph to its right.
1636
509633e3
MB
16372000-11-18 Miles Bader <miles@gnu.org>
1638
1639 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
1640 lines that *end* with "..." too (that's the most common case!).
1641
d392e9c5
GM
16422000-11-18 Gerd Moellmann <gerd@gnu.org>
1643
67988445
GM
1644 * xdisp.c (resize_mini_window): Temporarily change to the
1645 mini-window's buffer if necessary.
1bfdbe43 1646
d392e9c5
GM
1647 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
1648 the tooltip obscures less text under it.
1649
16502000-11-17 Gerd Moellmann <gerd@gnu.org>
1651
1652 * puresize.h (BASE_PURESIZE): Increase to 700000.
1653
92bb977f
JR
16542000-11-18 Jason Rumney <jasonr@gnu.org>
1655
1656 * w32term.c (w32_draw_bitmap): Use face to set colors.
1657
26fbf20b
DL
16582000-11-17 Dave Love <fx@gnu.org>
1659
1660 * lread.c (Fload): Fix #ifdef for pcc.
1661
100b593b
GM
16622000-11-17 Gerd Moellmann <gerd@gnu.org>
1663
1664 * xdisp.c (pos_visible_p): Compute the default character height
1665 differently.
1666
a288d0d1
GM
16672000-11-16 Gerd Moellmann <gerd@gnu.org>
1668
cac94de6
GM
1669 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
1670 knowing the line's height; use the default font's height in that
1671 case.
1672
a288d0d1
GM
1673 * xfaces.c (weight_table): Add `demi' with the same meaning as
1674 `demibold'.
1675
981fb6f6
KH
16762000-11-16 Kenichi Handa <handa@etl.go.jp>
1677
2cca872d 1678 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
1679 (clear_glyph_row): Delete local static variable null_row.
1680
e5fa381b
JR
16812000-11-15 Jason Rumney <jasonr@gnu.org>
1682
1683 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
1684 (w32_alloc_lighter_color): Use new brightness calculations from
1685 xterm.c. Scale delta to be in the range expected by W32.
1686 (w32_draw_relief_rect): Use frame relief colors.
1687
8e42f043
GM
16882000-11-15 Gerd Moellmann <gerd@gnu.org>
1689
6d133d1f
GM
1690 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
1691 (Qinhibit_default_face_x_resources): New variable.
1692 (syms_of_frame): Initialize it.
1693 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
1694
1695 * xdisp.c (pos_visible_p): Improve function comment.
1696
1697 * lisp.h (BINDING_STACK_SIZE): New macro.
1698
8e42f043
GM
1699 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
1700 reading the directory if readdir returns null and errno is EAGAIN
1701 or EINTR.
1702
e8c87124
SM
17032000-11-14 Stefan Monnier <monnier@cs.yale.edu>
1704
1705 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
1706 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
1707 Set amount_to_scroll to max of dx and scroll_step so that
1708 scroll-conservatively doesn't defeat scroll-step>1.
1709 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
1710 scroll-conservatively for line-at-a-time scrolling.
1711
5f0c971d
GM
17122000-11-14 Gerd Moellmann <gerd@gnu.org>
1713
1714 * window.c (Fpos_visible_in_window_p): Call pos_visible with
1715 extra argument.
1716
1717 * xdisp.c (current_mode_line_height, current_header_line_height):
1718 New variables.
1719 (init_xdisp): Initialize them.
1720 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
1721 and use exact mode line heights if it is set.
1722
1723 * lisp.h (pos_visible_p): Change prototype.
1724
1725 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
1726 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
1727 and current_header_line_height first.
1728 (current_mode_line_height, current_header_line_height): Declare
1729 extern.
1730
d7361edf
MB
17312000-11-14 Miles Bader <miles@lsi.nec.co.jp>
1732
1733 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
1734 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
1735 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
1736
ee5e440a
MB
17372000-11-14 Miles Bader <miles@gnu.org>
1738
1739 * xterm.c (x_alloc_lighter_color): Include an additive component
1740 too for dark colors, because FACTOR isn't enough.
1741 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
1742 New macros.
1743
5ca020fc
GM
17442000-11-13 Gerd Moellmann <gerd@gnu.org>
1745
1746 * keyboard.c (show_help_echo): Call message3_nolog with number of
1747 bytes in the help string as 2nd parameter, instead of the number
1748 of characters.
1749
9d348294
MB
17502000-11-13 Miles Bader <miles@gnu.org>
1751
1752 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
1753 (Fload): Use new openp return protocol.
1754 Don't try to use Vload_source_file_function to load .elc files.
1755 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
1756 openp return protocol.
1757 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
1758
1729bb9a
KH
17592000-11-11 Kenichi Handa <handa@etl.go.jp>
1760
4e677396
KH
1761 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
1762
1763 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
1764 Defined these macros.
1765 (NLIST_STRUCT): Avoid re-defining it.
1766
1729bb9a
KH
1767 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
1768 -I/usr/contrib/X11R6/include.
1769 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
1770
a82fe213
JR
17712000-11-10 Jason Rumney <jasonr@gnu.org>
1772
1773 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
1774
1775 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
1776 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
1777
1778 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
1779 (Qw32_charset_vietnamese): New symbol.
1780 (xlfd_charset_of_font): New function.
1781 (w32_load_system_font): Use it.
1782 (x_to_w32_charset): Use Fassoc to find charset info. Special case
1783 when Vw32_charset_info_alist is nil to ensure default face always
1784 has font. Use Fcar and Fcdr for safety.
1785 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
1786 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
1787 pseudo-codepages for special cases.
1788 (w32_to_x_font): New parameter to allow charset portion to be
1789 specified where there is many to one mapping. Callers changed.
1790 (w32_list_fonts): Avoid listing fonts that won't display.
1791
52d89894
GM
17922000-11-10 Gerd Moellmann <gerd@gnu.org>
1793
1794 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
1795 (font_list_1): Renamed from font_list.
1796 (font_list): New function, trying alternative registries from
1797 Vface_alternative_font_registry_alist.
1798 (Finternal_set_alternative_font_registry_alist): New function.
1799 (syms_of_xfaces): Initialize and Staticpro
1800 Vface_alternative_font_registry_alist. Defsubr
1801 Finternal_set_alternative_font_registry_alist.
1802
651cd3da
KR
18032000-11-09 Ken Raeburn <raeburn@gnu.org>
1804
1805 * lisp.h (Flooking_at): Declare.
1806
388ac098
GM
18072000-11-09 Gerd Moellmann <gerd@gnu.org>
1808
778fbc46
GM
1809 * dired.c (directory_files_internal): Fix a braino.
1810
388ac098
GM
1811 * dired.c (directory_files_internal): Add missing GCPRO's.
1812 Some cleanup.
1813
ecaedde1
GM
18142000-11-08 Gerd Moellmann <gerd@gnu.org>
1815
f7eb32aa
GM
1816 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
1817 (resize_mini_window): Return quickly if Vresize_mini_window is
1818 nil. Don't return if Vmax_mini_window_height is nil.
1819
1820 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
1821 (syms_of_xdisp): Initialize them.
1822 (resize_mini_window): Act according to the setting of
1823 Vresize_mini_window.
1824 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
1825
ecaedde1
GM
1826 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
1827 scroll bar widget after configuring it, so that it will appear at
1828 the right position from the start.
1829 (XTredeem_scroll_bar): Cleaned up.
1830
3747ef2c
KH
18312000-11-08 Kenichi Handa <handa@etl.go.jp>
1832
1833 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 1834 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
1835 division by two.
1836
1837 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
1838
03391420
DL
18392000-11-07 Dave Love <fx@gnu.org>
1840
7758f1c1 1841 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
1842
1843 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
1844
b5de343d
GM
18452000-11-07 Gerd Moellmann <gerd@gnu.org>
1846
acad3c0b
GM
1847 * window.c (Fset_window_configuration): Don't try to preserve
1848 point in the current buffer, if that buffer is displayed in more
1849 than one window.
1850
b5de343d
GM
1851 * xfaces.c (lookup_named_face): If default face isn't realized,
1852 try to realize it. Return -1 if not successful.
1853 (Fx_list_fonts): Handle case that face cannot be determined.
1854 (Fface_font): Likewise.
1855
cdb1fe49
GM
18562000-11-06 Gerd Moellmann <gerd@gnu.org>
1857
1858 * window.c (displayed_window_lines): Detect partially
1859 visible lines at the bottom correctly.
1860
d3a67486
SM
18612000-11-06 Stefan Monnier <monnier@cs.yale.edu>
1862
1863 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
1864 when ensuring we don't do visit in indirect buffer.
1865
ff8dd5d5
KH
18662000-11-06 Kenichi Handa <handa@etl.go.jp>
1867
1868 * composite.h (compose_chars_in_text): Add prototype.
1869
1870 * composite.c (Vcomposition_function_table): New variable.
1871 (Qcomposition_function_table): New variable.
1872 (run_composition_function): Call
1873 Vcompose_chars_after_function with three arguments.
1874 (compose_chars_in_text): New function.
1875 (syms_of_composite): Modified the doc-string of
1876 Vcompose_chars_after_function. Declare composition-function-table
1877 as a lisp variable, and initialize it.
1878
1879 * xfns.c (x_encode_text): Suppress producing escape sequences for
1880 composition.
1881
1882 * xselect.c: Include composite.h.
1883 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
1884
d1145f85
AI
18852000-11-05 Andrew Innes <andrewi@gnu.org>
1886
1887 * w32term.c (x_produce_glyphs): Fix typo in enum name.
1888
1889 * sysdep.c (read_input_waiting): Remove extraneous argument to
1890 read_socket_hook.
1891
1892 * w32fns.c (Fx_server_version): Include w32_build_number in the
1893 return list.
1894
1895 * w32heap.c (w32_build_number): New variable.
1896 (cache_system_info): Set it.
1897
1898 * w32heap.h (w32_build_number): Add extern.
1899
1900 * emacs.c (syms_of_emacs): Update docstring for
1901 system-configuration, to reflect the actual usage on MS-Windows.
1902
e85ee976
GM
19032000-10-31 Gerd Moellmann <gerd@gnu.org>
1904
26dcb81b
GM
1905 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
1906 process idle timers while waiting for another event.
1907
0a894bad
GM
1908 * dispnew.c (update_frame_line): Handle case where spaces in
1909 the default face are colored.
1910
e85ee976
GM
1911 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
1912 window height hasn't changed.
1913
01b220b6
JR
19142000-10-31 Jason Rumney <jasonr@gnu.org>
1915
1916 * w32term.c (x_produce_glyphs): Handle composite characters.
1917 (x_draw_glyph_string_foreground)
1918 (x_draw_composite_glyph_string_foreground): Restore old font.
1919
4e6b7204
MB
19202000-10-31 Miles Bader <miles@lsi.nec.co.jp>
1921
1922 * minibuf.c (read_minibuf): Reset the undo history just before
1923 starting the recursive-edit.
1924
d4358b37
GM
19252000-10-30 Gerd Moellmann <gerd@gnu.org>
1926
563f68f1
GM
1927 * xfaces.c (menu_face_change_count): New variable.
1928 (Finternal_set_lisp_face_attribute): Increment it for changes
1929 of the `menu' face.
1930 (realize_basic_faces): Reflect changes in the `menu' faces
1931 in menu bars.
1932
82e274d1
GM
1933 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
1934 dy obtained from the iterator's y-position after moving from
1935 scroll_margin_pos to PT; see comment there.
1936
0dbf9fd2
GM
1937 * xdisp.c (safe_eval_handler): Call add_to_log.
1938
906b3b14
GM
1939 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
1940 is not a symbol or string.
1941
d4358b37
GM
1942 * xdisp.c (echo_area_display): Don't perform a display update from
1943 inside redisplay. The update will happen anyway at the end of
1944 redisplay, and it can confuse redisplay (GC messages while
1945 redisplaying, for instance.)
1946
70c825df
SM
19472000-10-30 Stefan Monnier <monnier@cs.yale.edu>
1948
cf9b4b0b
SM
1949 * xrdb.c (x_load_resources): Use the class name in the defaults.
1950
70c825df
SM
1951 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
1952 (regex_compile): Catch bogus \(\1\).
1953
a1d34b1e
GM
19542000-10-30 Gerd Moellmann <gerd@gnu.org>
1955
cae71efe
GM
1956 * xterm.c (x_alloc_nearest_color): Fix last change to compare
1957 RGB values.
1958
35efe0a1
GM
1959 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
1960 we have a color cache, check that the cached color equals the
1961 allocated color. If not, clear the color cache.
1962
1d3baf74
GM
1963 * window.c (displayed_window_lines): Change buffers if necessary.
1964 Fix computation of displayed lines.
1965
a1d34b1e
GM
1966 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
1967 update_menu_bindings to DEFVAR_BOOL.
1968
70737ea9
KH
19692000-10-30 Kenichi Handa <handa@etl.go.jp>
1970
70c825df 1971 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 1972
fa0cb51d
KH
1973 * puresize.h (BASE_PURESIZE): Increase to 680000.
1974
70737ea9
KH
1975 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
1976
0e4c08e8
JR
19772000-10-29 Jason Rumney <jasonr@gnu.org>
1978
1979 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
1980
1981 * w32term.c (w32_bdf_per_char_metric): Negate descent.
1982 (w32_cache_char_metrics): Handle possibility that 'x' does not
1983 exist in a BDF font.
1984 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
1985
1986 * w32bdf.h (bdffont): Add nchars.
1987
1988 * w32bdf.c (set_bdf_font_info): Set it.
1989 (w32_BDF_TextOut): Swap byte order of double byte characters.
1990 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
1991
45b84006
EZ
19922000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
1993
1994 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
1995 don't override the colors in frame's param_alist, unless they are
1996 unspecified.
1997
1998 * term.c (reassert_line_highlight): If inverse_video is non-zero,
1999 reverse the effect of the highlight flag.
2000
caf9deee
KR
20012000-10-27 Ken Raeburn <raeburn@gnu.org>
2002
2003 * window.h (Fwindow_live_p): Declare.
2004
ae0b9b46
KR
2005 * undo.c (record_delete): Check that last_undo_buffer is really a
2006 buffer before applying XBUFFER to it.
2007
2008 * keymap.c (where_is_internal): Pass lisp object, not integer, to
2009 Faref.
2010
02067692
SM
20112000-10-27 Stefan Monnier <monnier@cs.yale.edu>
2012
2013 * lisp.h (KEYMAPP): New macro.
2014 (get_keymap): Remove.
2015 (get_keymap_1): Rename get_keymap.
2016
2017 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
2018
2019 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
2020
2021 * xmenu.c (single_submenu): Use KEYMAPP.
2022 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
2023 Use KEYMAPP rather than Fkeymapp.
2024
2025 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
2026
2027 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
2028 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
2029 Use KEYMAPP rather than Fkeymapp.
2030 (single_submenu): Use KEYMAPP.
2031 (w32_menu_show, w32_dialog_show): Use TRUE.
2032
2033 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
2034
2035 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
2036 (Fkeymapp): Use KEYMAPP.
2037 (get_keymap): Rename from get_keymap_1. Remove old def.
2038 Return t when autoload=0 and error=0 and the keymap needs autoloading.
2039 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
2040 (Fminor_mode_key_binding): Don't raise an error if the binding
2041 is not a keymap.
2042 (Fuse_global_map, Fuse_local_map): Allow autoloading.
2043 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
2044
2045 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
2046 Allow Vspecial_event_map to be autoloaded.
2047 (menu_bar_items): Fetch the keymap rather than using keymapp.
2048 (menu_bar_one_keymap): No need to follow func-indirect any more.
2049 (parse_menu_item): get_keymap_1 -> get_keymap.
2050 (tool_bar_items): Fetch the keymap rather than using keymapp.
2051 (read_key_sequence): Use KEYMAPP.
2052
2053 * intervals.c (get_local_map): Use get_keymap rather than following
2054 function-indirections explicitly.
2055
2056 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
2057
f9d80af3
JR
20582000-10-27 Jason Rumney <jasonr@gnu.org>
2059
2060 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
2061 point, as Windows has oversized fonts.
2062
2063 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
2064
a3ba27da
GM
20652000-10-27 Gerd Moellmann <gerd@gnu.org>
2066
2067 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
2068 (freehook, reallochook): Handle null pointer arguments.
2069 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
2070
aa3b80cc
SM
20712000-10-27 Stefan Monnier <monnier@cs.yale.edu>
2072
2073 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
2074 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
2075 Giving in to popular pressure to shut up the compiler with casts.
2076
e24e84cc
GM
20772000-10-27 Gerd Moellmann <gerd@gnu.org>
2078
2079 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
2080 signed value, and use a default value computed from the font's
2081 maximum descent.
2082
05ea7ef2
MB
20832000-10-27 Miles Bader <miles@lsi.nec.co.jp>
2084
2085 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
2086 that specify a negative underline position can still use underlines.
2087
2088 * window.c (Fpos_visible_in_window_p): Make POS default to
2089 WINDOW's point, not the current buffer's point.
2090
0b95284b
DL
20912000-10-26 Dave Love <fx@gnu.org>
2092
2093 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
2094 when it's necessary.
2095
6c5b90af
GM
20962000-10-26 Gerd Moellmann <gerd@gnu.org>
2097
8b6d9dc9
GM
2098 * window.c (size_window): Compute size difference from sum of old
2099 child window sizes instead of from parent's size.
2100
6bc92b2e
GM
2101 * xdisp.c (pos_visible_p): Change current buffer if necessary.
2102 Handle obscured lines at the top of the window.
2103
2104 * frame.c (Fdelete_frame): Doc fix. Move running the hook
2105 down after the last error condition check.
2106
6c5b90af
GM
2107 * frame.c (Fdelete_frame): Run delete-frame-hook.
2108
42f92d4d
KH
21092000-10-26 Kenichi Handa <handa@etl.go.jp>
2110
2111 * coding.c (decode_coding): Fix previous change (check also
2112 CODING_MODE_LAST_BLOCK).
2113
d97151cb
SM
21142000-10-25 Stefan Monnier <monnier@cs.yale.edu>
2115
e7efc503
SM
2116 * regex.c: More `unsigned char' -> `re_char' changes.
2117 Also change several `int' into `re_wchar_t'.
2118 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
2119 (PUSH_FAILURE_POINTER): Don't cast any more.
2120 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
2121 We want GCC to complain, since this piece of code makes
2122 re_match non-reentrant, which *should* be fixed.
2123 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
2124 (EXTEND_BUFFER): Use RETALLOC.
2125 (SET_LIST_BIT): Don't cast.
2126 (re_wchar_t): New type.
2127 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
2128 that those two functions will always properly return.
2129 (IMMEDIATE_QUIT_CHECK): Cast to void.
2130 (analyse_first): Use recursion rather than an explicit stack.
2131 (re_compile_fastmap): Can't fail anymore.
2132 (re_search_2): Don't check re_compile_fastmap for failure.
2133 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
2134 Now also sets the new value (passed in a new argument).
2135 (re_match_2_internal): Use it.
2136 Also, use a new var `reg' of type size_t when looping through regs
2137 rather than reuse the inappropriate `mcnt'.
2138
d97151cb
SM
2139 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
2140 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
2141 (where_is_internal): Renamed from Fwhere_is_internal.
2142 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
2143 (Fwhere_is_internal): New function wrapping where_is_internal.
2144 (where_is_internal_1): Handle the case where we're filling the cache.
2145 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
2146
d5789b65
MB
21472000-10-25 Miles Bader <miles@gnu.org>
2148
2149 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
2150
4ecda532
GM
21512000-10-25 Gerd Moellmann <gerd@gnu.org>
2152
2153 * window.c (pos_fully_visible_p): Removed.
2154 (Fpos_visible_in_window_p): Use pos_visible_p to determine
2155 if position is visible and/or fully visible.
2156
2157 * lisp.h (pos_visible_p): Add prototype.
2158
2159 * xdisp.c (pos_visible_p): New function.
2160
68c3a137
KH
21612000-10-25 Kenichi Handa <handa@etl.go.jp>
2162
2163 * process.c (send_process): If OBJECT is t, it means that the data
2164 is from C string, but we should encode it. Before calling
2165 setup_raw_text_coding_system, be sure to flush out data by the
2166 previous coding system.
2167
7ae1c032
MB
21682000-10-25 Miles Bader <miles@lsi.nec.co.jp>
2169
ff4dcd4b
MB
2170 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
2171 assignment of startpos to prev when startpos == pos.
2172
7ae1c032
MB
2173 * editfns.c (find_field): Set the field stickiness correctly from
2174 overlay fields. Use renamed `text_property_stickiness'.
2175 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 2176 Only check text properties, not overlays.
7ae1c032
MB
2177 * textprop.c (get_char_property_and_overlay): New function.
2178 (Fget_char_property): Use it.
2179 * intervals.h (get_char_property_and_overlay): Add declaration.
2180
49801145
SM
21812000-10-25 Stefan Monnier <monnier@cs.yale.edu>
2182
2183 * keymap.c: Use AREF, ASET and ASIZE macros.
2184 (Fmake_sparse_keymap): Docstring fix.
2185 (synkey): Remove.
2186 (shadow_lookup): Move up.
2187 Handle the case where lookup-key returns an integer.
2188 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
2189 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
2190 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
2191 Simplify/rewrite the keymap-finding code.
2192 Add check for command shadowing, using shadow_lookup.
2193
39e776cd
SM
21942000-10-24 Stefan Monnier <monnier@cs.yale.edu>
2195
2196 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
2197 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
2198 a symbol.
2199
2488aba5
AI
22002000-10-24 Andrew Innes <andrewi@gnu.org>
2201
2202 * dired.c (directory_files_internal_unwind): New function.
2203 (directory_files_internal): Use it to ensure closedir is called
2204 even if expand-file-name or file-attributes throw, eg. because of
2205 a user interrupt. Also enable immediate_quit while calling
2206 re_search, so that matching can be interrupted as well.
2207
b94fdf61
AI
22082000-10-24 Andrew Innes <andrewi@gnu.org>
2209
2210 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
2211 NT-Emacs only.
2212 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
2213 so that re_search functions only quit when callers expect them to.
2214
22152000-10-24 Kenichi Handa <handa@etl.go.jp>
2216
2217 * regex.c (regex_compile): Change the way of handling a range from
2218 a char less than 256 to a char not less than 256.
2219
1946f901
GM
22202000-10-24 Gerd Moellmann <gerd@gnu.org>
2221
7ae2f10f
GM
2222 * window.c (size_window): Prevent setting window's width or
2223 height to a negative value (esp. with XSETFASTINT).
2224
5dcab13e
GM
2225 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
2226 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
2227 (protect_malloc_state) [GC_MALLOC_CHECK &&
2228 GC_PROTECT_MALLOC_STATE]: New function.
2229 (PROTECT_MALLOC_STATE): New macro.
2230 (__malloc_initialize, morecore, _malloc_internal)
2231 (_free_internal) _realloc_internal): Use it to make _heapinfo
2232 read-only outside of gmalloc.
2233
63e1b552
GM
2234 * keymap.c: Update copyright.
2235
1946f901
GM
2236 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
2237 a symbol.
2238
4fa09beb
GM
22392000-10-24 Colin Walters <walters@cis.ohio-state.edu>
2240
2241 * filelock.c (unlock_all_files): Use unlock_file to expand each
2242 buffer's file_truename before trying remove its lock file.
2243
23afac01
EZ
22442000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
2245
2246 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
2247 or CRLF, decode EOLs.
2248
04448b95
KH
22492000-10-24 Kenichi Handa <handa@etl.go.jp>
2250
2251 * window.c (Fdisplay_buffer): Fix doc.
2252
3090a5a5
JR
22532000-10-23 Jason Rumney <jasonr@gnu.org>
2254
2255 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
2256 ASCII font of default fontset on Windows.
2257
2258 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
2259 xterm.c comment below).
2260
2261 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
2262
a83fee2c
GM
22632000-10-23 Gerd Moellmann <gerd@gnu.org>
2264
2265 * xterm.c (x_connection_closed): Reset handling_signal.
2266
2267 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing
2268 null.
2269
6ffdb539
MB
22702000-10-23 Miles Bader <miles@gnu.org>
2271
2272 * window.c (window_scroll_pixel_based, window_scroll_line_based):
2273 Pass nil for FULLY argument to Fpos_visible_in_window_p to
2274 maintain old behavior.
2275 * minibuf.c (Fminibuffer_complete): Likewise.
2276
7f1c969b
MB
22772000-10-23 Miles Bader <miles@lsi.nec.co.jp>
2278
2279 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
2280 that when a font can't be exactly centered, it errs up rather than
2281 down.
2282
23afac01 22832000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd
SZ
2284
2285 * fns.c (Fbase64_decode_string): The decoded result should be
2286 unibyte.
2287
1a578e9b
AC
22882000-10-23 Andrew Choi <akochoi@i-cable.com>
2289
2290 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
2291
2292 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 2293 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
2294
2295 * emacs.c (main) [macintosh]: Call syms_of_textprop,
2296 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
2297 syms_of_search, x_term_init, and init_keyboard before calling
2298 init_window_once. Also, call syms_of_xmenu.
2299
2300 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
2301 default fontset to Monaco.
2302
2303 * frame.c [macintosh]: Include macterm.h. Remove declarations of
2304 NewMacWindow and DisposeMacWindow.
2305 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
2306 instead of calling NewMacWindow and setting fields of
2307 f->output_data.mac directly. Call init_frame_faces.
2308 (Fdelete_frame) [macintosh]: Remove unused code.
2309 (Fmodify_frame_parameters) [macintosh]: Call
2310 x_set_frame_parameters instead of mac_set_frame_parameters.
2311
2312 * frame.h [macintosh]: Define menu_bar_lines field in struct
2313 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
2314
2315 * keyboard.c [macintosh]: Include macterm.h.
2316 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
2317 and menu_bar_activate_event type events as for X and NT.
2318 (make_lispy_event) [macintosh]: Construct lisp events of type
2319 MENU_BAR_EVENT as for X and NT.
2320
2321 * sysdep.c [macintosh]: Remove declaration for sys_signal.
2322 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
2323 (sys_subshell) [macintosh]: Remove definition entirely.
2324 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
2325 Vwindow_system_version here. Remove initialization of
2326 Vx_bitmap_file_path.
2327 (read_input_waiting): Correct the number of parameters passed to
2328 read_socket_hook.
2329 Move all Macintosh functions to mac/mac.c.
2330
2331 * term.c [macintosh]: Include macterm.h.
2332
2333 * window.c [macintosh]: Include macterm.h.
2334
2335 * xdisp.c [macintosh]: Include macterm.h. Declare
2336 set_frame_menubar and pending_menu_activation.
2337 (echo_area_display) [macintosh]: Do not return if terminal frame
2338 is the selected frame.
2339 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
2340 Allow only the selected frame to set menu bar.
2341 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
2342 calling FRAME_EXTERNAL_MENU_BAR (f).
2343 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
2344
2345 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
2346 and check_x. Declare XCreateGC. Define x_create_gc and
2347 x_free_gc. Initialize font_sort_order.
2348 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
2349 but call x_list_fonts instead of w32_list_fonts.
2350 (Finternal_face_x_get_resource) [macintosh]: Do not call
2351 display_x_get_resource.
2352 (prepare_face_for_display) [macintosh]: Set xgcv.font.
2353 (realize_x_face) [macintosh]: Load the font if it is specified in
2354 ATTRS.
2355 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed
2356 to Qt.
2357
1ffbabe3
SM
23582000-10-22 Stefan Monnier <monnier@cs.yale.edu>
2359
2360 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
2361 is nil: since we go to the end of submap anyway, we'd end up
2362 setting nil to nil.
2363 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
2364 doesn't obey autoload.
2365
bed43f1d
EZ
23662000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
2367
1ffbabe3 2368 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 2369
ea4233a7
JR
23702000-10-21 Jason Rumney <jasonr@gnu.org>
2371
2372 * w32term.c (w32_cache_char_metrics): Double check that font is
2373 really fixed pitch before trusting tmPitchAndFamily.
2374
f3d3c491
AI
23752000-10-21 Andrew Innes <andrewi@gnu.org>
2376
2377 * w32gui.h (w32_char_font_type): Move enum from w32term.c
2378
2379 * w32term.h: Extern decl for w32_cache_char_metrics.
2380
2381 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
2382
2383 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
2384 (w32_unload_font): Free per_char array if present.
2385
2386 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
2387 cached information in emulated XFontStruct to handle common cases
2388 quickly. Do not allocate XCharStruct for return.
2389 (w32_native_per_char_metric): New function.
2390 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
2391 allocating one.
2392 (x_produce_glyphs): Don't get an HDC. Change calls to
2393 w32_per_char_metric to match arg change above. Remove calls to
2394 free results.
2395 (w32_get_glyph_overhangs): Ditto.
2396 (w32_cache_char_metrics): New function.
2397
2398 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
2399 ($(BLD)/casefiddle.$(O)): Remove compile command.
2400 ($(BLD)/gmalloc.$(O)): Remove compile command.
2401 ($(BLD)/dispnew.obj):
2402 ($(BLD)/keyboard.obj):
2403 ($(BLD)/w32inevt.obj):
2404 ($(BLD)/w32bdf.obj):
2405 ($(BLD)/alloc.obj):
2406 ($(BLD)/buffer.obj):
2407 ($(BLD)/editfns.obj):
2408 ($(BLD)/emacs.obj):
2409 ($(BLD)/fileio.obj):
2410 ($(BLD)/fns.obj):
2411 ($(BLD)/indent.obj):
2412 ($(BLD)/insdel.obj):
2413 ($(BLD)/intervals.obj):
2414 ($(BLD)/minibuf.obj):
2415 ($(BLD)/print.obj):
2416 ($(BLD)/scroll.obj):
2417 ($(BLD)/sysdep.obj):
2418 ($(BLD)/textprop.obj):
2419 ($(BLD)/widget.obj):
2420 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
2421 ($(BLD)/term.obj): Add dependency on dispextern.h.
2422
2423 * makefile.nt ($(BLD)\dispnew.obj):
2424 ($(BLD)\keyboard.obj):
2425 ($(BLD)\w32inevt.obj):
2426 ($(BLD)\w32bdf.obj):
2427 ($(BLD)\alloc.obj):
2428 ($(BLD)\buffer.obj):
2429 ($(BLD)\editfns.obj):
2430 ($(BLD)\emacs.obj):
2431 ($(BLD)\fileio.obj):
2432 ($(BLD)\fns.obj):
2433 ($(BLD)\indent.obj):
2434 ($(BLD)\insdel.obj):
2435 ($(BLD)\intervals.obj):
2436 ($(BLD)\minibuf.obj):
2437 ($(BLD)\print.obj):
2438 ($(BLD)\scroll.obj):
2439 ($(BLD)\sysdep.obj):
2440 ($(BLD)\textprop.obj):
2441 ($(BLD)\widget.obj):
2442 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
2443 ($(BLD)\term.obj): Add dependency on dispextern.h
2444
18ad4821
EZ
24452000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
2446
2447 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
2448 with an additional argument of Qt.
2449
de54681a
MB
24502000-10-21 Miles Bader <miles@gnu.org>
2451
2452 * window.c (pos_fully_visible_in_window_p): New function.
2453 (Fpos_visible_in_window_p): Add FULLY argument.
2454 Use pos_fully_visible_in_window_p.
2455 (window_scroll_pixel_based, window_scroll_line_based): Update
2456 calls to Fpos_visible_in_window_p.
2457 * lisp.h (Fpos_visible_in_window_p): Update prototype
2458
13c844fb
GM
24592000-10-20 Gerd Moellmann <gerd@gnu.org>
2460
2461 * alloc.c (toplevel): Conditionalize compilation of mem_*
2462 functions differently.
2463
d9506268
JR
24642000-10-20 Jason Rumney <jasonr@gnu.org>
2465
2466 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
2467 mem_init where it used to be. mem_z etc not defined otherwise.
2468
8094989b
GM
24692000-10-20 Gerd Moellmann <gerd@gnu.org>
2470
2471 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
2472 GC_MALLOC_CHECK.
2473 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
2474 structure definition and related variabled to the top of the file.
2475 Include this code when GC_MALLOC_CHECK is defined.
2476 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
2477 register/unregister allocated region.
2478 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
2479 which isn't allocated.
2480 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
2481 something which is already in use.
2482 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
2483 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
2484 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
2485 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
2486
2487 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
2488 _malloc_internal instead of malloc.
2489 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
2490 of free.
2491
ea456eb4
AI
24922000-10-20 Andrew Innes <andrewi@gnu.org>
2493
2494 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
2495 Windows.
2496 (my_strftime) <macro>: Don't use macro arg list when redefining as
2497 _strftime_copytm.
2498 (my_strftime) <function>: Supply 0 as ut argument.
2499
e64c3a75
JR
25002000-10-19 Jason Rumney <jasonr@altavista.net>
2501
2502 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
2503 including dispextern.h, as it stops faces from working.
2504
2505 * w32fns.c (Fx_create_frame): Don't bother calling
2506 face-set-after-frame-default since the caller does it for us
2507 anyway. Clean up calls to x_get_arg to be consistent with X.
2508
2509 * w32term.c (x_produce_glyphs): Handle
2510 unibyte_display_via_language_environment correctly.
2511 (w32_draw_box_rect): Fix the calculation of width and height.
2512
2513 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
2514 as it has stopped working.
2515 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
2516 menu-bar.
2517
17401c97
GM
25182000-10-19 Gerd Moellmann <gerd@gnu.org>
2519
2520 * eval.c (skip_debugger): Prevent a compiler warning.
2521 (Fcondition_case): Likewise.
2522 (Fbacktrace_frame): Use a null interactive spec.
2523
773272d8
KH
25242000-10-19 Kenichi Handa <handa@etl.go.jp>
2525
2526 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
2527
a42943e9
GM
25282000-10-18 Gerd Moellmann <gerd@gnu.org>
2529
e50517d9
GM
2530 * strftime.c: Sync with glibc, file version 1.78.
2531 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
2532 should no longer be used according to ISO 8601.
2533
9035a35a
GM
2534 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
2535 no map for meta_prefix_char, don't try to use it as a keymap.
2536 Instead, if T_OK is non-zero, look up a default binding, if any,
2537 otherwise, if T_OK is zero, return nil.
2538
a42943e9
GM
2539 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
2540 (x_to_xcolors, png_load): Use x_query_color.
2541
2542 * xterm.c (x_color_cells, x_query_colors, x_query_color): New
2543 functions.
2544 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
2545 which can be slow.
2546 (x_copy_color, x_alloc_lighter_color): Likewise.
2547
2548 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
2549 (x_query_color, x_query_colors): Add prototype.
2550
2551 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
2552 check_string_bytes only if not noninteractive, increase count to 50.
2553
00de2987
MB
25542000-10-18 Miles Bader <miles@lsi.nec.co.jp>
2555
2556 * insdel.c (adjust_markers_for_delete): Handle before-insertion
2557 markers correctly.
2558
54918e2b
GM
25592000-10-17 Gerd Moellmann <gerd@gnu.org>
2560
1f0b3fd2
GM
2561 * alloc.c (pure_bytes_used): Renamed from pureptr.
2562 (ALIGN): New macro.
2563 (pure_alloc): New function.
2564 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
2565 Use it.
2566 (Fpurecopy): Use PURE_POINTER_P.
2567
68c5d1db
GM
2568 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
2569 PT has moved backward.
2570
9a038881
GM
2571 * xdisp.c (cursor_row_p): Take continued lines into account.
2572
361b097f
GM
2573 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
2574 string's size_byte.
2575 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
2576 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
2577 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
2578 string allocated.
2579
54918e2b
GM
2580 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
2581 of selective display off while searching for the next line start.
2582
03ed0806
KH
25832000-10-17 Kenichi Handa <handa@etl.go.jp>
2584
2585 * Makefile.in (term.o): Depend on dispextern.h.
2586
7e05cdaf
SM
25872000-10-16 Stefan Monnier <monnier@cs.yale.edu>
2588
2589 * keymap.c (keymap_memberp): Ensure that nil is not a member.
2590
a6801fd1
GM
25912000-10-16 Gerd Moellmann <gerd@gnu.org>
2592
483de32b
GM
2593 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
2594 the iterator at the beginning, so that they can be set later on,
2595 for instance in reseat_at_next_visible_line_start, without being
2596 overwritten.
2597
a6801fd1
GM
2598 * xfns.c (pbm_format): Add :foreground and :background keywords.
2599 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
483de32b 2600 (xbm_load): Recognize foreground and background color
a6801fd1
GM
2601 specifications.
2602
dbf1fcc1
EZ
26032000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
2604
2605 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
2606
2607 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern
2608 declaration.
2609
2610 * msdos.c (IT_set_face): Compare highlighted face with the default
2611 face, and invert colors if these faces' colors are identical.
2612 (Fmsdos_remember_default_colors): Don't swap foreground and
2613 background colors in initial_colors[].
2614 (IT_set_frame_parameters): Don't swap frame's foreground and
2615 background pixels. If ALIST includes "(reverse . t)", swap
2616 foreground-color and background-color properties in frame's
2617 param_alist. If the original frame's param_alist doesn't specify
2618 the colors, store unspecified-fg and unspecified-bg, reversed if
2619 required.
2620
2621 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
2622 the colors are unspecified and reversed, reverse fore- and back-
2623 ground in the returned value.
2624 (Fframe_parameter): Ditto.
2625
b41fe2c3
GM
26262000-10-16 Gerd Moellmann <gerd@gnu.org>
2627
3a6b59d9
GM
2628 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
2629 get_last_unchanged_at_beg_row.
2630 (find_first_unchanged_at_end_row): Renamed from
2631 get_first_unchanged_at_end_row.
2632 (find_first_unchanged_at_end_row): Convert assertions to
2633 unconditional tests which abort. When looking for a row in
2634 unchanged text, don't go further back than first_text_row.
2635
b41fe2c3
GM
2636 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
2637 Don't add in the last line's height when deciding if the new
2638 position is below the scroll margin.
9d1af64f 2639
b41fe2c3 26402000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
2641
2642 * editfns.c (Fconstrain_to_field): Check carefully for field
2643 boundaries if either OLD_POS or NEW_POS has a non-nil field
2644 property, even if they're the same.
2645
c412cb7b
KH
26462000-10-16 Kenichi Handa <handa@etl.go.jp>
2647
2648 * xterm.c (x_draw_box_rect): Fix the calculation of width and
2649 height for XFillRectangle.
2650
5586f3eb
SM
26512000-10-15 Stefan Monnier <monnier@cs.yale.edu>
2652
2653 * syntax.c (Fstring_to_syntax): New function extracted from
2654 Fmodify_syntax_entry.
2655 (Fmodify_syntax_entry): Use it and document the ! and | fences.
2656 (skip_chars, Fforward_comment): Remove unused variables.
2657 (syms_of_syntax): Add defsubr for string-to-syntax.
2658 (describe_syntax): Add code for comment and string fences.
2659
db785038
SM
26602000-10-14 Stefan Monnier <monnier@cs.yale.edu>
2661
2662 * keymap.c (access_keymap): Add AUTOLOAD parameter.
2663 Do the meta->esc mapping. Call get_keyelt before returning.
2664 Start scanning from the second element (the first is always `keymap')
2665 to make it easier to detect when we reach a parent map.
2666 Handle the case of inheriting from a symbol whose function is a map.
2667 (Fkeymap_parent): Also handle the `inherit from symbol' case.
2668 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
2669 (get_keyelt, Flookup_key): Update call to access_keymap.
2670 Remove the meta->esc mappings.
2671 (define_as_prefix): Delete old disabled code.
2672 (menu_item_p): New function.
2673 (where_is_internal_1): Skip over the few remaining menu items.
2674 * lisp.h (access_keymap): Update prototype.
2675 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
2676 Update call to access_keymap.
2677 (follow_key, read_key_sequence): Update calls to access_keymap.
2678 Remove the meta->esc mappings.
2679
cafafe0b
GM
26802000-10-13 Gerd Moellmann <gerd@gnu.org>
2681
a2e2a7f6
GM
2682 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
2683 with additional argument.
2684
cafafe0b
GM
2685 * xdisp.c (cursor_row_p): New function.
2686 (try_cursor_movement, display_line): Use it.
2687
2688 * xdisp.c (append_space): Also save/restore iterator's current
2689 character and its length.
2690
2691 * xdisp.c (init_from_display_pos): Add an assertion.
2692 (handle_stop): Don't set iterator's add_overlay_start.
2693 (handle_invisible_prop): Likewise.
2694 (load_overlay_strings): If text under an overlay is invisible,
2695 take both before- and after-strings into account when the iterator
2696 is positioned either at the start or at the end of the overlay.
2697 (forward_to_next_line_start): Rewritten.
2698 (reseat_at_next_visible_line_start): Rewritten.
2699 (set_iterator_to_next): Add parameter RESEAT_P.
2700
2701 * dispextern.h (struct it): Remove member add_overlay_start.
2702 (set_iterator_to_next): Change prototype.
2703
c744452b
KH
27042000-10-13 Kenichi Handa <handa@etl.go.jp>
2705
2706 * coding.c (code_convert_region): Be sure to initialize
2707 coding->category_idx.
e4a3f4e1
KH
2708 (decode_coding_string): Set coding->src_multibyte and
2709 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
2710 (encode_coding_string): Set coding->src_multibyte and
2711 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 2712
321fd26f
SM
27132000-10-12 Stefan Monnier <monnier@cs.yale.edu>
2714
2715 * xfns.c (Fx_create_frame): Don't bother calling
2716 face-set-after-frame-default since the caller does it for us anyway.
2717
76832439
EZ
27182000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
2719
2720 * window.c (coordinates_in_window): Fix detection of vertical line
2721 on character terminals.
2722
2483cf58
GM
27232000-10-12 Gerd Moellmann <gerd@gnu.org>
2724
2725 * editfns.c (save_excursion_save): Additionally record the
2726 selected window.
2727 (save_excursion_restore): If buffer was visible in a window, and a
2728 different window was selected, and the old selected window is
2729 still live, restore point in that window.
2730
eb991b25
KH
27312000-10-12 Kenichi Handa <handa@etl.go.jp>
2732
8a0eba09
KH
2733 * xterm.c (x_produce_glyphs): Handle
2734 unibyte_display_via_language_environment correctly.
2735
20401fcc
KH
2736 * regex.c (regex_compile): Change the way of handling a range from
2737 unibyte char to multibyte char.
2738
2739 * syntax.c (skip_chars): Change the way of handling a range from
2740 unibyte char to multibyte char.
2741
eb991b25
KH
2742 * process.c (read_process_output): Cancel previous change.
2743
365dd325
EZ
27442000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
2745
c1b096cb
EZ
2746 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
2747
365dd325
EZ
2748 * charset.c (Ffind_charset_string): Doc fix.
2749 (Ffind_charset_region): Doc fix.
2750
eb483c2b
KH
27512000-10-11 Kenichi Handa <handa@mule.m17n.org>
2752
2753 * process.c (read_process_output): Fix previous change. Adjust
2754 multibyteness of text to insert in a buffer by
df3c11b9 2755 string_make_unibyte/multibyte instead of
eb483c2b
KH
2756 Fstring_as_unibyte/multibyte.
2757
b40bfb99
AS
27582000-10-10 Andreas Schwab <schwab@suse.de>
2759
2760 * alloc.c (mark_object): Remove all workarounds installed on
2761 1993-08-08.
2762
caff31d4
KH
27632000-10-10 Kenichi Handa <handa@etl.go.jp>
2764
2765 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before
2766 returning.
2767 (base64_encode_1): Make it work for a text of multibyte form.
2768 (Fbase64_decode_region): Allocate sufficient memory for multibyte
2769 case. Don't call str_to_multibyte because base64_decode_1
2770 produces correct multibyte form for eight-bit codes.
2771 (Fbase64_decode_string): Adjusted for the change of
2772 base64_decode_1.
2773 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
2774 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
2775 codes.
2776
2777 * charset.h (CHAR_STRING): Optimized for single byte characters.
2778
cba026ef
AS
27792000-10-09 Andreas Schwab <schwab@suse.de>
2780
2781 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
2782 -1 after socket is closed, to fall through to error processing.
2783
1e21fe48
EZ
27842000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
2785
2786 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 2787 variables. If ALIST includes foreground-color or
1e21fe48
EZ
2788 background-color, change also the colors of the default face for
2789 this frame.
2790
a640322e
EZ
27912000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
2792
2793 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
2794 them extern (they are defined on xfaces.c).
2795 (syms_of_msdos): Don't intern and don't staticpro
2796 Qbackground_color and Qforeground_color.
2797
a115794c
EZ
27982000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
2799
2800 * frame.c (Fframe_parameter): For non-windowed frames, if
2801 f->param_alist says foreground or background color is unspecified,
2802 call tty_color_name to return the color name computed from the
2803 frame's current colors.
2804
f5533b63
DL
28052000-10-06 Dave Love <fx@gnu.org>
2806
2807 * terminfo.c (ospeed): Don't declare.
2808
2809 * sysdep.c: Don't include string.h.
2810 (h_errno): Declare conditional also on TRY_AGAIN.
2811
2812 * charset.c (Ffind_charset_string): Doc fix.
2813
2814 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
2815 (Fbase64_decode_region, Fbase64_decode_string): More explicit
2816 error messages.
2817
2b06561a
DL
28182000-10-05 Dave Love <fx@gnu.org>
2819
2820 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
2821 position like menu-bar.
2822
ca839c85
GM
28232000-10-05 Gerd Moellmann <gerd@gnu.org>
2824
2825 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
2826
2827 * xdisp.c (handle_single_display_prop): Use safe_call1.
2828 (safe_call): Renamed from call_function.
2829 (safe_call1): New function.
2830 (handle_fontified_prop): Use safe_call1 instead of call1.
2831 (safe_eval): Renamed from eval_form.
2832 (safe_eval_handler): Renamed from eval_handler.
2833 (handle_single_display_prop, display_mode_element): Use safe_eval
2834 instead of eval_form.
2835
2836 * xfaces.c (merge_face_heights): Use safe_call instead of
2837 call_function.
2838
2839 * keyboard.c (show_help_echo): Use safe_call instead of
2840 call_function; use safe_eval instead of eval_form.
2841
2842 * lisp.h (safe_call): Renamed from call_function.
2843 (safe_eval): Renamed from eval_form.
2844 (safe_call1): Add prototype.
2845
a3489ece
MB
28462000-10-05 Miles Bader <miles@lsi.nec.co.jp>
2847
2848 * xfns.c (image_ascent): Rearrange ascent calculation for the
2849 has-a-font case.
2850
35810b6f
SM
28512000-10-04 Stefan Monnier <monnier@cs.yale.edu>
2852
2853 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
2854 (where_is_internal_1): Don't bother ignoring menu-items any more.
2855
3dc78168
GM
28562000-10-04 Gerd Moellmann <gerd@gnu.org>
2857
2858 * keyboard.c (update_menu_bindings): New variable.
2859 (parse_menu_item): Use AREF. If update_menu_bindings
2860 is 0, don't update menu bindings.
2861 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
2862
1efc2bb9
EZ
28632000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
2864
2865 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
2866 to `mark_object'.
2867
3f679f55
SM
28682000-10-02 Stefan Monnier <monnier@cs.yale.edu>
2869
2870 * syntax.c (forw_comment): Match nestedness of ender/starter.
2871 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
2872 (prev_char_comstart_first): Remove.
2873 (back_comment): Check two-char comment markers more carefully
2874 to better handle overlapping cases like *//* or /* */* */ ...
2875 Match nestedness of ender/starter.
2876
2021ab61
DL
28772000-10-02 Dave Love <fx@gnu.org>
2878
2879 * config.in (HAVE_GAI_STRERROR): Add undef.
2880
2881 * process.c (Fopen_network_stream): Use it.
2882
2883 * m/alpha.h (NO_REMAP): Don't define.
2884
64e6cc18
GM
28852000-10-02 Gerd Moellmann <gerd@gnu.org>
2886
2887 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
2888 return with a string converted to an integer or vice versa when
2889 Vmocklisp_arguments is t.
2890 (Fsignal): Likewise. The function can return for `quit'.
2891 (struct gcpro): Declare member `var' to point to a volatile
2892 Lisp_Object.
2893
2894 * eval.c (error): Prevent compiler warning.
2895
b1904cd9
SM
28962000-09-30 Stefan Monnier <monnier@cs.yale.edu>
2897
2898 * keymap.c (keymap_memberp): New function.
2899 (Fset_keymap_parent): Use it.
2900 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
2901 Use keymap_memberp to avoid creating cycles.
2902 (access_keymap): Use KEYMAPP.
2903
71c9ec51
GM
29042000-09-30 Gerd Moellmann <gerd@gnu.org>
2905
2906 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
2907 gai_strerror. Make sure xerrno is set if connect fails. Improve
2908 error recovery.
71c9ec51 2909
c70c6b58
JR
29102000-09-29 Jason Rumney <jasonr@gnu.org>
2911
2912 * w32term.c (w32_char_font_type, w32_encode_char)
2913 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
2914 (w32_bdf_per_char_metric): New function.
2915 (w32_per_char_metric): Use it.
2916 (x_draw_glyph_string_background): Always draw background for BDF
2917 glyphs.
2918
2919 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
2920 GDI object which is a scarce resource.
2921
2922 * w32bdf.c (search_file_line): Fix skipping of whitespace.
2923 (get_quoted_string): Fix limit on memchr search.
2924 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
2925 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
2926 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
2927 (get_cached_font_char, cache_char_offset): Use macro
2928 BDF_CODEPOINT_RANGE_COVER_P.
2929 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
2930 (clear_cached_bitmap_slots): New function.
2931 (GET_HEX_VALUE): G-Z, g-z are not hex.
2932 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
2933 (get_bitmap_with_cache): Use new cache implementation.
2934 (create_offscreen_bitmap): New function.
2935 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
2936
2937 * w32term.c (x_produce_glyphs): If the distance from the current
2938 position to the next tab stop is less than a canonical character
2939 width, use the tab stop after that.
2940 (x_draw_glyphs): Handle case START and END are out of bounds more
2941 carefully.
2942 (x_clear_mouse_face): Block/unblock input.
2943 (x_display_and_set_cursor): Don't show a hollow box cursor for
2944 buffers whose cursor_type is nil.
2945
fe01239f
GM
29462000-09-29 Gerd Moellmann <gerd@gnu.org>
2947
2948 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar
2949 disappears.
2950
2951 * dispextern.h (updating_frame): Declare extern.
2952
e7c52f1f
AS
29532000-09-29 Andreas Schwab <schwab@suse.de>
2954
2955 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
2956
de6e1f7c
GM
29572000-09-29 Gerd Moellmann <gerd@gnu.org>
2958
25126faa
GM
2959 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
2960 use its function definition.
2961 (tool_bar_items): Likewise.
2962
de6e1f7c
GM
2963 * lisp.h (fatal): Declare NO_RETURN.
2964
454ee39b
KH
29652000-09-29 Kenichi Handa <handa@etl.go.jp>
2966
2967 * keymap.c: Remove the line "#undef NULL".
2968
96301c5f
GM
29692000-09-28 Gerd Moellmann <gerd@gnu.org>
2970
2971 * xterm.c (x_make_frame_visible): Try harder to make the frame
2972 visible.
2973
efffeeb4
DL
29742000-09-28 Dave Love <fx@gnu.org>
2975
ecb8b666
DL
2976 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
2977
dc3cd20f
DL
2978 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
2979
2980 * .gdbinit (xreload): Note its need on GNU/Linux.
2981
efffeeb4
DL
2982 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
2983 r_alloc, r_alloc_free.
2984
8610d903
KH
29852000-09-28 Kenichi Handa <handa@etl.go.jp>
2986
2987 * syntax.c (skip_chars): Handle negation correctly.
2988
8901d1ac
GM
29892000-09-27 Gerd Moellmann <gerd@gnu.org>
2990
6f22f1ad
GM
2991 * xfaces.c (realize_default_face): Call set_lface_from_font_name
2992 with non-zero FORCE_P argument.
2993
8901d1ac
GM
2994 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
2995 Add assertions.
2996
2997 * xdisp.c (window_box_height): Add an assertion.
2998
2999 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
3000 tool-bar than is available.
3001 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
3002
36f1966f
DL
30032000-09-27 Dave Love <fx@gnu.org>
3004
efffeeb4 3005 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 3006
31d929e5
GM
30072000-09-26 Gerd Moellmann <gerd@gnu.org>
3008
c98863bf
GM
3009 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
3010 instead of BITS_PER_INT.
3011 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
3012 EMACS_UINT, respectively.
3013 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
3014
3015 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
3016
3017 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
3018
77072ab1
GM
3019 * window.c (freeze_window_starts): Construct last argument for
3020 foreach_window differently.
3021
3022 * xfns.c (x_decode_color): Don't return a Lisp_Object.
3023
3024 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
3025 EMACS_UINT instead of `int' and `unsigned int'.
3026 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
3027
3028 * frame.h (struct frame): Make the `nothing' member of union
3029 output_data an EMACS_INT.
3030
31d929e5
GM
3031 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug
3032 hunting.
3033 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
3034 size in the sdata structure.
3035 (SDATA_NBYTES, SDATA_DATA): New macros.
3036 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
3037 differently for the different layout of the sdata structure.
3038 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
3039 in sdata.
3040 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
3041 Check that size recorded in the string size and size recorded in
3042 the sdata structure agree.
3043
3e60b029
DL
30442000-09-25 Dave Love <fx@gnu.org>
3045
3046 * buffer.c: Include stdio.h.
3047
3048 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
3049
3050 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
3051
3052 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
3053 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as
3054 size_t.
3055 (__malloc_extra_blocks): Declare as __malloc_size_t.
3056
8ff16b4e
GM
30572000-09-25 Gerd Moellmann <gerd@gnu.org>
3058
755a2ccd
GM
3059 * alloc.c (mark_image): Use GC_NILP instead of NILP.
3060
d8b4516f
GM
3061 * keyboard.c (show_help_echo): Set help_echo_showing_p.
3062 (read_char): If help-echo is showing, preserve the echo area
3063 when redisplaying.
3064
3065 * xdisp.c (help_echo_showing_p): New variable.
3066 (set_message): Reset it to 0.
3067 (init_xdisp): Initialize help_echo_showing_p.
3068
3069 * dispextern.h (help_echo_showing_p): Declare extern.
3070
3071 * config.in: Fix typo in __GNUC_MINOR__.
3072
3073 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
3074
b11af2dd
GM
3075 * s/freebsd.h (POSIX_SIGNALS): Define.
3076
8ff16b4e
GM
3077 * xterm.c (x_clear_mouse_face): Block/unblock input.
3078
844eb643
DL
30792000-09-24 Dave Love <fx@gnu.org>
3080
3081 * fns.c (base64_encode_1): Fix last change.
3082
b30ab1b3
GM
30832000-09-22 Gerd Moellmann <gerd@gnu.org>
3084
3085 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
3086
3087 * xdisp.c (try_window_reusing_current_matrix): More fixes
3088 for the case window has a header-line.
3089
c6cbe5f0
DL
30902000-09-22 Dave Love <fx@gnu.org>
3091
4c7c1f3f
DL
3092 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
3093 a doc string.
3094
3095 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
3096
c6cbe5f0
DL
3097 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
3098
550a625e
GM
30992000-09-21 Gerd Moellmann <gerd@gnu.org>
3100
4c7c1f3f 3101 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
3102 for GCC >= 2.5.
3103
3104 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error): Declare
3105 NO_RETURN.
3106
80d26f99
GM
3107 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
3108 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
3109 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
3110 warnings.
3111
3112 * marker.c (byte_char_debug_check): Return void.
3113
623a0aae
GM
3114 * xfns.c (Fx_create_frame): Set default frame parameter value
3115 for tool-bar-lines to 1.
3116
3117 * dispnew.c (scrolling_window): Compare y-positions of rows
3118 equal at the start. Some simplification.
3119
3120 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
3121 reused rows' y-position in the case window has a header-line, and
3122 new window start is greater than old window start.
3123
42ac0ae5
GM
3124 * process.c (process_sent_to): New variable.
3125 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
3126 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
3127 Declare more parameters volatile.
3128
550a625e
GM
3129 * lread.c (Vrecursive_load_depth_limit): New variable.
3130 (Fload): Check recursive loads whose recursion depth exceeds
3131 Vrecursive_load_depth_limit.
3132 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
3133
8320414c
GM
31342000-09-20 Gerd Moellmann <gerd@gnu.org>
3135
f46c275e
GM
3136 * fileio.c (Fread_file_name): Doc fix.
3137
3138 * editfns.c (Fmessage_or_box): Doc fix.
3139
3140 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
3141
b7e11c5b
GM
3142 * xfns.c (xbm_scan): Allow C-style comments.
3143
8320414c
GM
3144 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
3145 symbols are specified, add color translations to the cache.
3146 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New
3147 functions.
3148 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
3149 xpm_cache_color.
3150 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
3151 structures to xpm_init_color_cache.
3152
da1608d9
GM
31532000-09-19 Gerd Moellmann <gerd@gnu.org>
3154
3155 * dispnew.c (update_window_line): Make sure to always draw
3156 mode-lines.
3157
6badfa25
AI
31582000-09-19 Andrew Innes <andrewi@gnu.org>
3159
3160 * makefile.nt (bootstrap-emacs): Don't change directory.
3161
3a5f42bb
KH
31622000-09-19 Kenichi Handa <handa@etl.go.jp>
3163
1b7649bd
KH
3164 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
3165
3a5f42bb
KH
3166 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
3167 If output buffer is too small, signal an appropriated error.
3168
9f83cf0b
DL
31692000-09-18 Dave Love <fx@gnu.org>
3170
3171 * keyboard.c (menu_bar_items, tool_bar_items)
3172 (current_active_maps): Remove redundant get_local_map call.
3173
28c7826c
GM
31742000-09-18 Gerd Moellmann <gerd@gnu.org>
3175
5cefa566
GM
3176 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
3177 cursor for buffers whose cursor_type is nil.
3178
6fed3546
GM
3179 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
3180 a feature to implement that is already implemented.
3181 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
3182 warnings.
3183
3184 * xfns.c (x_clear_image_1): New function.
3185 (x_clear_image): Use it.
3186 (x_from_xcolors): Use x_clear_image_1; don't free the image's
3187 mask.
3188
05b1f851
GM
3189 * dispnew.c (update_window): Move test for invisible lines
3190 at the top to update_window_line.
3191 (update_window_line): Handle invisible lines here.
3192
f4779de9
GM
3193 * xfns.c (clear_image_cache): Clear current matrices of all
3194 frames sharing an image cache. Block input while freeing
3195 images. Fix timestamp comparison.
3196 (x_clear_image): Also free the mask.
3197
28c7826c
GM
3198 * xfns.c (lookup_image): Block input while loading the image so
3199 that we won't get interrupted in a state where the image isn't yet
3200 set up completely.
3201 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
3202 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
3203 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
3204 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock
3205 input.
3206
b7412313
GM
32072000-09-16 Gerd Moellmann <gerd@gnu.org>
3208
3209 * dispnew.c (update_window): Make sure to make desired rows
3210 current even if they are completely invisible at the top
3211 of a window.
3212
47e351a3
GM
32132000-09-15 Gerd Moellmann <gerd@gnu.org>
3214
7f8f1edc
GM
3215 * xfns.c (lookup_image): Build mask before applying an algorithm.
3216 Recognize algorithm `disabled'.
3217 (cross_disabled_images): New variable.
3218 (COLOR_INTENSITY): New macro.
3219 (x_detect_edges): Use COLOR_INTENSITY.
3220 (x_disable_image): New function.
3221 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
3222
3223 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
3224 disabled state, don't apply an image transformation algorithm if
3225 the user specified an image for the disabled state. Use
28c7826c 3226 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
3227 user hasn't specified an image.
3228
ebb8f116
GM
3229 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
3230 allocation functions with the XPM lib.
3231 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
3232 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
3233 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
3234 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
3235 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New
3236 functions.
3237 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
3238 functions, if possible, because these handle color allocation
3239 failure more gracefully.
3240 (Fimage_mask_p): New function.
3241
47e351a3
GM
3242 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
3243 (Qedge_detection, Qheuristic): New symbols.
3244 (syms_of_xfns): Initialize new symbols.
3245 (lookup_image): Handle `:mask X', `:algorithm emboss', and
3246 `algorithm (edge-detection ...)'.
3247 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
3248 (tiff_format, gif_format, gs_format): Add `:mask'.
3249 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
3250 (GIF_MASK, GS_MASK): New enumerators.
3251 (x_laplace_read_row, x_laplace_write_row): Functions removed.
3252 (emboss_matrix, laplace_matrix): New variables.
3253 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
3254 (x_edge_detection): New functions.
3255 (x_laplace): Rewritten in terms of x_detect_edges.
3256 (x_build_heuristic_mask): If image has a mask, free it.
3257
fe83b953
AI
32582000-09-14 Andrew Innes <andrewi@gnu.org>
3259
3260 * makefile.w32-in: Revert to Unix line endings.
3261
3021e816
AI
32622000-09-14 Andrew Innes <andrewi@gnu.org>
3263
3264 * makefile.w32-in: Standardize indentation somewhat.
3265 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
3266 cater for differences between shells.
3267
3268 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
3269
2a32b5ea
GM
32702000-09-14 Gerd Moellmann <gerd@gnu.org>
3271
3272 * xterm.c (x_produce_glyphs): If the distance from the current
3273 position to the next tab stop is less than a canonical character
3274 width, use the tab stop after that.
3275
b4331e96
DL
32762000-09-14 Dave Love <fx@gnu.org>
3277
3278 * buffer.c (alloc_buffer_text): Fix xmalloc call.
3279
ef9e4345
GM
32802000-09-14 Gerd Moellmann <gerd@gnu.org>
3281
085536c2
GM
3282 * xdisp.c (handle_fontified_prop): While running fontification
3283 functions, bind `fontification-functions' and
3284 `after-change-functions' to nil.
3285
ef9e4345
GM
3286 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
3287 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
3288
3289 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
3290
3291 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
3292 USE_MMAP_FOR_BUFFERS.
3293
3294 * insdel.c (make_gap): Use enlarge_buffer_text.
3295
3296 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
3297 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
3298 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
3299 from former r_alloc_* functions in ralloc.c.
3300 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New
3301 variables.
3302 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
3303 (mmap_init) [REL_ALLOC_MMAP]: New function.
3304 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
3305 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
3306 BUFFER_FREE.
3307
3308 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
3309 (enlarge_buffer_text): Add prototype.
3310
3311 * ralloc.c: Remove everything having to do with the use of mmap.
3312
f8608968
GM
33132000-09-13 Gerd Moellmann <gerd@gnu.org>
3314
2a494b2d
GM
3315 * sound.c (Fplay_sound): Doc fix.
3316
8c907a56
GM
3317 * keyboard.c: Avoid some more compiler warnings.
3318 (parse_tool_bar_item): Ignore cached key bindings.
3319
f8608968
GM
3320 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
3321 and allocation of Lisp data.
3322
6ab70e9a
GM
33232000-09-12 Gerd Moellmann <gerd@gnu.org>
3324
d12d0a9b
GM
3325 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
3326 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
3327 defaults first.
3328
6ab70e9a
GM
3329 * lread.c (Fload): Put code checking for recursive loads in #if 0.
3330
63c36c3c
KH
33312000-09-12 Miyashita Hisashi <himi@meadowy.org>
3332
3333 * ccl.c: Comment fixed.
3334 (MAX_MAP_SET_LEVEL): Increased to 30.
3335 (PUSH_MAPPING_STACK): Enclose with do-while block.
3336 (POP_MAPPING_STACK): Likewise.
3337 (stack_idx_of_map_multiple): New variable.
3338 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
3339 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
3340 call the corresponding CCL program by
3341 CCL_CALL_FOR_MAP_INSTRUCTION.
3342 (ccl_driver) <CCL_MapSingle>: Likewise.
3343 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
3344 with the case where looking up process reaches to the end of
3345 map-set, and call CCL programs as the above change.
3346
7ee3bd7b
GM
33472000-09-11 Gerd Moellmann <gerd@gnu.org>
3348
8ec8a5ec
GM
3349 * xfns.c (png_load, jpeg_load): Declare some variables volatile
3350 that might be clobbered by longjmp.
3351 (check_x_display_info, x_decode_color, create_frame_xic)
3352 (Fx_display_backing_store, Fx_display_visual_class)
3353 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler
3354 warnings.
3355
f74b0705
GM
3356 * lread.c (init_lread): Set Vloads_in_progress to nil.
3357 (Fload): Show list of recursively loaded files, when signaling an
3358 error.
3359
7ee3bd7b
GM
3360 * lread.c (Vloads_in_progress): New variable.
3361 (record_load_unwind): New function.
3362 (Fload): Check for recursive loads.
3363 (syms_of_lread): Initialize Vloads_in_progress.
3364 (read_integer, read1): Avoid some compiler warnings.
3365
3366 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
3367 compiler warnings.
3368
974e1e5b
MB
33692000-09-11 Miles Bader <miles@gnu.org>
3370
3371 * editfns.c (Fbuffer_string): Doc fix.
3372
9824c4e3
GM
33732000-09-10 Gerd Moellmann <gerd@gnu.org>
3374
3375 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
3376
6a72fdd1
KR
33772000-09-09 Ken Raeburn <raeburn@gnu.org>
3378
3379 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
3380 whether to include other header files.
3381
28e6fb66
GM
33822000-09-09 Gerd Moellmann <gerd@gnu.org>
3383
3384 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 3385 by Fmemq as a boolean.
28e6fb66 3386
7f8b6551
SM
33872000-09-08 Stefan Monnier <monnier@cs.yale.edu>
3388
3389 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
3390
a8710abf
GM
33912000-09-08 Gerd Moellmann <gerd@gnu.org>
3392
d1a02881
GM
3393 * ralloc.c (mmap_fd): Remove initializer which can make it
3394 read-only in a dumped Emacs.
3395 (mmap_fd_1): New variable.
3396 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
3397 restore it from there.
3398 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
3399 unconditionally so that mmap_fd can be initialized there.
3400 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
3401 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
3402 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
3403
c454aac1
GM
3404 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
3405
3406 * xdisp.c (dump_glyph_row): Fix printf format string.
3407 (display_line, move_it_in_display_line_to): Avoid compiler
3408 warnings.
3409
fc653ef2
GM
3410 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
3411
3015eec0
GM
3412 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
3413 inheritance.
3414
bfe0ee88
GM
3415 * xdisp.c (try_window_id): When trying to locate cursor in
3416 unchanged rows at the top, handle the case that we can't find it.
3417
a8710abf
GM
3418 * xterm.c (x_draw_glyphs): Handle case START and END are out
3419 of bounds more carefully.
3420
6b7d4ae4
DL
34212000-09-08 Dave Love <fx@gnu.org>
3422
423193c5
DL
3423 * s/sol2.h (REL_ALLOC_MMAP): Define.
3424 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
3425
3426 * ralloc.c: Don't include string.h (redundant).
3427 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
3428 [!MAP_ANON]: Include fcntl.h.
3429 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
3430 (r_alloc, r_re_alloc, r_alloc_free)
3431 (mmap_enlarge, mmap_set_vars): Use it.
3432 (r_alloc_init_fd): New function.
3433 (__morecore) [SYSTEM_MALLOC]: Don't declare.
3434 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
3435 malloc type.
3436
3437 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
3438 Remove vm-limit.o.
3439
6b7d4ae4
DL
3440 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
3441 change to __NetBSD__.
3442
44d31981
KH
34432000-09-08 Kenichi Handa <handa@etl.go.jp>
3444
3445 * search.c (compile_pattern): Check the multibyteness of cached
3446 string and PATTERN.
3447
aad40737
MB
34482000-09-08 Miles Bader <miles@gnu.org>
3449
3450 * xfaces.c (default_face_vector): Function removed.
3451 (Finternal_merge_in_global_face): Restore old global/local
3452 attribute override order. Use inline loop instead of calling
3453 default_face_vector.
3454
91a211b5
GM
34552000-09-07 Gerd Moellmann <gerd@gnu.org>
3456
3457 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
3458 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
3459 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
3460 where necessary, in case POINTER_TYPE is `void'.
3461
03419440
EZ
34622000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
3463
3464 * frame.c (make_terminal_frame): Initialize frame foreground and
3465 background colors to unspecified, for the initial instance of an
3466 MSDOS frame.
3467
f46f845b
GM
34682000-09-07 Gerd Moellmann <gerd@gnu.org>
3469
24f76fbf
GM
3470 * ralloc.c (mmap_find): Fix overlap computation.
3471 (mmap_enlarge): Compute nbytes before trying to find an
3472 overlapping region.
3473
f46f845b
GM
3474 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
3475 instead of `!='.
3476
3477 * lread.c (syms_of_lread): Change value of regexp
3478 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
3479
3480 * xmenu.c (xdialog_show): When looking up the selection in
3481 menu_items, take `quote' boundaries into account; this corresponds
3482 to a nil ITEM in x-popup-dialog.
3483
3c014385
KH
34842000-09-07 Kenichi Handa <handa@etl.go.jp>
3485
fd6f711b
KH
3486 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
3487 not 0x81.
3488 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
3489
3c014385 3490 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
3491 encoding, not decoding. Fix the handling of latin-jisx0201.
3492 Check for the charset katakana-jisx0201 too.
3c014385 3493 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 3494 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 3495
0da3ecef
GM
34962000-09-07 Gerd Moellmann <gerd@gnu.org>
3497
ab0ee409
GM
3498 * xfaces.c (Vparam_value_alist): New variable.
3499 (syms_of_xfaces): Initialize it.
3500 (Finternal_set_lisp_face_attribute): Avoid more consing.
3501
3502 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
3503 specially.
3504 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
3505 (Qbackground_mode): New variable.
3506 (syms_of_frame_1): Initialize Qbackground_mode.
3507
3508 * lisp.h (Qdisplay): Declare extern.
1091dd67 3509
0da3ecef
GM
3510 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
3511 change face on all frames, and change the default for new frames.
3512
b14654b9
DL
35132000-09-07 Dave Love <fx@gnu.org>
3514
3515 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
3516
d24fd56f
KH
35172000-09-07 Kenichi Handa <handa@etl.go.jp>
3518
794f3670
KH
3519 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
3520
0fddd0dc
KH
3521 * charset.c: Include composite.h
3522 (lisp_string_width): New function.
3523 (Fstring_width): Call lisp_string_width instead of strwidth.
3524
3525 * Makefile.in (charset.o): Depends on composite.h.
3526
d24fd56f
KH
3527 * process.c (read_process_output): Before inserting the decoded
3528 text in the buffer, adjust the multibyteness.
3529
fa0b693c
GM
35302000-09-06 Gerd Moellmann <gerd@gnu.org>
3531
73b77ee5
GM
3532 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
3533 buffer's text buffer is null, map new memory.
3534
0a58f946
GM
3535 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
3536 POINTER_TYPE and size_t.
3537 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
3538 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
3539 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
3540 [REL_ALLOC_MMAP]: New macros.
3541 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
3542 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
3543 [REL_ALLOC_MMAP]: New functions.
3544
3545 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
3546 before and after unexec.
3547
3548 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
3549 text buffers if necessary.
3550
3551 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
3552 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
3553 in prototypes.
3554
fa0b693c
GM
3555 * config.in (HAVE_MMAP): Add #undef.
3556
877055f6
GM
35572000-09-05 Gerd Moellmann <gerd@gnu.org>
3558
08ba3862
GM
3559 * frame.c (Qdisplay_type): New variable.
3560 (syms_of_frame_1): Initialize it.
3561 (Fframe_parameter): New function that avoids consing.
3562 (syms_of_frame): Defsubr it.
3563
66ffe51c
GM
3564 * buffer.c (Fother_buffer): Consider buffers as invisible when
3565 they are displayed in a window on an invisible frame.
3566
877055f6
GM
3567 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
3568 get-largest-window always return nil.
3569
bb970e67
GM
35702000-09-04 Gerd Moellmann <gerd@gnu.org>
3571
3572 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
3573 variable; recognize Emacs 19 elc files.
3574
7a3d0e0e
MB
35752000-09-04 Miles Bader <miles@gnu.org>
3576
3577 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
3578 before initially popping up the menu, so the menu doesn't flash
3579 when the face settings are significantly different from the
3580 defaults.
3581
14473664
SM
35822000-09-04 Stefan Monnier <monnier@cs.yale.edu>
3583
3584 * regex.c (WIDE_CHAR_SUPPORT): New macro.
3585 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
3586 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
3587 (BIT_UNIBYTE): Remove.
3588 (re_match_2_internal): Delete corresponding code and streamline the
3589 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
3590 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
3591 (re_wctype_t): New type.
3592 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
3593 (regex_compile): Use them and fix handling of overly long char classes.
3594
c1174479
AI
35952000-09-03 Andrew Innes <andrewi@gnu.org>
3596
f8803e97
AI
3597 * makefile.w32-in: Change to DOS line endings.
3598
c1174479
AI
3599 * s/ms-w32.h (ORDINARY_LINK): New define.
3600
3601 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
3602 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
3603
3604 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
3605 (distclean): Delete them here instead.
3606
44ef7cf6
AI
3607 * w32proc.c (compare_env): Convert to uppercase for comparison,
3608 not lowercase, to match how the native Windows shell works.
3609
49b3bd82
JR
36102000-09-03 Jason Rumney <jasonr@gnu.org>
3611
3612 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
3613 CVS changes the line-ends when checking in/out on DOS/Windows.
3614
3615 * makefile.nt (emacs): Do not change directory to run temacs, as
3616 the load-path is set relative to current directory.
3617
a3d35a39
MB
36182000-09-03 Miles Bader <miles@gnu.org>
3619
3620 * xterm.c (x_alloc_lighter_color_for_widget): New function.
3621
d276b0cf
GM
36222000-09-02 Gerd Moellmann <gerd@gnu.org>
3623
715e84c9
GM
3624 * xdisp.c (redisplay_mode_lines): New function.
3625 (display_mode_lines): Return number of mode lines displayed.
3626 (echo_area_display): Use redisplay_mode_lines to draw garbaged
3627 mode lines. Don't temporarily bind redisplay-dont-pause to t.
3628
8892f40b
GM
3629 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
3630 string.h and strings.h.
3631 (index) [HAVE_INDEX]: Add prototype.
3632
d276b0cf
GM
3633 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
3634 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
3635
3636 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
3637 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
3638
38404229
GM
36392000-09-01 Gerd Moellmann <gerd@gnu.org>
3640
3641 * lread.c (read1): Accept `?' as symbol constituent, for
3642 compatiblity with XEmacs.
3643
c0f9ea08
SM
36442000-08-31 Stefan Monnier <monnier@cs.yale.edu>
3645
3646 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
3647 (struct re_pattern_buffer): Remove newline_anchor.
3648 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
3649 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
3650 (re_max_failures, fail_stack): Use size_t rather than unsigned.
3651 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
3652 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
3653 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
3654 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
3655 Get rid of references to newline_anchor.
3656 (regcomp): Allocate and precompute a fastmap.
3657
8c0f83fe
GM
36582000-08-31 Gerd Moellmann <gerd@gnu.org>
3659
3660 * lread.c (openp): GCPRO local variable `filename'.
3661
4bb91c68
SM
36622000-08-30 Stefan Monnier <monnier@cs.yale.edu>
3663
3664 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
3665
3666 * regex.c: Merge some changes from GNU libc. Add prototypes.
3667 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
3668 Use memcmp and memcpy instead of bcopy and bcmp.
3669 (init_syntax_once): Use ISALNUM.
3670 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
3671 (REG_UNSET_VALUE): Remove. Use NULL instead.
3672 (REG_UNSET, re_match_2_internal): Use NULL.
3673 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
3674 New macros.
3675 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
3676 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
3677 (regex_compile): In handle_interval, return an error rather than try to
3678 unfetch the interval if we can't find the closing brace.
3679 Obey the RE_NO_GNU_OPS syntax bit.
3680 (TOLOWER): New macro.
3681 (regcomp): Use it.
3682 (regexec): Allocate regs.start and regs.end as one block.
3683
5226a931
GM
36842000-08-30 Gerd Moellmann <gerd@gnu.org>
3685
868dd24b
GM
3686 * xdisp.c (echo_area_display): Check display_completed instead
3687 of calling detect_input_pending.
3688
3689 * dispnew.c (update_frame): Only set display_completed here; move
3690 the update_begin and update_end calls here from update_frame_1.
3691 (update_frame_1): Don't set display_completed here, don't call
3692 update_begin/update_end.
3693
5226a931
GM
3694 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
3695 instead of store_frame_param.
3696
2a8bd25f
GM
36972000-08-29 Gerd Moellmann <gerd@gnu.org>
3698
3699 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
3700 desired window matrix hasn't been displayed, use the current row
3701 instead. Make sure that only those frame rows are updated for
3702 which there exists a corresponding enabled desired row.
3703
ba3478d9
MB
37042000-08-29 Miles Bader <miles@gnu.org>
3705
3706 * xfaces.c (default_face_vector): New function.
3707 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
3708
87d0f685
GM
37092000-08-29 Gerd Moellmann <gerd@gnu.org>
3710
3711 * lread.c (openp): Prevent temporary string passed to
3712 Ffile_readable_p from being garbage collected.
3713
6fa86045
DL
37142000-08-28 Dave Love <fx@gnu.org>
3715
3716 * keymap.c (store_in_keymap): Add `static' to declaration.
3717
bb17930d
GM
37182000-08-28 Gerd Moellmann <gerd@gnu.org>
3719
3720 * emacs.c, callint.c, doc.c, editfns.c
3721 (toplevel) [HAVE_STRING_H]: Include string.h.
3722 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
3723 (index): Remove prototypes which might conflict with non-standard
3724 definitions of index/strchr.
3725
3726 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
3727 (rindex): Define only if !HAVE_RINDEX.
3728
3729 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
3730
3731 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
3732
87188200
MB
37332000-08-28 Miles Bader <miles@gnu.org>
3734
3735 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
3736 made inconsistent by a font-related attribute in FROM.
3737 (merge_face_inheritance): Add function comment.
3738
41a68aef
KH
37392000-08-28 Kenichi Handa <handa@etl.go.jp>
3740
3741 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
3742 the 4th arg (PREV_EVENT) Qt to suppress input method.
3743
f7c436c1
SM
37442000-08-27 Stefan Monnier <monnier@cs.yale.edu>
3745
0b32bf0e
SM
3746 * regex.c: Indent cpp directives and remove parens after `defined'.
3747 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
3748 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
3749 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
3750 (re_compile_pattern): Use size_t for length.
3751 (init_syntax_once): Move to a better place.
3752 * regex.h: Merge changes from GNU libc. Indent cpp directives.
3753 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
3754
f7c436c1
SM
3755 * syntax.c (back_comment): Detect cases where a comment-starter is
3756 actually inside another comment as in: /* a // b */ c // d \n.
3757 Make it clear that `comstart_pos' is unused for nested comments.
3758
3759 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
3760 (KEYMAPP): New macro.
3761 (Fkeymap_parent, Fset_keymap_parent): Use it.
3762 (fix_submap_inheritance): Mark it static.
3763 (define_as_prefix, describe_buffer_bindings, describe_command)
3764 (describe_translation, describe_map): Complete prototypes.
3765
3766 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
3767
3768 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
3769 to better match the key-lookup behavior.
3770
6288c62f
GM
37712000-08-27 Gerd Moellmann <gerd@gnu.org>
3772
3773 * xfaces.c (lface_fully_specified_p): Handle :inherit.
3774 (Finternal_set_lisp_face_attribute): Fix typo in error message.
3775
e931344e
EZ
37762000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
3777
3778 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
3779 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
3780 (xterm.o): Depend on coding.h
3781
d10dfeef
KH
37822000-08-26 Kenichi Handa <handa@etl.go.jp>
3783
3784 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
3785 the corresponding '#endif'.
3786
2d73e8d3
MB
37872000-08-26 Miles Bader <miles@gnu.org>
3788
3789 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
3790 * xfaces.c (QCinherit): New variable.
3791 (syms_of_xfaces): Initialize it.
3792 (LFACE_INHERIT): New macro.
3793 (Finternal_get_lisp_face_attribute)
3794 (merge_face_vector_with_property)
3795 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
3796 (check_lface_attrs): Allow new types of face height. Check
3797 inherit attribute.
3798 (CYCLE_CHECK): New macro.
3799 (merge_face_inheritance): New function.
3800 (merge_face_vectors): Merge inherited faces too. Add F and
3801 CYCLE_CHECK arguments.
3802 (merge_face_vector_with_property, Finternal_merge_in_global_face)
3803 (lookup_named_face, lookup_derived_face, realize_named_face)
3804 (face_at_string_position, face_at_buffer_position): Supply
3805 new F and CYCLE_CHECK arguments to merge_face_vectors.
3806 (merge_face_heights): New function.
3807 (merge_face_vectors, merge_face_vector_with_property)
3808 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
3809 handle relative face heights.
3810 (lface_same_font_attributes_p): Compare heights using EQ.
3811
6ce974d4
KH
38122000-08-26 Kenichi Handa <handa@etl.go.jp>
3813
3814 * charset.c (char_to_string): Check the character validity.
3815 (char_valid_p): If C is not less than MAX_CHAR, be sure to return
3816 0.
3817
dc1e502d
SM
38182000-08-25 Stefan Monnier <monnier@cs.yale.edu>
3819
3820 * regex.c (PUSH_FAILURE_COUNT): New macro.
3821 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
3822 Handle popping of a register's or a counter's data.
3823 (POP_FAILURE_POINT): Use the new name.
3824 (re_match_2_internal): Push counter data on the stack for succeed_n,
3825 jump_n and set_number_at and remove misleading dead code in succeed_n.
3826
bd9d0f3f
GM
38272000-08-25 Gerd Moellmann <gerd@gnu.org>
3828
3829 * xdisp.c (redisplay_internal): If considering all windows on all
3830 frames, update the display for each frame as soon as possible,
3831 instead of first building all desired matrices for all frames, and
3832 then updating them all.
3833 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
3834
aa5b8e15
GM
38352000-08-24 Gerd Moellmann <gerd@gnu.org>
3836
17494071
GM
3837 * bytecode.c (mark_byte_stack): Add a comment.
3838
aa5b8e15
GM
3839 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
3840 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
3841 a graphical frame.
3842
c543db81
KH
38432000-08-24 Kenichi Handa <handa@etl.go.jp>
3844
d246d5f5
KH
3845 * minibuf.c (do_completion): Always use compare-string, not
3846 string-equal because the latter doesn't pay attention to
3847 multibyteness of strings.
3848
c543db81
KH
3849 * process.c (create_process): Don't setup raw-text coding here.
3850 (Fopen_network_stream): Don't set coding->src_multibyte and
3851 coding->dst_multibyte here.
3852 (read_process_output): For process filter, return unibyte string
3853 if default-enable-multibyte-characters is nil.
3854 (send_process): If OBJECT is multibyte text, be sure to encoded it
3855 by the specified coding system for the process. Otherwise, setup
3856 raw-text coding.
3857 (init_process): Don't initialize default-process-coding-system
3858 here.
3859
9b47cfe0
EZ
38602000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
3861
3862 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
3863 <scroll-down-aggressively>: Likewise.
3864
f5a36960
KH
38652000-08-23 Kenichi Handa <handa@etl.go.jp>
3866
3867 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
3868 zero. Set coding->produced_char correctly.
3869
69a7ffa7
AI
38702000-08-22 Andrew Innes <andrewi@gnu.org>
3871
3872 * makefile.w32-in: New file.
3873
3874 * unexw32.c (unexec): Ignore old_name, and use the actual location
3875 of the current executable instead. Base new_name on this.
3876
3877 * w32proc.c (create_child): Remove reference to security
3878 descriptor, which isn't needed and doesn't compile with mingw32.
3879
3880 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
3881 up dllimport attributes.
3882 (x_update_window_end): Update prototype.
3883
3884 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
3885 extern, which screws up dllimport attributes.
3886
3887 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
3888 up dllimport attributes.
3889
3890 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
3891 screws up dllimport attributes.
3892
3893 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
3894 up dllimport attributes.
3895 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
3896 screws up dllimport attributes.
3897
3898 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
3899 up dllimport attributes.
3900
3901 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
3902 screws up dllimport attributes.
3903
3904 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
3905 screws up dllimport attributes.
3906
3907 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
3908 up dllimport attributes.
3909
3910 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
3911 unnecessary extern, which screws up dllimport attributes.
3912 (main): Ditto.
3913
3914 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
3915 up dllimport attributes.
3916
3917 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
3918 unnecessary extern, which screws up dllimport attributes.
3919
3920 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
3921 screws up dllimport attributes.
3922
3923 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
3924 up dllimport attributes.
3925
3926 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
3927
3928 * w32bdf.c (search_file_line):
3929 (set_bdf_font_info):
3930 (seek_char):
3931 (w32_get_bdf_glyph):
3932 (w32_BDF_to_x_font): Fix compile warnings.
3933
3934 * w32menu.c: Include keyboard.h before frame.h. Fix compile
3935 warnings.
3936
3937 * w32select.c: Include keyboard.h before frame.h.
3938
3939 * w32fns.c (max): Define macro.
3940 (JOHAB_CHARSET): Define if not known.
3941 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
3942 (Fx_show_tip): Synch with X version.
3943
3944 * w32xfns.c: Include keyboard.h before frame.h.
3945
3946 * w32fns.c: Include keyboard.h before frame.h.
3947
3948 * w32term.c: Include keyboard.h before frame.h.
3949
3950 * fontset.c: Include keyboard.h before frame.h.
3951
3952 * w32inevt.c: Include keyboard.h before frame.h.
3953 (MOUSE_MOVED): Define if not known.
3954
3955 * minibuf.c: Include keyboard.h before frame.h.
3956
3957 * keyboard.c: Include keyboard.h before frame.h.
3958
3959 * indent.c: Include keyboard.h before frame.h.
3960
3961 * dispnew.c: Include keyboard.h before frame.h.
3962
3963 * buffer.c: Include keyboard.h before frame.h.
3964
3965 * alloc.c: Include keyboard.h before frame.h.
3966
3967 * print.c: Include keyboard.h before frame.h.
3968
3969 * process.c: Include keyboard.h before frame.h.
3970
3971 * scroll.c: Include keyboard.h before frame.h.
3972
3973 * sysdep.c: Include keyboard.h before frame.h.
3974
3975 * term.c: Include keyboard.h before frame.h.
3976
3977 * window.c: Include keyboard.h before frame.h.
3978
3979 * xdisp.c: Include keyboard.h before frame.h.
3980 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
3981
3982 * frame.c: Include keyboard.h before frame.h.
3983
3984 * w32heap.h: Undefine min, max.
3985
3986 * w32gui.h: Undefine min, max.
3987
3988 * unexw32.c: Change PUCHAR to PCHAR.
3989 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
3990 (relocate_offset):
3991 (get_section_info):
3992 (copy_executable_and_dump_data): Remove unnecessary static defs.
3993 (copy_executable_and_dump_data): Fix compile warnings.
3994
3995 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
3996
3997 * w32console.c (min): Define macro.
3998 (clear_frame, write_glyphs): Fix compile warning.
3999
4000 * w32proc.c (compare_env):
4001 (find_child_console): Fix compile warning.
4002
4003 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
4004 sys_errlist instead of _sys_errlist.
4005 (get_emacs_configuration_options): New function.
4006
4007 * s/ms-w32.h (sys_nerr): Provide default definition.
4008 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
4009 name with _ prepended.
4010 (NSIG): Define if not known.
4011 (get_emacs_configuration): Provide extern declaration.
4012 (get_emacs_configuration_options): Provide extern declaration.
4013 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
4014
4015 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
4016 (map_w32_filename):
4017 (read_unc_volume): Fix compile warning.
4018
4019 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
4020 definitions from being used.
4021
4022 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
4023
4024 * w32.c (unc_volume_file_attributes):
4025 (open_unc_volume): Make arg const.
4026
4027 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
4028 (read_input_waiting): Remove excess parameter.
4029
4030 * w32.c (init_environment): Call _access.
4031 (check_windows_init_file): Call _close.
4032 (init_user_info): Call _putenv.
4033 (init_environment): Call _putenv and _strdup.
4034 (init_ntproc): Reset volume info cache on startup.
4035
4036 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
4037 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
4038 cannot override the CRT malloc.
4039
4040 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
4041 (LINK_FLAGS): Append to original value of LINK_FLAGS.
4042
4043 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
4044 unless we are linking with a static CRT.
4045 (RVA_TO_PTR): Cast result to unsigned char*.
4046
4047 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
4048 (add_volume_info): Use xstrdup.
4049
25060080
SM
40502000-08-22 Stefan Monnier <monnier@cs.yale.edu>
4051
4052 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
4053 (do_completion, Fminibuffer_complete_word): Use it.
4054 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
4055 var so it can take non-boolean values.
4056
6917e6bb
GM
40572000-08-21 Gerd Moellmann <gerd@gnu.org>
4058
acb7cc89
GM
4059 * editfns.c (find_field): Formatting changes.
4060 (toplevel): Some old-style function forward declarations
4061 changed to prototypes, some new protypes added, some functions
4062 made static.
4063
4064 * lisp.h (set_time_zone_rule): Add prototype.
4065 (use_dialog_box): External declaration.
4066
0bbfdc25
GM
4067 * keyboard.c (gen_help_event): Add parameter SIZE.
4068 (kbd_buffer_events_waiting): Slightly rewritten.
4069 (clear_event): New function.
4070 (kbd_buffer_get_event): Use it, and clear the input_events of
4071 HELP_EVENTs.
4072 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
4073 don't fill the newly created array with nils.
4074 (toplevel): Convert some old-style function forward declarations
4075 to prototypes.
4076
4077 * keyboard.h (gen_help_event): Change prototype.
4078
4079 * xterm.c (XTread_socket): Change calls to gen_help_event.
4080
4081 * w32term.c (w32_read_socket): Change calls to gen_help_event.
4082
6917e6bb
GM
4083 * eval.c (Fmacroexpand): Doc fix.
4084
e5cd3d11
JR
40852000-08-20 Jason Rumney <jasonr@gnu.org>
4086
4087 * w32term.h (x_display_info_for_display): Remove as this function
4088 does not exist on W32.
4089
4090 * w32term.c (help_echo_window): New variable.
4091 (syms_of_w32term): staticpro it.
4092 (note_mode_line_highlight): Set it.
4093 (XTextExtents16): Removed as there is no equivalent on W32.
4094 (x_compute_glyph_string_overhangs): Incomplete body removed, as
4095 the X way of doing this will not work for W32.
4096 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
4097 (x_draw_image_foreground): Avoid drawing outside of the clip area
4098 when image doesn't have a mask.
4099 (note_mouse_highlight): Process overlays in the right order of
4100 priority. Set help_echo_window.
4101 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
4102 because that's more visible for large images.
4103
4104 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
4105 name to single_keymap_panes.
4106 (w32_menu_show): Set wv->title when dealing with titles.
4107 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
4108
6e69ab8c
MB
41092000-08-21 Miles Bader <miles@gnu.org>
4110
4111 * minibuf.c (do_completion): Try again if we rewrite the input
4112 string, but no completion was done, so that any completion message
4113 will be correct.
4114
511bd4eb
GM
41152000-08-20 Gerd Moellmann <gerd@gnu.org>
4116
4117 * xfaces.c (lface_equal_p): Compare strings differently.
4118 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
4119 (realize_tty_face): Use them.
4120 (syms_of_xfaces): Initialize new variables.
4121 (map_tty_color): New function, extracted from realize_tty_face.
4122 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
4123 foreground or background color, store the new color name in the
4124 realized face; previous code trying to do this had no effect.
4125 (realize_tty_face): Use map_tty_color.
4126 (Fclear_face_cache): Set face_change_count and ensure thorough
4127 redisplay.
4128
1433385f
GM
41292000-08-19 Gerd Moellmann <gerd@gnu.org>
4130
511bd4eb
GM
4131 * undo.c (record_first_change, record_marker_adjustment): Don't
4132 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 4133
419ac0a2
KH
41342000-08-18 Kenichi Handa <handa@etl.go.jp>
4135
4136 * coding.c (decode_coding_string): Set members consumed,
4137 consumed_char, produced, produced_char of *coding correctly. If
4138 decode_coding doesn't consume any byte, don't try anymore.
4139 (encode_coding_string): Likewise.
4140
7eb9e30d
GM
41412000-08-18 Gerd Moellmann <gerd@gnu.org>
4142
511bd4eb
GM
4143 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
4144 conditional have void type, for Standard C compilers.
7eb9e30d
GM
4145
4146 * xdisp.c (redisplay_internal): Compare windows for equality with
4147 EQ, instead of applying XWINDOW to something that might not
4148 be a window.
4149
dd34a735
KH
41502000-08-18 Kenichi Handa <handa@etl.go.jp>
4151
4152 * fontset.c (Finternal_char_font): Search only the selected frame
4153 for a window of the current buffer.
4154
385ff9e3
GM
41552000-08-18 Gerd Moellmann <gerd@gnu.org>
4156
511bd4eb 4157 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
4158 Lisp_Objects.
4159
385ff9e3
GM
4160 * keyboard.c (kbd_buffer_get_event): Handle the case that the
4161 second half of a HELP_EVENT is found at the start of kbd_buffer.
4162
d6abb4c7
MB
41632000-08-18 Miles Bader <miles@gnu.org>
4164
4618074a
MB
4165 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
4166
d6abb4c7
MB
4167 * editfns.c (save_restriction_save): Rewrite to use markers.
4168 (save_restriction_restore): Rewrite to understand new form of data
4169 saved by save_restriction_save.
4170 (Fsave_restriction): Remove cautionary note in doc-string.
4171
a7b28523
GM
41722000-08-17 Gerd Moellmann <gerd@gnu.org>
4173
4174 * fileio.c (build_annotations): Add a comment explaining the
4175 return value of format-annotate-function. Replace a spurious call
4176 to Flength with a CONSP test. Call format-annotate-function with
4177 a fifth arg specifying how many times the function is been called
4178 in a row, to let it choose temporary buffers appropriately.
4179
03c9ed77
DL
41802000-08-17 Dave Love <fx@gnu.org>
4181
4182 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
4183 declare make_temp_name twice.
4184
4185 * lread.c: Prototype readevalloop, load_unwind,
4186 load_descriptor_unwind.
4187 (unreadpure): Give it an arg.
4188
4189 * unexalpha.c: Prototype fatal_unexec, mark_x,
4190 update_dynamic_symbols. Declare unexec as void.
4191
4192 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
4193 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
4194
4195 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
4196 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on
4197 DOUG_LEA_MALLOC.
4198
4199 * alloca.c: Use #error.
4200 [POINTER_TYPE]: Use it.
4201
4202 * eval.c (Fdefvar): Doc fix.
4203
4204 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
4205 INITIALIZE_INTERVAL.
4206
4207 * buffer.h: Avoid DECLARE_INTERVALS.
4208
4209 * config.in: Add size_t.
4210
aae41d97
EZ
42112000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
4212
4213 * w16select.c (set_clipboard_data): If there's not enough memory
4214 to put text into clipboard, return 1, as Fw16_set_clipboard_data
4215 expects. In case of other failures, return 3.
4216 (system_error_msg): New error message.
4217 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
4218 system_error_msg.
4219
65aa5e85
GM
42202000-08-16 Gerd Moellmann <gerd@gnu.org>
4221
4222 * term.c (write_glyphs): Also turn off inverse video after turning
4223 off other appearances in case TS_exit_attribute_mode is not equal
4224 to TS_end_standout_mode.
4225 (insert_glyphs): Turn inverse video on/off for each run of glyphs
4226 with the same face.
4227 (turn_off_face): Reset standout_mode only if
4228 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
4229 is equal to TS_end_standout_mode.
4230
ece23901
KH
42312000-08-16 Kenichi Handa <handa@etl.go.jp>
4232
9d7bcb2e
KH
4233 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
4234 sequence at the end of the source block.
4235
ece23901
KH
4236 * ccl.c (Fccl_program_p): Docstring modified.
4237 (Fccl_execute): Likewise.
4238 (Fccl_execute_on_string): Likewise.
4239
5e30eaa2
EZ
42402000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
4241
4242 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
4243
290602fd
KH
42442000-08-16 Kenichi Handa <handa@etl.go.jp>
4245
4246 The following changes are mainly to fix bugs of
4247 encode/decode-coding-string failing if encoding/decoding return
4248 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
4249 variable conversion_buffer.
4250
4251 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
4252 decrement dst_end to avoid buffer overflow in the later call of
4253 string_as_multibyte
4254
4255 * coding.h (conversion_buffer_size, conversion_buffer)
4256 (get_conversion_buffer): Extern deleted.
4257
4258 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
4259 (conversion_buffer, conversion_buffer_size): Variables deleted.
4260 (get_conversion_buffer): Function deleted.
4261 (struct conversion_buffer): New structure.
4262 (MAX_ALLOCA): New macro.
4263 (allocate_conversion_buffer): New macro.
4264 (extend_conversion_buffer, free_conversion_buffer): New functions.
4265 (ccl_coding_driver): Set coding->result.
4266 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
4267 this is the last block of source.
4268 (encode_coding): Likewise. Handle the source block as the last
4269 one only when the whole source text is consumed.
4270 (decode_coding_string): Handle the case that the output buffer is
4271 too small to decode the whole source text. Use
4272 allocate_conversion_buffer, extend_conversion_buffer and
4273 free_conversion_buffer, not get_conversion_buffer.
4274 (encode_coding_string): Likewise.
4275 (init_coding): Function deleted.
4276 (init_coding_once): Delete code to initialize
4277 conversion_buffer_size.
4278
4279 * emacs.c (main): Don't call init_coding.
4280
4281 * msdos.c (IT_write_glyphs): Use a locally declared
4282 conversion_buffer.
4283
4284 * term.c (write_glyphs): Use a locally declared conversion_buffer.
4285 (insert_glyphs): Likewise.
4286
4287 * w32console.c (write_glyphs): Use a locally declared
4288 conversion_buffer.
4289
b9f80d41
EZ
42902000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
4291
4292 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
4293 member of display_info is NULL.
4294
32dc52f7
GM
42952000-08-15 Gerd Moellmann <gerd@gnu.org>
4296
58ed0d3b
GM
4297 * alloc.c (compact_small_strings): Use safe_bcopy, add an
4298 assertion.
4299
32dc52f7 4300 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 4301 appearances with capability `me'.
32dc52f7
GM
4302 (write_glyphs): Switch on inverse video before each face change.
4303
4eb22d33
DL
43042000-08-14 Dave Love <fx@gnu.org>
4305
4306 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
4307 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
4308 (lisp_free): Declare and make static.
4309
4310 * window.c: Fix embedded comment.
4311 (syms_of_window): Fix doc string.
4312
90cbf47e
GM
43132000-08-14 Gerd Moellmann <gerd@gnu.org>
4314
4315 * keymap.c (push_key_description): If C without modifiers is < 32,
4316 make sure to print `C-' before `M-', like in the manual.
4317
440fc135
GM
43182000-08-11 Gerd Moellmann <gerd@gnu.org>
4319
4320 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
4321 since they aren't relocated anymore.
4322 (sxhash_string): Make sure returned hash code fits in a Lisp
4323 integer.
4324
4325 * xdisp.c (try_cursor_movement): Fix handling of cursor in
4326 partially visible line which is smaller than the window's
4327 height.
4328
6e264fad
KH
43292000-08-11 Kenichi Handa <handa@etl.go.jp>
4330
4331 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
4332 the multibyte form of eight-bit-control characters.
4333 (Fccl_execute_on_string): Initialize ccl->multibyte.
4334
4335 * ccl.h (struct ccl_program): New member multibyte.
4336
4337 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
4338
c371f69a
KH
43392000-08-11 Kenichi Handa <handa@etl.go.jp>
4340
4341 * regex.c (regex_compile) <normal_char>: Pay attention to
4342 multibyteness.
4343 (analyse_first) <exactn>: Setup fastmap correctly for
4344 eight-bit-control characters.
4345
43462000-08-11 Kenichi Handa <handa@etl.go.jp>
4347
4348 * termhooks.h (enum event_kind): New member
4349 multibyte_char_keystroke.
4350
4351 * keyboard.c (make_lispy_event): Handle the new event type
4352 multibyte_char_keystroke.
4353
4354 * xterm.c: Include coding.h.
4355 (XTread_socket): Work around a bug of XmbLookupString. If the
4356 input is from XIM, decode it according to the current locale. In
4357 that case, generate multibyte_char_keystroke events.
4358
b8ddbe71
KH
43592000-08-11 Kenichi Handa <handa@etl.go.jp>
4360
4361 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
4362 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
4363
47589c8c
GM
43642000-08-10 Gerd Moellmann <gerd@gnu.org>
4365
4366 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
4367 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
4368 (move_it_in_display_line_to): Record iterator's ascent and descent
4369 before producing glyphs, and restore them when we know the glyph
4370 doesn't fit on the line.
4371 (move_it_to): Restructured so that it's easier to debug. If
4372 moving to a vpos, and not moving to an x or character position,
4373 stop as soon as the specified vpos is reached; don't move further
4374 into that line because that might change the computed line height.
4375 (try_cursor_movement): New function, extracted from the cursor
4376 movement branch of redisplay_window. If ending on a partially
4377 visible line, don't try to scroll if the cursor line is taller
4378 than the window.
4379 (redisplay_window): Use try_cursor_movement.
4380
4381 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
4382 because that function doesn't cope with variable-height lines.
4383
4384 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
4385 box cursor because that's better visible for large images.
4386
c51bacd6
MB
43872000-08-10 Miles Bader <miles@gnu.org>
4388
4389 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
4390
bea56df7
GM
43912000-08-10 Gerd Moellmann <gerd@gnu.org>
4392
4393 * xdisp.c (Vmessages_buffer_name): New variable.
4394 (message_dolog): Use it.
4395 (syms_of_xdisp): Initialize it.
4396
99cd7364
EZ
43972000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
4398
4399 * msdos.c (IT_note_mouse_highlight): Update the calls to
4400 overlays_at.
4401 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
4402 redundant now that keyboard.h is included.
4403
7d093d56
EZ
44042000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
4405
4406 * keyboard.c (kbd_buffer_events_waiting): New function.
4407
4408 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
4409
4410 * msdos.c: Include keyboard.h.
4411 (XMenuActivate): Empty no_event events from the event buffer. If
4412 no events are left after that, call clear_input_pending.
4413 (mouse_clear_clicks): New function, code moved from mouse_init.
4414 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
4415 mouse driver to ``forget'' any past clicks.
4416
4417 * Makefile.in (msdos.o): Depend on keyboard.h.
4418
41e757a6
GM
44192000-08-09 Gerd Moellmann <gerd@gnu.org>
4420
8e7bd231
GM
4421 * lisp.h (input_pending): External declaration.
4422
4423 * dispextern.h (Qredisplay_dont_pause): Declare extern.
4424
4425 * xdisp.c (echo_area_display): Display thoroughly if input is
4426 pending. Bind redisplay-dont-pause to t during the redisplay.
4427 in case input is pending.
4428
4429 * dispnew.c (Qredisplay_dont_pause): New variable.
4430 (syms_of_display): Initialize and staticpro it.
4431 (update_frame_1): Don't interrupt the display for pending input if
4432 redisplay_dont_pause is set.
4433
43028b7e
GM
4434 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
4435
41e757a6
GM
4436 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
4437
2f2174fa
KH
44382000-08-09 Miles Bader <miles@lsi.nec.co.jp>
4439
4440 * callproc.c (Fcall_process): Terminate the unwind-protect around
4441 the post-read-conversion of coding system.
4442
0a6fd67e
MB
4443 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
4444 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
4445 * buffer.h (overlays_at): Update prototype.
4446 * xdisp.c (next_overlay_change): Update call to overlays_at.
4447 * xfaces.c (face_at_buffer_position): Likewise.
4448 * textprop.c (Fget_char_property): Likewise.
4449 * xterm.c (note_mouse_highlight): Likewise.
4450
0c80756e
MB
4451 * minibuf.c (do_completion): Don't consider a simple change of
4452 case as `completion'.
4453
975f250a
KR
44542000-08-08 Ken Raeburn <raeburn@gnu.org>
4455
b347b3fd
KR
4456 * keyboard.c (syms_of_keyboard): Initialize
4457 last_point_position_buffer.
4458 * undo.c (record_delete): Make sure last_point_position_buffer is
4459 a buffer before comparing pointers.
4460
4461 * coding.h (decode_coding_string): Declare.
4462
4463 * intervals.h (Fprevious_single_char_property_change): Declare.
4464
4465 * textprop.c (Fprevious_single_char_property_change): Don't do
4466 arithmetic directly on lisp objects.
4467
25ad1371 4468 * editfns.c (find_field): Use EQ, not ==, to compare Lisp
b347b3fd
KR
4469 objects.
4470
4471 * keyboard.h (menu_item_eval_property): Declare.
4472
4473 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
4474 reuse as buffer name, instead of recreating (and discarding) every
4475 time a message is logged.
4476 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
4477 (current_message_1, truncate_message_1, set_message_1)
4478 (display_echo_area_1, resize_mini_window_1): Signatures changed.
4479 (current_message, truncate_echo_area, display_echo_area)
4480 (resize_echo_area_axactly): Changed calls.
b347b3fd 4481
975f250a 4482 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 4483 Lisp object.
975f250a 4484 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 4485 must be an integer, not a Lisp object.
975f250a 4486
46dc9912
KH
44872000-08-08 Kenichi Handa <handa@etl.go.jp>
4488
4489 * charset.c (Fchar_width): Doc fix.
4490
9f6d1a6c
GM
44912000-08-08 Gerd Moellmann <gerd@gnu.org>
4492
4493 * charset.c (Fstring_width): Doc fix.
4494
ff3d9573
GM
44952000-08-07 Gerd Moellmann <gerd@gnu.org>
4496
41e757a6 4497 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
4498 line, clear ascent and descent members of the iterator structure;
4499 the height of the continued line does not affect the height of the
4500 continuation line.
4501 (make_cursor_line_fully_visible): Do nothing if cursor is on a
4502 line taller than the window.
4503 (redisplay_window) <forced window start>: Handle case that the
4504 middle of the window is not found in any row.
4505 (dump_glyph_row): Show more information.
4506 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
4507 first text line in a glyph matrix.
4508
4509 * xterm.c (x_draw_image_foreground): Avoid drawing outside
4510 of the clip area when image doesn't have a mask.
4511
70fc58b3
GM
4512 * fns.c (sweep_weak_table): Fix survival conditions for
4513 key-or-value and key-and-value weakness.
4514
4515 * .gdbinit (xhashtable): New command.
4516
ac0e96ee
GM
4517 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
4518 tables out of the list of all weak hash tables.
4519
ff3d9573
GM
4520 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
4521 a new buffer is created, make sure echo_area_buffer[] references
4522 the new buffer.
4523
e0d8827b
EZ
45242000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
4525
4526 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
4527 the doc string.
4528
c6f35378
KH
45292000-08-07 Kenichi Handa <handa@etl.go.jp>
4530
4531 * syntax.c (skip_chars): Fix previous change. Make the handling
4532 of unibyte string consistent with that of regex search.
4533
1fd4c450
GM
45342000-08-05 Gerd Moellmann <gerd@gnu.org>
4535
e49aa397
GM
4536 * xmenu.c (popup_get_selection): Use xfree instead of free.
4537
4538 * fileio.c (Finsert_file_contents): Use xfree instead of free.
4539
4540 * editfns.c (Ftranspose_regions): Use xfree instead of free.
4541
4542 * callproc.c (child_setup): Use xfree instead of free.
4543
4544 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
4545 instead of malloc.
4546 (run_mac_command, closedir): Use `xfree' instead of `free'.
4547
4548 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
4549
4550 * eval.c (error): Use xfree instead of free.
4551
1fd4c450
GM
4552 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
4553
4554 * fns.c: Replace `illegal' with `invalid'.
e49aa397 4555 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 4556
82d497fc
KH
45572000-08-05 Kenichi Handa <handa@etl.go.jp>
4558
4559 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
4560 conversion.
4561
59f953a2
NF
45622000-08-04 Noah Friedman <friedman@splode.com>
4563
4564 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
4565 docstring.
4566
688351f2
GM
45672000-08-04 Gerd Moellmann <gerd@gnu.org>
4568
4569 * syntax.c (skip_chars): Fix typo in error message.
4570
2dad51cc
AS
45712000-08-04 Andreas Schwab <schwab@suse.de>
4572
4573 * m/ia64.h: Moved from s/ia64.h.
4574
99bb2c60
KH
45752000-08-04 Kenichi Handa <handa@etl.go.jp>
4576
082a1df2
KH
4577 * process.c (read_process_output): Big simplification. Handle
4578 composition and post-read-conversion of coding system correctly.
4579 (send_process): Handle composition correctly.
4580
4581 * callproc.c (Fcall_process): Handle post-read-conversion of
4582 coding system if any.
4583
99bb2c60
KH
4584 * coding.c (decode_coding_iso2022): More strict check for handling
4585 single shifting.
082a1df2
KH
4586 (coding_restore_composition): Pay attention to the case that
4587 cmp_data is not set properly (because of invalid code in the
4588 source text).
4589 (run_pre_post_conversion_on_str): Include text properties in the
4590 resulting string.
4591 (decode_coding_string): Set members of coding correctly.
99bb2c60 4592
f4988be7
GM
45932000-08-03 Gerd Moellmann <gerd@gnu.org>
4594
4595 * s/ia64.h: New file.
4596
4597 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
4598 Use NULL instead of 0 at the end of variable argument list of
4599 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
4600 sizeof (int) < sizeof (void *).
4601
4602 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
4603 of variable argument lists of XtVaGetValues and XtVaSetValues.
4604
4605 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
4606 variable argument lists of XtVaGetValues and XtVaSetValues.
4607
ead53494
GM
46082000-08-02 Gerd Moellmann <gerd@gnu.org>
4609
4610 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
4611 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
4612
4613 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
4614 prototype.
4615
4616 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
4617 in call to Fsingle_key_description.
4618
4619 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
4620 Callers changed.
4621
46222000-08-02 Colin Walters <walters@cis.ohio-state.edu>
4623
4624 * window.c (display_buffer_reuse_frames): New variable.
4625 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
4626 frames displaying BUFFER.
4627 (syms_of_window): Define Lisp variable
4628 display-buffer-reuse-frames.
4629
10b0f752
MB
46302000-08-01 Miles Bader <miles@gnu.org>
4631
4632 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
4633 when to constrain NEW_POS (they were pretty screwed up before).
4634
16425c4a
EZ
46352000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
4636
4637 * msdos.c (run_msdos_command): Save and restore the master
4638 environment, for the case that child_setup signals an error.
4639 When mirroring slashes in DOS shell commands, don't fail when
4640 argv[2] has embedded blanks.
da288c14
EZ
4641 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
4642 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
4643 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
4644
4645 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
4646 using alloca; free it after run_msdos_command returns.
4647
27f73852
DL
46482000-07-27 Dave Love <fx@gnu.org>
4649
4650 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't
4651 define.
4652 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently
4653 working.
4654
4655 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
4656
c0261b5e
EZ
46572000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
4658
4659 * editfns.c (lisp_time_argument): Fix last change.
4660
b548072f
GM
46612000-07-27 Gerd Moellmann <gerd@gnu.org>
4662
3ab82477
GM
4663 * fns.c (Fdelete): Make it work on vectors and strings in addition
4664 to lists.
4665
b548072f
GM
4666 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
4667 (syms_of_fns): Initialize new variables.
4668 (sweep_weak_table): Handle weakness `key-or-value' and
4669 `key-and-value'.
4670 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
4671 weakness, with t meaning the same as `key-and-value'.
4672
91ae8751
KH
46732000-07-27 Kenichi Handa <handa@etl.go.jp>
4674
4675 * coding.h (struct coding_system): Member safe_charset deleted.
4676
4677 * coding.c (Qsafe_charsets): This variable deleted.
4678 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system): New
4679 variables.
4680 (coding_safe_chars): New function.
4681 (CODING_SAFE_CHAR_P): New macro.
4682 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
4683 checking safe_charsets member of the coding system. Caller
4684 changed.
4685 (detect_coding_iso2022): New local variable safe_chars.
4686 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
4687 safe_charsets member of the coding system.
4688 (decode_coding_iso2022): New local variable safe_chars.
4689 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
4690 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
4691 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
4692 (ENCODE_UNSAFE_CHARACTER): New macro.
4693 (encode_coding_iso2022): New local variable safe_chars. Check
4694 unsafe chars.
4695 (setup_coding_system): Delete the code to initialize
4696 coding->safe_charses
4697 (intersection, find_safe_codings): New functions.
4698 (Ffind_coding_systems_region_internal): New function.
4699 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
4700 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
4701 variable and initialize it.
4702
4703 * fns.c (char_table_ref_and_index): New function.
4704
4705 * lisp.h (char_table_ref_and_index): Add prototype.
4706
34a7a267
SS
47072000-07-26 Sam Steingold <sds@gnu.org>
4708
4709 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 4710 (Ffloat_time): New built-in Lisp function.
34a7a267 4711
a95cb10a
GM
47122000-07-26 Gerd Moellmann <gerd@gnu.org>
4713
3353ef5a
GM
4714 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
4715 for the character code.
4716
4717 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
4718 GNU/Linux.
4719
a95cb10a
GM
4720 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
4721 if called for a popup menu.
4722 (xmenu_show): Store help string in widget values.
4723
b4a12321
DL
47242000-07-26 Dave Love <fx@gnu.org>
4725
4726 * syswait.h: Move some definitions.
4727 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
4728 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
4729 perspicuous definitions.
4730 (WTERMSIG): Fix bit pattern used.
4731
13f5ad37
KH
47322000-07-26 Kenichi Handa <handa@etl.go.jp>
4733
4734 * print.c (print_object): If vector printing is truncated, print
4735 "..." to indicate it as well as the case of list printing.
4736
070fe99c
GM
47372000-07-25 Gerd Moellmann <gerd@gnu.org>
4738
969065c3
GM
4739 * xdisp.c (next_element_from_display_vector): Improve comments.
4740
4741 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
4742 for the character code, and the rest for the face id as in 20.x.
4743 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
4744
4745 * window.c (window_display_table): Cleaned up.
4746
070fe99c
GM
4747 * syntax.c (Fforward_word): Add last arg nil in call of
4748 Fconstrain_to_field.
4749
bad77ef7
EZ
47502000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
4751
969065c3 4752 * fileio.c (Frename_file) [DOS_NT]: If the file names are
bad77ef7
EZ
4753 identical but for the letter-case, don't call
4754 barf_or_query_if_file_exists.
4755
c28da489
MB
47562000-07-25 Miles Bader <miles@gnu.org>
4757
4758 * editfns.c (find_field): Honor special `boundary' fields.
4759 (Qboundary): New variables.
4760 (syms_of_editfns): Initialize Qboundary.
4761 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
4762 Use scan_buffer instead of find_before_next_newline, because it
4763 allows us to detect the boundary case where there's a newline at
4764 the search limit.
4765 * lisp.h (Fconstrain_to_field): Update external declaration.
4766
e3c31fd5
GM
47672000-07-24 Gerd Moellmann <gerd@gnu.org>
4768
4769 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
4770 if that is nil.
c28da489 4771
c66c29a2
DL
47722000-07-24 Dave Love <fx@gnu.org>
4773
4774 * s/sunos4-0.h, s/sol2.h:
4775 (LIBS_TERMCAP): Move from m/sparc.h.
4776
4777 * m/sparc.h (TERMINFO): Moved to system files (probably only
4778 relevant for sunos4 judging by its vintage).
4779 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
4780 __arch64__.
4781
fbe0a958
EZ
47822000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
4783
4784 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
4785 name to single_keymap_panes.
4786
7d88e5c9
AS
47872000-07-24 Andreas Schwab <schwab@suse.de>
4788
4789 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
4790
e024b101
GM
47912000-07-24 Gerd Moellmann <gerd@gnu.org>
4792
4793 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
4794 parameters instead of using int parameters. Expect FN to accept
4795 EMACS_INT parameters.
4796 (display_echo_area, resize_echo_area_axactly, current_message)
4797 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
4798 with new argument list.
4799 (resize_mini_window_1): New callback function.
4800 (current_message_1, truncate_message_1, set_message_1): Change
4801 parameter lists to the new format expected by
4802 with_echo_area_buffer.
4803
25c1a9ce
KH
48042000-07-24 Kenichi Handa <handa@etl.go.jp>
4805
4806 * fontset.c (fontset_ref): Remove INLINE declaration.
4807 (fontset_ref_via_base): Likewise.
4808 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
4809 to downcase.
4810
7f987ac0
EZ
48112000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
4812
4813 * msdos.c (IT_note_mouse_highlight): Process overlays in the
4814 correct order of priority. If help echo was found in an overlay,
4815 use that overlay as the object in which the help echo was found.
4816
e2db3069
MB
48172000-07-22 Miles Bader <miles@gnu.org>
4818
4819 * textprop.c (Fprevious_single_char_property_change): The initial
4820 property value should be from the position preceding POSITION, not
4821 following it.
4822
5e3203e4
EZ
48232000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
4824
4825 * coding.c (syms_of_coding): Doc fix for
4826 inhibit-iso-escape-detection.
4827
62145073
GM
48282000-07-21 Gerd Moellmann <gerd@gnu.org>
4829
c20aeb83
GM
4830 * xterm.c (note_mouse_highlight): Process overlays in the right
4831 order of priority.
34a7a267 4832
743934db
GM
4833 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
4834
4835 * xterm.c (note_mouse_highlight): If help-echo was found in an
4836 overlay, use that overlay as the object in which the help was
4837 found.
4838
d1dc7e43 4839 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 4840
62145073
GM
4841 * window.c (foreach_window): Instead of a fake variable argument
4842 list, take one USER_DATA argument.
4843 (foreach_window_1): Likewise, and call callback functions with two
4844 args, the window and USER_DATA.
4845 (struct check_window_data): New struct.
4846 (check_window_containing): Use it.
4847 (window_from_coordinates): Set up a struct check_window_data for
4848 foreach_window.
4849 (add_window_to_list, freeze_window_start): Change parameters
4850 according to new calling convention.
4851
4852 * window.h (foreach_window): Change prototype.
4853
4854 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
4855
48562000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
4857
4858 * xmenu.c (menu_help_callback): Call show_help_echo with
4859 additional arguments OBJECT and POS.
4860
11270583
KH
48612000-07-21 Kenichi Handa <handa@etl.go.jp>
4862
07b14857
KH
4863 * data.c (Faset): Allow storing any multibyte character in a
4864 string. Convert unibyte string to multibyte if necessary.
4865
11270583
KH
4866 * xfns.c (x_encode_text): New function.
4867 (x_set_name): Use x_encode_text.
4868 (x_set_title): Likewise.
4869
4870 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
4871
4872 * xterm.h (x_encode_text): Add prototype.
4873
bc75b4fd
DL
48742000-07-20 Dave Love <fx@gnu.org>
4875
4876 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
4877 xfree, not free.
4878
48c14970
EZ
48792000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
4880
4881 * msdos.c (help_echo_window): New variable.
4882 (syms_of_msdos): Initialize and staticpro it.
4883 (IT_note_mode_line_highlight): Set help_echo_window.
4884 (IT_note_mouse_highlight): Ditto.
4885 (dos_rawgetc): Store help_echo_window in the second event produced
4886 for HELP_EVENTs.
4887
4888 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
4889 Record the object that generated the help echo and the position of
4890 that object in help_echo_object and help_echo_pos. Record that
4891 some glyphs in a row are displayed in mouse-face.
4892 (IT_update_begin): Don't clear mouse highlight unless one of the
4893 enabled glyph rows is marked as being displayed in mouse-face.
4894 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
4895 and position recorded in help_echo_object and help_echo_pos to the
4896 event queue.
4897 (IT_menu_display): Accept a new argument PN: the pane number of
4898 the current menu pane. Record the pane number and the item
4899 number of the item which has associated help string.
4900 (XMenuActivate): Update the prototype for help_callback in
4901 function declaration. Call IT_menu_display with the current menu
4902 pane number as an additional argument. Call help_callback with
4903 two additional arguments: the pane number and the item number of
4904 the menu item associated with the help text.
4905 (help_echo_object, help_echo_pos): New variables.
4906 (syms_of_msdos): Initialize them and staticpro help_echo_object.
4907
4908 * msdos.h (XMenuActivate): Update prototype.
4909
4279296d
GM
49102000-07-19 Gerd Moellmann <gerd@gnu.org>
4911
47db06aa
GM
4912 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
4913 Add some more prototypes.
4914
4915 * xterm.c, xterm.h: Add some more prototypes.
4916
4917 * lisp.h (Fnext_single_char_property_change): Add prototype.
4918
4919 * dispnew.c (direct_output_for_insert): Remove confusing
4920 outer local variable mouse_face_overwritten_p.
4921 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
4922
4279296d
GM
4923 * alloc.c (allocate_string_data): Don't copy old string contents.
4924
670acd62
KH
49252000-07-19 Kenichi Handa <handa@etl.go.jp>
4926
4927 * coding.c (code_convert_region): Delete text properties before
4928 shrinking the conversion region.
4929
7cea38bc
GM
49302000-07-18 Gerd Moellmann <gerd@gnu.org>
4931
dc1cac59
GM
4932 * dispnew.c (update_text_area): Write the whole row if it
4933 has mouse-face in it.
4934
85a8aca9
GM
4935 * xfaces.c (face-alternative-font-family-alist): Remove
4936 DEFVAR_LISP; staticpro instead.
4937
34a7a267 4938 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
4939 new arguments.
4940
4941 * keyboard.c (show_help_echo): Add parameter WINDOW.
4942 (read_char): Call show_help_echo with window extracted from Lisp
4943 help event.
4944 (gen_help_event): Add parameter WINDOW.
4945
4946 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
4947
4948 * xterm.c (help_echo_window): New variable.
4949 (note_mouse_highlight, note_tool_bar_highlight): Set
4950 help_echo_window.
4951 (XTread_socket): Pass help_echo_window to gen_help_event.
4952 (syms_of_xterm): Initialize and staticpro help_echo_window.
4953
f8276b77
DL
49542000-07-18 Dave Love <fx@gnu.org>
4955
4956 * Makefile.in: Fix dependencies of blockinput.h on atimer.h,
4957 systime.h.
4958
088831a6
GM
49592000-07-18 Gerd Moellmann <gerd@gnu.org>
4960
3d6cd763
GM
4961 * alloc.c (allocate_string_data): If string had already data
4962 assigned, copy old contents to new string data.
4963
4964 * coding.c (syms_of_coding): Fix typo in spelling of variable
4965 `inhibit-iso-escape-detection'.
4966
088831a6
GM
4967 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
4968
4969 * Makefile.in: Add dependencies on dispextern.h.
4970 (alloca.o): Don't define malloc and define EMACS_FREE instead of
4971 `free'; both can conflict with system header files.
4972
bc8a8d55
KH
49732000-07-18 Kenichi Handa <handa@etl.go.jp>
4974
4975 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
4976 undefined.
4977
069f5950
DL
49782000-07-18 Dave Love <fx@gnu.org>
4979
4980 * window.c (Fwindow_list): Declare arg `window'.
4981
aa96c820
KH
49822000-07-18 Kenichi Handa <handa@etl.go.jp>
4983
4984 * coding.c (setup_coding_system): Don't override the explicitly
4985 specified designations.
4986
06be8d32
MB
49872000-07-15 Miles Bader <miles@gnu.org>
4988
4989 * editfns.c (char_property_eq, char_property_stickiness): Renamed
4990 from `text_property_eq' and `text_property_stickiness', respectively.
4991 (find_field, Fconstrain_to_field, char_property_eq)
4992 (char_property_stickiness): Changed to call char-property functions
4993 instead of text-property-only ones.
4994
4995 * textprop.c (Fnext_single_char_property_change): Made a subr (was
4996 `next_single_char_property_change'). Do more error checking, and
4997 cleanup limit behavior.
4998 (Fprevious_single_char_property_change): New function.
4999 (syms_of_textprop): Initialize new subrs.
5000
5001 * xdisp.c (display_prop_end, invisible_text_between_p):
5002 Call Fnext_single_char_property_change instead of
5003 next_single_char_property_change.
5004
3fddcdc3
JR
50052000-07-15 Jason Rumney <jasonr@gnu.org>
5006
5007 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
5008 after menu is finished with.
5009 (add_menu_item): Only consider wv->title as a menu title.
5010 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
5011
5012 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
5013 null title.
5014 (FONT_REGEXP): Remove unused macro, and its sub-components.
5015 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
5016
5017 * w32term.c (help_echo_object, help_echo_pos): New variables.
5018 (note_mode_line_highlight): Store additional information about the
5019 help-echo in help_echo_object and help_echo_pos. Check both
5020 `local-map' and `keymap' properties for changing the cursor
5021 (note_mouse_highlight): Store additional information about the
5022 help-echo in help_echo_object and help_echo_pos.
5023 (note_tool_bar_highlight): Set help_echo_object to nil and
5024 help_echo_pos to -1.
5025 (w32_read_socket): Use gen_help_event instead of filling
5026 input_events manually.
5027 (syms_of_w32term): Staticpro help_echo_object.
5028 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
5029 set, arrange for a mouse-highlight redisplay in
5030 XTframe_up_to_date.
5031 (x_clear_mouse_face): New function.
5032 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
5033 (x_update_window_begin): No need to turn off the mouse
5034 highlight here.
5035 (show_mouse_face): Set the mouse_face_p flag of glyph rows
5036 depending on whether they contain glyphs highlighted in
5037 mouse-face.
5038 (x_fill_stretch_glyph_string): Consume runs of stretch
5039 glyphs instead of a single one.
5040 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
5041 with new argument list.
5042 (x_set_glyph_string_gc): Make sure the face's GC is valid.
5043 (x_append_glyph, x_append_composite_glyph)
5044 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
5045 changes in struct glyph starting 1999-12-27. See comments for
5046 xterm.c on 2000-07-05.
5047
178c5d9c
SS
50482000-07-14 Sam Steingold <sds@gnu.org>
5049
5050 * xfaces.c (realize_x_face): Fix the last patch:
5051 check `default_face' before dereferencing.
5052
6fe533f6
DL
50532000-07-14 Dave Love <fx@gnu.org>
5054
069f5950 5055 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 5056
dd7b81cf
KH
50572000-07-14 Kenichi Handa <handa@etl.go.jp>
5058
0693904a 5059 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 5060 default_face's fontset, not using the default fontset.
0693904a 5061
dd7b81cf
KH
5062 * coding.c (inhibit_iso_escape_detection): New variable.
5063 (syms_of_coding): Make it a Lisp variable.
5064 (detect_coding_iso2022): If inhibit_iso_escape_detection is
5065 nonzero, ignore ISO2022's escape sequence.
5066
d5aa31d8
GM
50672000-07-14 Gerd Moellmann <gerd@gnu.org>
5068
e5acf0ca
GM
5069 * alloca.c (malloc) [emacs]: Define as xmalloc.
5070
bd23a692
GM
5071 * xfns.c (Fx_show_tip): If frame parameters contain a position,
5072 use that instead of the mouse position. Add parameters DX and DY.
5073
5074 * dispextern.h (Fx_show_tip): Adjust number of parameters
5075 in prototype.
5076
9662da0b
GM
5077 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
5078 if HELP is a function, call it with OBJECT and POS as parameters
5079 to get the help to display.
5080 (gen_help_event, kbd_buffer_store_help_event): New functions.
5081 (kbd_buffer_get_event): Construct the Lisp help-event differently.
5082 (read_char): Call show_help_echo with new parameters.
5083
178c5d9c 5084 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
5085 Add prototypes.
5086
5087 * xterm.c (help_echo_object, help_echo_pos): New variables.
5088 (note_mode_line_highlight): Store additional information about the
5089 help-echo in help_echo_object and help_echo_pos. Check both
5090 `local-map' and `keymap' properties for changing the cursor
5091 (note_mouse_highlight): Store additional information about the
5092 help-echo in help_echo_object and help_echo_pos.
5093 (note_tool_bar_highlight): Set help_echo_object to nil and
5094 help_echo_pos to -1.
5095 (XTread_socket): Use gen_help_event instead of filling
5096 input_events manually.
5097 (syms_of_xterm): Staticpro help_echo_object.
5098
5099 * xmenu.c (menu_highlight_callback): Use
5100 kbd_buffer_store_help_event instead of setting up and input_event
5101 structure manually.
5102
5103 * xdisp.c (eval_form): GCPRO argument sexpr.
5104 (call_function): New function.
5105 (handle_single_display_prop): Use call_function and FUNCTIONP
5106 instead of checking whether if font_height is a symbol and
5107 using eval_form.
5108
5109 * eval.c (internal_condition_case_2): New function.
5110
5111 * lisp.h (FUNCTIONP): New macro.
5112 (internal_condition_case_2, call_function): Add prototypes.
5113
d5aa31d8
GM
5114 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
5115 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
5116 Always set `arg' member of input_events.
5117 (construct_menu_click): Unused function removed.
5118
5119 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
5120
5121 * w32term.c (construct_mouse_click, construct_mouse_wheel)
5122 (construct_drag_n_drop, x_scroll_bar_handle_click)
5123 (w32_read_socket): Always set `arg' member of input_events.
5124
5125 * keyboard.c (show_help_echo): Use eval_form. Add comment.
5126
5127 * lisp.h (eval_form): Add prototype.
5128
5129 * xdisp.c (eval_form): Make it externally visible.
5130
0f1a9b23
GM
51312000-07-13 Gerd Moellmann <gerd@gnu.org>
5132
5133 * xterm.c (x_handle_tool_bar_click): Store the frame in the
5134 frame_or_window slot of TOOL_BAR_EVENT input events instead of
5135 consing. For prefix events, store the frame in the `arg' slot of
5136 the event, otherwise store the key there.
5137 (XTread_socket): Instead of consing, use the frame_or_window slot
5138 of HELP_EVENTs for the frame, and the `arg' slot for the help
5139 string.
5140
5141 * xmenu.c (menu_highlight_callback): Store help string in the
5142 `arg' member of the input event; don't cons.
5143 (menubar_selection_callback): Use the `arg' slot of input events
5144 to queue additional information, instead of consing.
5145
5146 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
5147
5148 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
5149 TOOL_BAR_EVENTs.
5150 (w32_read_socket): Adapt to changes in HELP_EVENTs.
5151
5152 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
5153 input events to queue additional information, instead of consing.
5154
5155 * keyboard.c (kbd_buffer_gcpro): Renamed from
5156 kbd_buffer_frame_or_window. Now used for all Lisp objects
5157 referenced from the input queue.
5158 (kbd_buffer_store_event): Always use structure assignment for
5159 copying input events. Record all Lisp objects referenced from
5160 events in kbd_buffer_gcpro.
5161 (kbd_buffer_get_event): Construct Lisp `help-echo' events
5162 differently from input events. Test for prefix menu_bar_events
5163 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
5164 event in kbd_buffer_gcpro to nil.
5165 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
5166 frame_or_window is equal to its arg member as prefix events.
5167 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
5168 used by an input event to nil.
5169 (init_keyboard): Use two times the size of the input queue
5170 for kbd_buffer_gcpro.
5171 (syms_of_keyboard): Likewise.
5172
5173 * emacs.c (handle_USR2_signal, handle_USR1_signal): Use
5174 USER_SIGNAL_EVENT.
5175
5176 * termhooks.h (struct input_event): Add member `arg'.
5177 (MENU_BAR_EVENT): Renamed from menu_bar_event.
5178 (USER_SIGNAL_EVENT): Renamed from user_signal.
5179
5180 * xfaces.c (ASET): Remove definition.
5181
5182 * lisp.h (AREF, ASET, ASIZE): New macros.
5183
5184 * fontset.c (AREF, ASIZE): Remove definitions.
5185
5186 * fns.c (AREF): Remove definition.
178c5d9c 5187
0f1a9b23
GM
5188 * composite.c (AREF): Remove definition.
5189
712eaef2
GM
51902000-07-12 Gerd Moellmann <gerd@gnu.org>
5191
d8ee7803
GM
5192 * dispnew.c (redraw_overlapped_rows): Add missing local.
5193 (scrolling_window): Remove debug code.
5194
712eaef2
GM
5195 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
5196 Before scrolling, turn off a mouse-highlight in the window
5197 being scrolled.
5198
5199 * xterm.c (x_update_window_end): Add parameter
5200 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
5201 redisplay in XTframe_up_to_date.
5202 (x_clear_mouse_face): New function.
5203 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
5204
5205 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
5206 current glyph row.
5207 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
5208 it when any row is written to that contains glyphs highlighted in
5209 mouse-face.
5210 (update_window): Call the window update end hook with new
5211 parameter MOUSE_FACE_OVERWRITTEN_P.
5212 (direct_output_for_insert): Give up if row contains mouse-face.
5213
5214 * dispextern.h (struct redisplay_interface): Add parameter
5215 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
5216 (clear_mouse_face): New function pointer member.
5217
02010917
SM
52182000-07-11 Stefan Monnier <monnier@cs.yale.edu>
5219
5220 * syntax.c (back_comment): Use one switch rather than a few `if's.
5221 Obey open_paren_in_column_0_is_defun_start.
5222 When reverting to the `slow' method, try to nicely handle the case
5223 of nested comments by checking that the comment-starter we found
5224 does indeed match the comment-ender.
5225 (scan_sexps_forward, scan_sexps_forward):
5226 Ignore excessive opening parenthesis rather than throwing an error.
5227
d76c03ea
GM
52282000-07-11 Gerd Moellmann <gerd@gnu.org>
5229
5230 * doc.c (Fsubstitute_command_keys): Handle case that a GC
5231 in Fwhere_is_internal or get_keymap_1 relocates string contents.
5232
5233 * dispnew.c (direct_output_forward_char): Give up if currently
5234 displaying a message instead of the minibuffer contents.
5235
5236 * xterm.c (x_update_window_begin): No need to turn off the mouse
5237 highlight here.
5238 (show_mouse_face): Set the mouse_face_p flag of glyph rows
5239 depending on whether they contain glyphs highlighted in
5240 mouse-face.
5241
5242 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
5243 compare the mouse_face_p flags of both rows.
5244
5245 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
5246
d55ead18
EZ
52472000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
5248
5249 * keyboard.c (show_help_echo): Accept additional parameter
5250 ok_to_overwrite_keystroke_echo.
5251 (read_char): Call show_help_echo with a zero
5252 ok_to_overwrite_keystroke_echo argument.
5253 * keyboard.h (show_help_echo): Update prototype of
5254 show_help_echo.
5255 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
5256 ok_to_overwrite_keystroke_echo argument.
5257 * w32menu.c (w32_menu_display_help): Call show_help_echo with
5258 non-zero ok_to_overwrite_keystroke_echo argument.
5259
df75b1a3
GM
52602000-07-10 Gerd Moellmann <gerd@gnu.org>
5261
4b92c49a
GM
5262 * xdisp.c (try_window_id): If changes are all below what is
5263 displayed in the window, and point is in the window, we still
5264 might have to find point on the display.
5265
5266 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
5267 glyphs instead of a single one.
5268 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
5269 with new argument list.
5270 (x_set_glyph_string_gc): Make sure the face's GC is valid.
5271
df75b1a3
GM
5272 * keymap.c (get_keymap_1): Add comment that this function can GC.
5273 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
5274 comment that functions can GC.
5275 (Fset_keymap_parent): GCPRO arg KEYMAP.
5276
4314cf3e
EZ
52772000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
5278
5279 * msdos.c (XMenuActivate): After exiting the menu, restore the
5280 echo area message and erase it.
5281
ab49ce15
KH
52822000-07-10 Kenichi Handa <handa@etl.go.jp>
5283
5284 * fontset.c (Ffontset_info): Make the return value more compatible
5285 with that of Emacs 20.
5286
090a072f
GM
52872000-07-07 Gerd Moellmann <gerd@gnu.org>
5288
5289 * eval.c (Fsignal): Handle case that backtrace_list is null.
5290
f92de4a6
KH
52912000-07-07 Kenichi Handa <handa@etl.go.jp>
5292
5293 * ccl.c (Fccl_execute): Typo fixed.
5294
dd8888a1
GM
52952000-07-06 Gerd Moellmann <gerd@gnu.org>
5296
e5c81191 5297 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 5298
dd8888a1
GM
5299 * window.c (Fwindow_list): Reverse list at the end.
5300 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
5301 means allow windows on OWINDOW's frame, only.
5302 (window_loop): Simplified; use Fwindow_list.
5303
5304 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
5305
485266d0
GM
53062000-07-05 Gerd Moellmann <gerd@gnu.org>
5307
5308 * xterm.c (XTread_socket): Increment handling_signal at the start,
5309 decrement it at the end.
5310
5311 * eval.c (handling_signal): New variable.
5312 (Fsignal): Abort if handling_signal is non-zero.
5313
5314 * lisp.h (handling_signal): External declaration.
178c5d9c 5315
485266d0
GM
5316 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
5317
80fcd514
KR
53182000-07-05 Ken Raeburn <raeburn@gnu.org>
5319
5320 Sound support for NetBSD through "Linux emulation" support:
5321 * config.in (HAVE_SOUNDCARD_H): Undef.
5322 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
5323 * Makefile.in (LIBSOUND): New variable.
5324 (LIBES): Include it.
5325 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and
5326 <soundcard.h>.
5327 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined
5328 elsewhere.
5329 (vox_open): Use DEFAULT_SOUND_DEVICE.
5330 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
5331
d5c5cddd
GM
53322000-07-05 Gerd Moellmann <gerd@gnu.org>
5333
5334 * print.c (print_error_message): If Vsignaling_function is set,
5335 show it in *Messages*.
5336
5337 * lisp.h (Vsignaling_function): External declaration.
5338
5339 * eval.c (Vsignaling_function): New variable.
5340 (Fsignal): Compute it.
5341 (syms_of_eval): Staticpro it.
5342
65171e3a
DL
53432000-07-05 Dave Love <fx@gnu.org>
5344
5345 * syswait.h: Use the autoconf recommended approach. Old code
5346 #if'd out in case we need to revert.
5347
178c5d9c 5348 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 5349
e2c46326
AI
53502000-07-05 Andrew Innes <andrewi@gnu.org>
5351
5352 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
5353 when non-NULL instead of __morecore, to take account of buffer
5354 memory. This also solves a problem with spurious memory warnings
5355 on Windows.
5356
5357 * ralloc.c: Make real_morecore non-static.
5358
5359 * eval.c (internal_condition_case): Comment out abort if
5360 interrupt_input_blocked is not zero.
5361
5362 * makefile.nt: Add support for `bootstrap' and related targets.
5363 Include minimal debug info in emacs.exe in release build.
5364 Remove all dependencies on lisp.h, and fixup some others.
5365
5366 * w32.c (init_environment): Install code from 20.7 for providing
5367 default values for environment variables, based on the
5368 executable's own location.
5369 (map_w32_filename): Handle filenames that are longer than
5370 MAX_PATH.
5371 (sys_socket): Install socket inheritance bug fix from 20.7.
5372
5373 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
5374 here via blockinput.h).
5375
a027a91b
SM
53762000-07-05 Stefan Monnier <monnier@cs.yale.edu>
5377
e4b31601
SM
5378 * w32menu.c (w32_menu_display_help):
5379 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
5380
5381 * keyboard.h (show_help_echo): Declare.
5382
5383 * keyboard.c (show_help_echo): New function, extracted from read_char.
5384 Feval its `msg' argument if it's a cons cell.
5385 (read_char): Use it.
4cf8d9d5 5386 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 5387
178c5d9c 5388 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 5389 (note_tool_bar_highlight, XTread_socket):
178c5d9c 5390 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
5391 (dos_rawgetc):
5392 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
5393 (note_tool_bar_highlight, w32_read_socket):
5394 Do not gratuitously ignore non-string `help-echo' properties.
5395
88d75730
GM
53962000-07-05 Gerd Moellmann <gerd@gnu.org>
5397
969f7e79
GM
5398 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
5399
71201b00
GM
5400 * window.c (delete_all_subwindows): Reset Vwindow_list.
5401
88d75730
GM
5402 * xterm.c (x_append_glyph, x_append_composite_glyph)
5403 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
5404 changes in struct glyph starting 1999-12-27. Some bit-fields of
5405 struct glyph were not set, which made glyphs unequal when compared
5406 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
5407 effects were the result. This also depended on the contents of
5408 memory returned by xmalloc. If flickering happens again, activate
5409 the code in clear_glyph_row that's in #if 0. If the flickering is
5410 gone with that, chances are that it is caused by something
5411 similar.
5412
5413 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 5414
88d75730
GM
5415 * dispextern.h: Add some comments.
5416
5417 * window.c (add_window_to_list): Add parameter LIST.
5418 (window_list): Order list so that, for each frame, windows are
5419 in canonical order, and so that frames appear in the list in
5420 the order given by Vframe_list.
5421 (next_window): Reverse the handling of NEXT_P.
5422
53654733
GM
54232000-07-04 Gerd Moellmann <gerd@gnu.org>
5424
87efd256
GM
5425 * window.c (Vwindow_list): New variable.
5426 (make_window, delete_window): Set Vwindow_list to nil.
5427 (check_window_containing): New function.
5428 (window_from_coordinates): Rewritten.
5429 (add_window_to_list, window_list, candidate_window_p)
5430 (decode_next_window_args, next_window): New functions.
5431 (Fnext_window, Fprevious_window): Rewritten in terms of
5432 next_window.
5433 (Fwindow_list): New function.
5434 (Fother_window): Cleaned up.
5435 (foreach_window): Add a longer "variable argument list". Let
5436 callback function return 0 to indicate that cycling over windows
5437 should stop.
5438 (foreach_window_1): Likewise.
5439 (freeze_window_start): Return int.
5440 (init_window): New function.
5441 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
5442
5443 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
5444 input_event with bzero.
5445 (main): Call init_window.
5446
53654733
GM
5447 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
5448 a menu filter.
5449
4a8c194f
KH
54502000-07-04 Kenichi Handa <handa@etl.go.jp>
5451
5452 * composite.h (make_composition_value_copy): Extern it.
5453
5454 * composite.c (make_composition_value_copy): New function.
5455
5456 * editfns.c (Fformat): While copying text properties, make each
5457 composition property value a copy.
5458
5459 * fns.c (concat): While copying text properties, make each
5460 composition property value a copy.
5461
831a6cb0
GM
54622000-07-03 Gerd Moellmann <gerd@gnu.org>
5463
2f516940
GM
5464 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
5465
178c5d9c 5466 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
5467 marked already.
5468
831a6cb0
GM
5469 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
5470 include those frames as candidates which have their focus
5471 redirected to the minibuffer frame.
5472
d9c4f922
SM
54732000-07-03 Stefan Monnier <monnier@cs.yale.edu>
5474
5475 * fns.c (Fputhash): Return `value' rather than nil.
5476
3780bc22
GM
54772000-06-30 Gerd Moellmann <gerd@gnu.org>
5478
97d176db
GM
5479 * frame.c (next_frame): Don't check focus redirection in case
5480 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
5481 unless their focus is redirected, which contradicts the
5482 specification of next-frame, and leads to infinite loops in
5483 certain situations when cycling through windows with next-window.
5484
dca9961d
KH
54852000-06-30 Kenichi Handa <handa@etl.go.jp>
5486
5487 * coding.c (code_convert_region): Even if the length of text is
5488 zero, try to convert it if coding->type is coding_type_ccl.
5489 (decode_coding_string, encode_coding_string): Likewise.
5490
d5483ab1
GM
54912000-06-28 Gerd Moellmann <gerd@gnu.org>
5492
af5c25e1 5493 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 5494 the display if windows_or_buffers_changed.
af5c25e1
GM
5495
5496 * dispnew.c (struct row_entry): New structure.
5497 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
5498 (row_table_size, old_lines, new_lines, old_lines_size)
5499 (new_lines_size, run_pool, runs_size, runs): New variables.
5500 (add_row_entry): New function.
5501 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 5502 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
5503 holding them in local variables. Use a larger hash table whose
5504 size depends on glyph matrix sizes. Don't use bzero to clear the
5505 hash table; instead, clear used slots only.
5506
5507 * fns.c (next_almost_prime): Make it externally visible.
5508
5509 * lisp.h (next_almost_prime): Add prototype.
5510
d5483ab1
GM
5511 * s/isc4-0.h (sigunblock): Define.
5512
5513 * s/sco5.h (sigunblock): Define.
5514
93e40f40
DL
55152000-06-27 Dave Love <fx@gnu.org>
5516
5517 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
5518 (moved to osf5-0.h).
5519 [!NOT_C_CODE]: Protect string.h stuff.
5520
5521 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
5522 (sys_siglist, NSIG): Definitions moved here from osf1.h.
5523
3c4b7685
GM
55242000-06-27 Gerd Moellmann <gerd@gnu.org>
5525
97d176db 5526 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
5527 below the last line from the needed window height.
5528
32cad0aa
SM
55292000-06-26 Stefan Monnier <monnier@cs.yale.edu>
5530
5531 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
5532 (Fwidget_get): Use it.
5533 (syms_of_fns): Defsubr it.
5534
2c69ced2
GM
55352000-06-26 Gerd Moellmann <gerd@gnu.org>
5536
178c5d9c 5537 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
5538 display info for XIM.
5539 (xim_open_dpy): Likewise.
5540 (xim_close_dpy): Don't free the display info's XIM.
5541
5542 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
5543
5544 * config.in (USE_XIM): New define.
5545
3fc720e4
GM
5546 * keymap.c (get_keyelt): For menu-items containing a `:filter
5547 FILTER', apply FILTER to the menu-item's definition to get the
5548 real definition to use.
5549
5550 * lisp.h (QCfilter): External declaration.
5551
2c69ced2
GM
5552 * xfns.c (Fimage_size): New function.
5553 (syms_of_xfns): Defsubr it.
5554
f978b2a2
AS
55552000-06-26 Andreas Schwab <schwab@suse.de>
5556
5557 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
5558 Fstring_as_unibyte.
5559
94cc7892
DL
55602000-06-25 Dave Love <fx@gnu.org>
5561
5562 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag,
5563 tgetnum.
5564
5565 * Makefile.in (blockinput.h): Depend on atimer.h.
5566 (atimer.h): Depend on systime.h.
5567
5568 * blockinput.h: Protect against multiple inclusion. Include
5569 atimer.h.
5570
5571 * atimer.h: Protect against multiple inclusion. Include
5572 systime.h.
5573
5574 * lisp.h (swap_in_global_binding): Declare.
5575
b8c24556
KR
55762000-06-24 Ken Raeburn <raeburn@gnu.org>
5577
5578 * process.c (Fopen_network_stream): Turn off atimers for duration
5579 of call to connect. (Patch from Gerd.)
5580
8cf8560b
DL
55812000-06-23 Dave Love <fx@gnu.org>
5582
511c7541
DL
5583 * ralloc.c: Maybe include unistd.h
5584
8cf8560b
DL
5585 * emacs.c (setgrp): Undefine before defining.
5586 (malloc_warning, set_time_zone_rule, index): Prototype.
5587
5588 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
5589 HAVE_STRUCT_TIMEZONE.
5590
5591 * s/osf1.h: Move string.h hack here from alpha.h and make it
5592 conditional.
5593 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
5594 _XOPEN_SOURCE.
5595 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
5596 (SOCKLEN_TYPE): Don't define.
5597
5598 * m/alpha.h: Remove string.h hack.
5599
5600 * s/osf5-0.h: New file.
5601
5602 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
5603 include time.h, done by systime.h.
5604 [__FreeBSD__]: Remove redundant includes.
5605
3fc720e4 5606 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
5607 (delete_temp_file): Return Qnil to avoid warning.
5608
5609 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
5610
5611 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
5612 HAVE_X_WINDOWS.
5613
5614 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
5615
5616 * composite.h (compose_text): Declare.
5617
5618 * xterm.c: Don't include sys/types.h unconditionally. Don't
5619 protect its inclusion with !USG (following xmenu.c).
5620
ea055732
GM
56212000-06-23 Gerd Moellmann <gerd@gnu.org>
5622
5623 * xfns.c (x_create_tip_frame): Initialize frame's colors like
5624 in x_create_frame.
5625
74b01b80
EZ
56262000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
5627
5628 * coding.c (decode_eol_post_ccl): Special handling for undecided
5629 and inconsistent EOL types.
5630
64f3a166
GM
56312000-06-22 Gerd Moellmann <gerd@gnu.org>
5632
16cf31f7
GM
5633 * xrdb.c (x_load_resources): Add default resource for scroll bar's
5634 trough color and main window's background color.
5635
178c5d9c 5636 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events
16cf31f7
GM
5637 differently.
5638
5639 * xterm.h (Xt_app_con): External declaration.
5640
5641 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 5642
486a103d
GM
5643 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
5644
64f3a166
GM
5645 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
5646 (handle_invisible_prop): Record the start of invisible text in
5647 it->add_overlay_start.
5648 (struct overlay_entry): Add member `overlay'.
5649 (handle_overlay_change): Simplify.
5650 (next_overlay_string): After having processed overlay strings at the
5651 end of the buffer, record that fact in
5652 it->overlay_strings_at_end_processed_p.
5653 (compare_overlay_entries): If before- and after-strings come
5654 from the same overlay, let before-strings come first.
5655 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
5656 (load_overlay_strings): Take it->add_overlay_start into account
5657 when adding overlay strings.
5658
5659 * dispextern.h (struct it): Add member add_overlay_start.
5660
bb746ea6
DL
56612000-06-22 Dave Love <fx@gnu.org>
5662
5663 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
5664
5665 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
5666
a8f573f3
KH
56672000-06-22 Kenichi Handa <handa@etl.go.jp>
5668
5669 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
5670 is greater than 0.
5671
9f2bbc92
DL
56722000-06-21 Dave Love <fx@gnu.org>
5673
178c5d9c 5674 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 5675
3ee5041c
SM
56762000-06-21 Stefan Monnier <monnier@cs.yale.edu>
5677
5678 * syntax.c (back_comment): Simplify string-parity counting (with
5679 the added benefit of handling multiple string-styles as long as
5680 they are not intertwined).
5681 Jump to the slow code as soon as a comment starter is found in
5682 a "string_lossage" position. Fixes the case: " /* " /* " */.
5683
4c343001
DL
56842000-06-21 Dave Love <fx@gnu.org>
5685
5686 * Makefile.in: Use GETLOADAVG_LIBS.
5687
5688 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
5689 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
5690
e6365855
SM
56912000-06-20 Stefan Monnier <monnier@cs.yale.edu>
5692
5693 * syntax.c (describe_syntax): Recognize the `n'estable bit.
5694 (Fforward_comment, scan_lists):
5695 Check the comstyle of single-char comment-starters.
5696 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
5697 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
5698 Check the comstyle of single-char comment-starters.
5699 Clarify control-flow around the Scomment case.
e6365855 5700
5700d2cc
DL
57012000-06-20 Dave Love <fx@gnu.org>
5702
d355bd8a
SM
5703 * fns.c (make_hash_table, maybe_resize_hash_table):
5704 Cast arg of next_almost_prime.
5700d2cc 5705
178c5d9c 5706 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
5707
5708 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
5709 and unistd.h.
5710
4a27bdfb
GM
57112000-06-20 Gerd Moellmann <gerd@gnu.org>
5712
a61d762c
GM
5713 * keyboard.c (adjust_point_for_property): Check if display
5714 property should be treated as intangible by looking at its
5715 value.
5716
178c5d9c 5717 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
5718 (display_prop_intangible_p): New functions.
5719
5720 * dispextern.h (display_prop_intangible_p): Add prototype.
5721
5722 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 5723
4a27bdfb
GM
5724 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
5725 argument to sigprocmask.
5726
5727 * s/sco5.h (sigblock): Redefined to pass a pointer as second
5728 argument to sigprocmask.
5729
5730 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
5731 sigprocmask_set, and pass a pointer to it to sigprocmask.
5732
5733 * sysdep.c (sigprocmask_set): New variable.
5734
5735 * fileio.c (make_temp_name): Don't use `%s' in string passed to
5736 report_file_error.
5737
427ec082
SS
57382000-06-20 Sam Steingold <sds@gnu.org>
5739
5740 * xrdb.c: Don't declare xmalloc, xrealloc.
5741
8972fe79 57422000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
5743
5744 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
5745 (re_comp): Cast gettext return value to avoid complaints when
5746 !HAVE_LIBINTL.
5747
074b6efe
DL
57482000-06-20 Dave Love <fx@gnu.org>
5749
f85c008a
DL
5750 * m/stride.h, m/mips.h: Don't define HAVE_GETWD,
5751 HAVE_GETTIMEOFDAY.
5752
5700d2cc 5753 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 5754
d355bd8a 5755 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
5756
5757 * m/alpha.h: Don't declare xmalloc, xrealloc.
5758
0af4f205
DL
5759 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
5760
5761 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
5762
5763 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
5764
5765 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
5766 HAVE_GETWD.
5767
074b6efe
DL
5768 * keyboard.h (poll_for_input_1): Declare.
5769
5770 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
5771
5772 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
5773
5774 * doprnt.c: Don't declare xmalloc, xrealloc.
5775
5776 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
5777 (getenv, ctime, getwd): Removed.
5778 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
5779
5780 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
5781 x_set_tool_bar_lines.
5782
5783 * config.in: Add HAVE_GETWD. Move some definitions above
5784 machine/system includes.
5785
68a5e97b
KH
57862000-06-20 Kenichi Handa <handa@etl.go.jp>
5787
95417e1e
KH
5788 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
5789
68a5e97b
KH
5790 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
5791 contain information about ENCODING.
5792
5793 * fontset.c (FONTSET_ASCII): Use the first element of char table
5794 for an ASCII font, not defalt slot.
5795 (fontset_ref_via_base): If FONTSET doesn't contain information for
5796 C, try the default fontset.
5797 (make_fontset): Don't copy the default fontset.
5798 (fontset_font_pattern): Likewise.
5799 (accumulate_font_info): If ELT is nil, use the corresponding
5800 element in the default fontset.
5801
3b4fa1b2
DL
58022000-06-19 Dave Love <fx@gnu.org>
5803
943e731c
DL
5804 * syntax.c (Fparse_partial_sexp): Doc fix.
5805
5806 * regex.h: Test PROTOTYPES as well as __STDC__.
5807
3b4fa1b2
DL
5808 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
5809 errno, strerror. Put text after #endif in comment.
5810
5811 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for
5812 pcc).
5813
5814 * xterm.c (x_frame_of_widget): Likewise.
5815
cdf0357b
GM
58162000-06-19 Gerd Moellmann <gerd@gnu.org>
5817
5818 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
5819 to Vfundamental_mode_abbrev_table.
5820
5821 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
5822 bogus objects are marked. This slows down GC by ~80 percent, but
5823 it might be worth trying when debugging GC-related problems.
5824 This feature requires conservative stack marking to be enabled.
5825
5826 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
5827 returns XLookupChars, reset `modifiers' to zero.
5828
998e9f8c
DL
58292000-06-19 Dave Love <fx@gnu.org>
5830
5831 * mktime.c: Unprotoized.
5832
18e21ce8 58332000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
5834
5835 * data.c (set_internal): If variable is frame-local,
5836 store the new value immediately into the frame parameter alist.
5837
140c4ac6
KR
58382000-06-19 Ken Raeburn <raeburn@gnu.org>
5839
14358466
KR
5840 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
5841 in the custom handler pointer.
5842
140c4ac6
KR
5843 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
5844 value, or checks for CHAR_META can fail when Lisp_Object is a
5845 union type.
5846 * keymap.c (get_keyelt): Likewise.
5847
10d7bf84
KH
58482000-06-19 Kenichi Handa <handa@etl.go.jp>
5849
5850 * ccl.h (struct ccl_program): New member eol_type.
5851 (struct ccl_spec): New member cr_carryover.
5852
5853 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
5854 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
5855
5856 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
5857 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
5858 (decode_eol_post_ccl): New function.
5859 (decode_coding): Don't detect EOL format here for CCL based coding
5860 systems.
5861 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
5862 decode_eol_post_ccl after running the CCL program.
5863 (code_convert_region): Don't detect EOL format here for CCL based
5864 coding systems.
5865 (decode_coding_string): Likewise.
5866
52e386c2
KR
58672000-06-18 Ken Raeburn <raeburn@gnu.org>
5868
5869 * charset.c (update_charset_table): Use XINT on "iso_final_char"
5870 when treating it as an integer.
5871
5872 * coding.h (encode_coding_string): Declare.
5873
5874 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
5875 it as an integer.
5876
5877 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
5878 "xkeymap" to avoid shadowing the "enum map_type" value that needs
5879 to be passed to get_local_map.
5880
5881 * sound.c (Fplay_sound): Don't call make_number on
5882 Frun_hook_with_args count argument.
5883
5884 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
5885 for lisp objects in X event structure data field, when lisp
5886 objects are represented with unions.
5887 (x_scroll_bar_to_input_event): Ditto.
5888
b357b9d4
KR
58892000-06-16 Ken Raeburn <raeburn@gnu.org>
5890
5891 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
5892 termination of string. Fix sense of test whether
5893 Vline_number_display_limit is an integer.
b357b9d4 5894
a871441d
GM
58952000-06-16 Gerd Moellmann <gerd@gnu.org>
5896
a9021acd
GM
5897 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
5898 only if HAVE_X_WINDOWS.
5899
6344985d
GM
5900 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
5901 of titles.
5902
427ec082 5903 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
5904 out of bounds.
5905
228b083e
EZ
59062000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
5907
5908 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
5909 of its headers.
5910
c25b53a2
KH
59112000-06-15 Kenichi Handa <handa@etl.go.jp>
5912
5913 * coding.c (decode_coding_emacs_mule): Always set src_base at the
5914 start of the while loop.
5915
a6981b11
GM
59162000-06-15 Gerd Moellmann <gerd@gnu.org>
5917
e9924e52
GM
5918 * atimer.c (alarm_signal_handler): Add forward declaration.
5919
a6981b11
GM
5920 * data.c (set_internal): Remove debug code.
5921
25fa6deb
GM
59222000-06-14 Gerd Moellmann <gerd@gnu.org>
5923
dce6b995
GM
5924 * Makefile.in (bootstrap-temacs): Add `-I../src'.
5925
9f817ea4
GM
5926 * unexec.c (toplevel) [COFF]: Include coff.h.
5927
5928 * s/lynxos.h: New file.
5929
5930 * keymap.c (Fsingle_key_description): Enclose function key and
5931 event symbol names in angle brackets.
5932
8a4e3c0c
GM
5933 * xdisp.c (setup_echo_area_for_printing): Call
5934 message_log_maybe_newline if message_buf_print is not set.
5935
5936 * print.c (printchar, strout): Don't check message_buf_print
427ec082 5937 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
5938 function does something useful even when message_buf_print is
5939 already set.
5940
25fa6deb
GM
5941 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines): New
5942 variables.
5943 (ensure_echo_area_buffers): Initialize echo buffer's
5944 truncate lines setting to nil.
5945 (with_echo_area_buffer): Don't set the echo buffer's truncate
5946 lines setting here.
8a4e3c0c 5947 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
5948 of message_truncate_lines.
5949 (resize_mini_window): Handle case that lines are truncated.
5950 (syms_of_xdisp): Initialize Qmessage_truncate_lines. DEFVAR_BOOL
5951 message-truncate-lines.
5952
5953 * keyboard.c (read_char): Bind message-truncate-lines to t
5954 while displaying a help-echo.
5955
5956 * lisp.h (Qmessage_truncate_lines): External declaration.
5957
163dcff3
GM
59582000-06-13 Gerd Moellmann <gerd@gnu.org>
5959
1681ead6
GM
5960 * xdisp.c (Vline_number_display_limit): Renamed from
5961 line_number_display_limit.
5962 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
5963 Extend documentation string. Initialize
5964 Vline_number_display_limit to nil meaning no limit.
5965 (decode_mode_spec): Use Vline_number_display_limit with its new
5966 meaning.
5967
163dcff3
GM
5968 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
5969
18e21ce8 59702000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
5971
5972 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 5973
163dcff3
GM
5974 * xfns.c (x_set_frame_parameters): Comment fix.
5975
5976 * frame.c (store_frame_param): Call swap_in_global_binding if the
5977 variable's current binding was chosen based on this frame.
5978
5979 * data.c (swap_in_global_binding): New function.
5980
a704139d
EZ
59812000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
5982
5983 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
5984 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
5985
9b6610db
EZ
59862000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
5987
5988 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
5989
c68833d2
JR
59902000-06-12 Jason Rumney <jasonr@gnu.org>
5991
5992 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
5993
5994 * w32.h (EMACS_W32_H): Renamed from _NT_H_
5995
5996 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
5997
5998 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
5999
ed1056b3
GM
60002000-06-12 Gerd Moellmann <gerd@gnu.org>
6001
6002 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
6003 (syms_of_xfaces): Defsubr Sdump_colors.
6004 (x_free_colors): Don't treat b&w specially on default visual.
6005 (x_free_dpy_colors): New function.
6006 (free_face_colors): Don't check visual class; it's done
6007 in x_free_colors.
6008
6009 * xterm.c (x_frame_of_widget): New function.
6010 (x_alloc_nearest_color_for_widget): Use it.
6011 (x_copy_dpy_color): New function.
6012 (x_destroy_window): Free various colors.
6013
5050a2ef
KH
60142000-06-12 Kenichi Handa <handa@etl.go.jp>
6015
6016 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
6017
6018 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
6019
6020 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
6021
6022 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
6023
6024 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
6025
fb1b041d
DL
60262000-06-11 Dave Love <fx@gnu.org>
6027
6028 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
6029
ff96b5f4
EZ
60302000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
6031
6032 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
6033
db8eeecd
GM
60342000-06-11 Gerd Moellmann <gerd@gnu.org>
6035
ed1056b3 6036 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
6037 to `XEvent *'.
6038
49b71c5f
KH
60392000-06-10 Kenichi Handa <handa@etl.go.jp>
6040
c479bd55
KH
6041 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
6042 (regex_compile): Fix the code for handling the case of single byte
6043 char and multibyte char being mixed in a range within [...].
6044
ff6a65c2
KH
6045 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
6046 and dst_multibyte members of coding.
6047
49b71c5f
KH
6048 * charset.c (update_charset_table): Update the table
6049 bytes_by_char_head.
6050 (init_charset_once): Initialize elements of bytes_by_char_head to
6051 1 except for leading codes for private charases.
6052
6053 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
6054 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte
6055 sequence.
6056
9e80b57d
KR
60572000-06-09 Ken Raeburn <raeburn@gnu.org>
6058
6059 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
6060 access the data it doesn't point to.
6061
f83fe4b4
GM
60622000-06-08 Gerd Moellmann <gerd@gnu.org>
6063
6064 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 6065 will be translated to a switch-frame event when reading the
f83fe4b4
GM
6066 event queue. This is necessary because Emacs otherwise won't
6067 perform a switch-frame to a new frame until some other event, for
6068 example a keystroke event, forces it to do so. This has various
6069 effects, one visible being that the cursor of a frame created with
6070 C-x 5 2 or switched to with a window manager key binding like
6071 A-TAB stays hollow because selected_window isn't on the newly
6072 focused frame until the switch-frame is performed.
6073
6074 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
6075 generating a switch-frame event if necessary.
6076
6077 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
6078
6079 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
6080 it's an integer.
6081
0890801b
KH
60822000-06-08 Kenichi Handa <handa@etl.go.jp>
6083
6084 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a
6085 charset.
6086
173cbca8
GM
60872000-06-07 Gerd Moellmann <gerd@gnu.org>
6088
3091c2a6
GM
6089 * window.c (displayed_window_lines): Take empty lines at
6090 the bottom of a window into account.
427ec082 6091
f38952fe
GM
6092 * window.c (displayed_window_lines): New function.
6093 (Fmove_to_window_line): Use displayed_window_lines to determine
6094 the number of lines to move, instead of using the window's height.
6095
6096 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
6097 to stop reading, even if the form read sets point to a different
6098 value when evaluated.
6099
427ec082 6100 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
6101 put the cursor.
6102
6ba6c818
KH
61032000-06-07 Kenichi Handa <handa@etl.go.jp>
6104
6105 * fileio.c (e_write): Free composition data if stored in
6106 coding->cmp_data.
6107
5f1aea9a
GM
61082000-06-06 Gerd Moellmann <gerd@gnu.org>
6109
666852af
GM
6110 * xdisp.c (display_line): Set row's and iterator's
6111 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
6112 Set cursor even if row ends in the middle of a character.
6113 (dump_glyph_row): Print values of new flags.
6114 (redisplay_window) <cursor movement in unchanged window>: When
6115 point has been moved forward, and PT is at the end of the cursor
6116 row, don't place the cursor in the next row if the cursor row ends
6117 in the middle of a character or at ZV.
6118
6119 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
6120 (struct glyph_row): Add starts_in_middle_of_char_p and
6121 ends_in_middle_of_char_p.
6122 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
6123 ends_in_middle_of_char_p flag.
6124 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
6125
d13f3e2e
GM
6126 * term.c (append_glyph): Revert change of 2000-06-06.
6127
6128 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
6129 padding glyph not fitting on line as whole character not
6130 fitting on line.
6131
5f1aea9a
GM
6132 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
6133 this isn't true for images with `:ascent 100'.
6134
10cda9b0
KH
61352000-06-06 Kenichi Handa <handa@etl.go.jp>
6136
ed00559d
KH
6137 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
6138 as modified if it is originally unmodified.
6139
10cda9b0
KH
6140 * term.c (encode_terminal_code): Change the way to check if
6141 terminal coding does any conversion.
6142 (append_glyph): Set glyph->pixel_width correctly.
6143
6144 * xdisp.c (display_line): While checking line continuation, pay
6145 attention to a padding glyph.
6146
1969fae2
GM
61472000-06-05 Gerd Moellmann <gerd@gnu.org>
6148
6149 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
6150
162ccef4
DL
61512000-06-05 Dave Love <fx@gnu.org>
6152
f19f32dd
DL
6153 * xdisp.c: Include fontset.h.
6154
6155 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
6156
6157 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
6158
6159 * dispnew.c: Conditionally include term.h.
6160
6161 * coding.h: Declare code_convert_string_norecord.
6162
6163 * frame.h (struct frame): Use volatile unconditionally.
6164
6165 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
6166
6167 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
6168
6169 * systime.h: Protect against multiple inclusion.
6170 (timezone) [USG5_4]: Define as time_t.
6171
6172 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
6173 (Foptimize_char_table, make_temp_name): Declare.
6174
6175 * Makefile.in (xdisp.o): Depend on fontset.h.
6176
6177 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
6178
6179 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
6180 (Foptimize_char_table, make_temp_name): Declare.
6181
427ec082 6182 * s/irix4-0.h:
162ccef4
DL
6183 * s/irix5-0.h:
6184 * s/netbsd.h: Don't define autoconfiscated MATHERR.
6185
2082fe81
DL
61862000-06-02 Dave Love <fx@gnu.org>
6187
6188 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
6189
dcf671d2
GM
61902000-06-02 Gerd Moellmann <gerd@gnu.org>
6191
6192 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 6193 result face, set flags in that face indicating that colors may not
dcf671d2
GM
6194 be freed.
6195
6196 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
6197 glyph, use the ASCII NUL character to determine the face.
6198
d42122a3
DL
61992000-06-02 Dave Love <fx@gnu.org>
6200
6201 * sysdep.c: Conditionally include stdlib.h, unistd.h.
6202 (VFORK_RETURN_TYPE): Remove.
427ec082 6203
d42122a3
DL
6204 * config.in: Add NO_MATHERR.
6205
dd432f16
DL
62062000-06-01 Dave Love <fx@gnu.org>
6207
90aa4ea8
DL
6208 * cmds.c (internal_self_insert): Don't check
6209 Vbefore_change_function, Vafter_change_function.
6210
6211 * insdel.c (signal_before_change, signal_after_change): Likewise.
6212
6213 * buffer.c (Vbefore_change_function, Vafter_change_function):
6214 Variables and their initializations deleted.
6215
2330c9d4
DL
6216 * callint.c (Fcall_interactively): Doc fix.
6217
dd432f16
DL
6218 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
6219
bf9e8804
DL
62202000-05-31 Dave Love <fx@gnu.org>
6221
6222 * textprop.c: Revert last change -- duplicated.
6223
3694b4ab
GM
62242000-05-31 Gerd Moellmann <gerd@gnu.org>
6225
6226 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
6227 in #if 0.
6228
6229 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
6230
f14156cd
JR
62312000-05-31 Jason Rumney <jasonr@gnu.org>
6232
8119aab8
JR
6233 * search.c (Fre_search_forward, Fre_search_backward)
6234 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
6235
f14156cd
JR
6236 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
6237
4aab9be3
JR
62382000-05-30 Jason Rumney <jasonr@gnu.org>
6239
6240 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
6241 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
6242
6243 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type
6244 member.
6245
6246 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
6247 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
6248 expand a nil default_filename.
6249
6250 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
6251 pointer to glyph_to_pixel_coords, not a frame.
6252
6253 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
6254 coding.h to dependencies.
6255
6256 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
6257
6258 * w32console.c (glyph_to_pixel_coords): Change first parameter to
6259 window pointer to be consistent with w32term.c and xterm.c.
6260
6261 * w32fns.c: Format and doc changes to bring closer to xfns.c.
6262 (VIETNAMESE_CHARSET): Define if not defined in system headers.
6263 (Qline_spacing, Qcenter): New variables.
6264 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
6265 (x_set_line_spacing): New function.
6266 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT
6267 macros.
6268 (x_specified_cursor_type): New function.
6269 (x_set_cursor_type): Use it.
6270 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
6271 and icon strings.
6272 (validate_x_resource_name, x_get_resource_string): Measure lengths
6273 of external strings in bytes.
6274 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
6275 GetTextExtentPoint32 with NULL title.
6276 (Fx_create_frame): Initialize Qline_spacing.
6277 (w32_load_system_font): Initialize font->double_byte_p.
6278 (x_to_w32_charset): Use Vw32_charset_info_alist.
6279 (Image, busy cursor, tooltip functions): Merged changes from
6280 xfns.c. Not yet functional on Windows.
6281
6282 * w32gui.h (W32FontStruct): Add double_byte_p member.
6283
6284 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
6285 (emacs_button_translation): Use it.
6286 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
6287 in `mask' to be set.
6288
6289 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
6290 menu strings.
6291
6292 * w32term.c: Format and doc changes to bring closer to xterm.c.
6293 (w32_char_font_type): New enum.
6294 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
6295 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
6296 (w32_encode_char): New function.
6297 (x_encode_char): Removed.
6298 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
6299 x_encode_char and w32_font_is_double_byte.
6300 (x_produce_image_glyph): Use image_ascent.
6301 (x_produce_glyphs): Use new version of w32_per_char_metric and
6302 handle NULL return value. Allow extra line spacing.
6303 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
6304 (w32_get_glyph_overhangs): Remove unicode_p param. Use
6305 w32_font_type member of glyph instead.
6306 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
6307 (fast_find_position): Make sure not to consider rows not visible
6308 in the window.
6309 (w32_read_socket) [WM_MENUSELECT]: Cannot call
6310 w32_menu_display_help with input blocked, as it can abort.
6311 (x_display_and_set_cursor): Choose cursor depending
6312 on buffer-local value of cursor_type.
6313 (x_draw_bar_cursor): Add parameter WIDTH.
6314
6315 * w32term.h (CP_DEFAULT): Define.
6316 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
6317
10fc3187
GM
63182000-05-30 Gerd Moellmann <gerd@gnu.org>
6319
6320 * search.c (Fre_search_forward, Fre_search_backward)
6321 (Fposix_search_backward, Fposix_search_forward): Doc fix.
6322
d0555360
KH
63232000-05-30 Kenichi Handa <handa@etl.go.jp>
6324
6325 * coding.c (detect_coding_iso2022): Fix code for checking
6326 CODING_CATEGORY_MASK_ISO_8_2.
6327
f1ad044f
SM
63282000-05-29 Stefan Monnier <monnier@cs.yale.edu>
6329
6330 * regex.c (PREFETCH_NOLIMIT): New function.
6331 (re_match_2_internal): Use it and adjust the end_match_2 logic.
6332
84ec3b4b
GM
63332000-05-29 Gerd Moellmann <gerd@gnu.org>
6334
66254a13
GM
6335 * syntax.c (find_defun_start): Move test for
6336 open_paren_in_column_0_is_defun_start outside of the loop.
6337
49e70dec
GM
6338 * xdisp.c (redisplay_window): Really switch buffers when
6339 displaying mode lines, and temporarily set selected_frame to the
6340 frame of the window that's redisplayed.
6341
84ec3b4b
GM
6342 * xfaces.c (free_realized_faces): Block/unblock input.
6343 (free_realized_multibyte_face): Ditto.
6344
869a3a14
DL
63452000-05-29 Dave Love <fx@gnu.org>
6346
6347 * textprop.c (Qkeymap): New variable.
6348 (syms_of_textprop): Intern it.
6349
6350 * keymap.c: Include intervals.h.
6351 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
6352
6353 * Makefile.in (keymap.o): Depend on intervals.h.
6354
6355 * keyboard.c (menu_bar_items, tool_bar_items)
6356 (Fexecute_extended_command): Deal with `keymap' property.
6357 (read_key_sequence): Track map from `keymap' property as well as
6358 `local_map'.
6359
6360 * intervals.c (get_local_map): Extra arg to allow looking for
6361 `keymap' too.
6362
6363 * intervals.h (map_property): New enum.
6364 (get_local_map): Extra arg using it.
6365 (Qkeymap): Declare.
6366
84ec3b4b 6367 * lisp.h (get_local_map): Don't declare here.
869a3a14 6368
89d0c844
KH
63692000-05-29 Kenichi Handa <handa@etl.go.jp>
6370
6371 * Makefile.in (callproc.o): Depend on composite.h.
6372
6373 * callproc.c: Include composite.h.
6374 (Fcall_process): Handle composition correctly.
6375
6376 * coding.h (coding_allocate_composition_data): Extern it.
6377 (coding_restore_composition): Likewise.
6378
6379 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
6380 yet allocated, finish decoding with result
6381 CODING_FINISH_INSUFFICIENT_CMP.
6382 (coding_allocate_composition_data): Make it non-static.
6383 (coding_restore_composition): Likewise.
6384
797a084a
EZ
63852000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
6386
6387 * charset.c (syms_of_charset): Revert last change.
6388
cf872af5
EZ
63892000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
6390
6391 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
6392 charsets as unibyte, with 1-column screen width. Sent by Kenichi
6393 Handa.
cf872af5 6394
5b1ae051
EZ
63952000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
6396
6397 * charset.c (syms_of_charset): Set width of character sets
6398 eight-bit-control and eight-bit-graphic to 1 column.
6399
34ec9ebe
GM
64002000-05-26 Gerd Moellmann <gerd@gnu.org>
6401
6402 * config.in (HAVE_SPEED_T): New define.
6403
6404 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
6405 `extern speed_t'.
6406
dd854dc2
DL
64072000-05-26 Dave Love <fx@gnu.org>
6408
6409 * coding.c (shrink_decoding_region): Initialize eol_conversion.
6410
6411 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
6412 (Fsubr_arity): New function.
6413 (syms_of_data): Install them.
6414
ba9f8f95
KH
64152000-05-26 Kenichi Handa <handa@etl.go.jp>
6416
0f3e0672
KH
6417 * charset.c (init_charset_once): Set the table bytes_by_char_head
6418 correctly.
6419
cebefb44
KH
6420 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
6421 the default fontset to what Emacs uses by default.
0f3e0672
KH
6422 (check_registry_encoding): This function deleted.
6423 (Fset_fontset_font): Remove the adhoc condition for the default
6424 fontset. Allow cons in FONTNAME.
cebefb44 6425
0f3e0672
KH
6426 * fns.c (map_char_table): Ignore char-table entries for
6427 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 6428
7a18af49
KR
64292000-05-25 Ken Raeburn <raeburn@gnu.org>
6430
6431 * emacs.c (main): Initialize keyboard syms before initializing
6432 window code, so face names are available.
6433
d2af47df
SM
64342000-05-25 Stefan Monnier <monnier@cs.yale.edu>
6435
6436 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
6437 of an anchor at the beginning of a shy-group.
6438
fc6a6a4e
GM
64392000-05-25 Gerd Moellmann <gerd@gnu.org>
6440
6441 * xdisp.c (handle_invisible_prop): Don't try to skip over
6442 invisible text if end of text is already reached.
6443
005f0d35
DL
64442000-05-25 Dave Love <fx@gnu.org>
6445
02513cdd
DL
6446 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
6447
005f0d35
DL
6448 * coding.c (encode_eol): Add null statement after label.
6449
89f6ca4e
EZ
64502000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
6451
6452 * w16select.c (Fw16_set_clipboard_data): Fix the change from
6453 2000-05-20.
6454
a4e1759e
KH
64552000-05-25 Kenichi Handa <handa@etl.go.jp>
6456
6457 * ccl.c (ccl_driver): Fix previous change.
6458
eacfd7fe
KH
64592000-05-25 Kenichi Handa <handa@etl.go.jp>
6460
46ab33a9
KH
6461 * coding.c (run_pre_post_conversion_on_str): Set point to the
6462 beginning of buffer before calling coding->post_read_conversion.
6463 (decode_coding_string): Give correct args to
6464 run_pre_post_conversion_on_str.
6465 (encode_coding_string): Likewise.
6466
eacfd7fe
KH
6467 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
6468 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
6469 eight-bit-graphic correctly.
6470
f8569325
DL
64712000-05-24 Kenichi HANDA <handa@etl.go.jp>
6472
6473 * fileio.c (Finsert_file_contents): Even if a file is not found,
6474 execute codes for setting up coding system. Call
6475 after-insert-file-functions unconditionally.
6476
04545643
GM
64772000-05-24 Gerd Moellmann <gerd@gnu.org>
6478
6479 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
6480 BSD_PGRPS are not defined.
6481
747d90ea
KH
64822000-05-24 Kenichi Handa <handa@etl.go.jp>
6483
6484 * charset.c (update_charset_table): Accept nil in LONG_NAME and
6485 DESCRIPTION.
6486 (syms_of_charset): Avoid building same strings.
6487
716e3b88
GM
64882000-05-23 Gerd Moellmann <gerd@gnu.org>
6489
6490 * lread.c (Fload): Add a comment about the meaning of
6491 Vuser_init_file being t.
6492
6493 * puresize.h (BASE_PURESIZE): Increase to 675000.
6494
6495 * s/gnu-linux.h (setpgrp): Don't define it here because this
6496 prevents compilation on GNU/Linux systems with glib 2.2.
6497
6498 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
6499 as setpgid.
427ec082 6500
9aeb39fa
EZ
65012000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
6502
6503 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
6504 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
6505 version.
6506 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
6507
29ced61b
KH
65082000-05-23 Kenichi Handa <handa@etl.go.jp>
6509
0574a2ed
KH
6510 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE
6511 unconditionally.
6512
3d80f24d
KH
6513 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
6514
6515 * term.c (encode_terminal_code): Set coding->src_multibyte
6516 properly.
6517
29ced61b
KH
6518 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
6519
d7e00792
KH
65202000-05-22 Kenichi Handa <handa@etl.go.jp>
6521
c9d80d38
KH
6522 * keyboard.c (read_char): Allow character codes 128..255 to be
6523 handled by input-method-function.
6524
d7e00792
KH
6525 * insdel.c (adjust_markers_for_replace): Fix previous change.
6526 (adjust_after_replace): If PREV_TEXT is nil, call
6527 adjust_markers_for_insert, not adjust_markers_for_replace.
6528
087121cc 65292000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 6530
087121cc
GM
6531 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
6532 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
6533 [HAVE_GRANDPT]: Define.
6534 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
6535
6536 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
6537 like SYSV_PTYS.
6538
6539 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
6540
6541 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
6542
c9671f81
KH
65432000-05-20 Kenichi Handa <handa@etl.go.jp>
6544
6545 The following changes are to handle 8-bit characters in a
6546 multibyte buffer/string without facing with byte combining
6547 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
6548 eight-bit-graphic (for 0xA0..0xFF) are introduced.
6549
6550 * Makefile.in (fns.o): Depend on charset.h.
6551
6552 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
6553 convert it to unibyte.
6554 (make_string): Use parse_str_as_multibyte, not chars_in_text.
6555
6556 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
6557 apparent char boundary.
6558 (Fset_buffer_multibyte): Convert 8-bit characters in the range
6559 0x80..0x9F to/from multibyte form.
6560
6561 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
6562 to unibyte.
6563
6564 * callproc.c (Fcall_process): Always encode an argument string if
6565 it is multibyte. Setup src_multibyte and dst_multibyte members of
6566 process_coding properly.
ce75fd23 6567
c9671f81
KH
6568 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
6569 SPLIT_NON_ASCII_CHAR.
6570
6571 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
6572 as is.
6573 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
6574
6575 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New
6576 variables.
6577 (SPLIT_CHARACTER_SEQ): This macro deleted.
6578 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is
6579 valid.
6580 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
6581 and eight-bit-graphic.
6582 (char_to_string): Likewise. Signal an error for too large
6583 character code.
6584 (char_printable_p): Return 0 for 8-bit characters.
6585 (update_charset_table): Update iso_charset_table only when a final
6586 character is non-negative.
6587 (find_charset_in_text): Renamed from find_charset_in_str.
6588 Arguments and return value changed. Callers changed.
6589 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
6590 be -1 if CHARSET is used only internally.
6591 (Fmake_char_internal): Handle new charsets; eight-bit-control and
6592 eight-bit-graphic.
6593 (Fcharset_after): Simplified.
6594 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
6595 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
6596 (multibyte_chars_in_text): Simplified by assuming there's no
6597 invalid multibyte sequence.
6598 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte,
6599 str_as_unibyte): New functions.
6600 (Fstring): Simpified by assuming that byte combining never
6601 happens.
6602 (init_charset_once): Initialization for
6603 LEADING_CODE_8_BIT_CONTROL.
6604 (syms_of_charset): Intern and staticpro Qeight_bit_control and
6605 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
6606 eight-bit-control and eight-bit-graphic.
6607
6608 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL,
6609 CHARSET_8_BIT_GRAPHIC): New macros.
6610 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
6611 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
6612 (CHARSET_REVERSE_CHARSET): Likewise.
6613 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
6614 eight-bit-graphic.
6615 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
6616 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
6617 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
6618 encounter an invalid multibyte sequence.
6619 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
6620 sequence is always valid.
6621 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
6622 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New
6623 macros.
6624 (CHAR_STRING): For 8-bit characters, call char_to_string.
6625 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
6626 multibyte sequence is always valid.
6627 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
6628 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte,
6629 str_as_unibyte): Extern them.
6630 (BCOPY_SHORT): Fix a bug.
6631 (CHAR_LEN): This macro deleted. Callers changed to use
6632 CHAR_BYTES.
6633 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
6634 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
6635 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
6636
bd4bde7f 6637 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81
KH
6638 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
6639 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE,
6640 EMIT_BYTES): New macros.
6641 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII,
6642 DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
6643 macros deleted.
6644 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
6645 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
6646 check the validity of multibyte sequence.
6647 (decode_coding_emacs_mule): New function.
6648 (encode_coding_emacs_mule): New macro.
6649 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
6650 the source.
6651 (DECODE_ISO_CHARACTER): Just return a character code.
6652 (DECODE_COMPOSITION_START): Set coding->result instead of result.
6653 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
6654 EMIT_CHAR to produced decoded characters. Exit the loop only by
6655 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
6656 block here.
6657 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
6658 only position codes for an invalid character.
6659 (encode_designation_at_bol): Return new destination pointer. 5th
6660 arg DSTP is changed to DST.
6661 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
6662 from the source by ONE_MORE_CHAR. Don't handle the case of last
6663 block here.
6664 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
6665 macros deleted.
6666 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8,
6667 detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
6668 TWO_MORE_BYTES to fetch a byte from the source.
6669 (encode_eol): Pay attention to coding->src_multibyte.
6670 (detect_coding, detect_eol): Preserve members src_multibyte and
6671 dst_multibyte.
6672 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
6673 (encoding_buffer_size): Set magnification to 3 for all coding
6674 systems that require encoding.
6675 (ccl_coding_driver): For decoding, be sure that the result is
6676 valid multibyte sequence.
6677 (decode_coding): Initialize coding->errors and coding->result.
6678 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
6679 and raw-text, always call decode_eol. Handle the case of last
6680 block here. If not coding->dst_multibyte, convert the resulting
6681 sequence to unibyte.
6682 (encode_coding): Initialize coding->errors and coding->result.
6683 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
6684 and raw-text, always call encode_eol. Handle the case of last
6685 block here.
6686 (shrink_decoding_region, shrink_encoding_region): Detect cases
6687 that we can't skip data more rigidly.
6688 (code_convert_region): Setup src_multibyte and dst_multibyte
6689 members of coding. For decoding, if the buffer is multibyte,
6690 convert the source sequence to unibyte in advance. For encoding,
6691 if the buffer is multibyte, convert the resulting sequence to
6692 multibyte afterward.
6693 (run_pre_post_conversion_on_str): New function.
6694 (code_convert_string): Deleted and divided into the following two.
6695 (decode_coding_string, encode_coding_string): New functions.
6696 (code_convert_string1, code_convert_string_norecord): Call one of
6697 above.
6698 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
6699 MAKE_NON_ASCII_CHAR.
6700 (Fset_terminal_coding_system_internal,
6701 Fset_safe_terminal_coding_system_internal): Setup src_multibyte
6702 and dst_multibyte members.
6703 (init_coding_once): Initialize iso_code_class with new enum
6704 ISO_control_0 and ISO_control_1.
6705
6706 * coding.h (enum iso_code_class_type): Member ISO_control_code is
6707 devided into ISO_control_0 and ISO_control_1.
6708 (struct coding_system): New members src_multibyte, dst_multibyte,
6709 errors, and result. Delete member fake_multibyte.
6710 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
6711 nonzero.
6712 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
6713 nonzero.
6714
6715 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
6716 (Faset): Likewise.
6717
6718 * editfns.c (Fformat): Be sure to convert 8-bit characters to
6719 multibyte form.
6720 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
6721 combining occurs.
6722 (Ftranspose_region): Delete codes for handling byte combining.
6723
6724 * fileio.c (Finsert_file_contents): Setup src_multibyte and
6725 dst_multibyte members of coding. On handling REPLACE on unibyte
6726 buffer, convert the result of decode_coding to unibyte. On
6727 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 6728 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
6729 multibyteness of the source (buffer or string).
6730
6731 * fns.c (concat): Handle 8-bit characters correctly.
6732 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
6733 unibyte in the result.
6734 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
6735 valid multibyte form in the result.
6736 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
6737 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
6738 return -1, signal an error.
6739 (base64_encode_1): New arg MULTIBYTE. Get each character by
6740 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
6741 character is found, return -1.
6742 (Fbase64_decode_region): Delete codes for handling byte-combining.
6743 Treat each decoded byte as a unibyte character.
6744 (Fbase64_decode_string): Return unibyte string.
6745 (Fcompare_strings, concat, string_byte_to_char): Use
6746 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
6747 FETCH_STRING_CHAR_ADVANCE.
6748 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
6749 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
6750
6751 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
6752 SPLIT_NON_ASCII_CHAR.
6753 (fontset_ref_via_base, fontset_set): Likewise
6754
6755 * insdel.c (adjust_markers_for_record_delete): Deleted.
6756 (adjust_markers_for_insert): Argument changed. Caller changed.
6757 (adjust_markers_for_replace): Likewise.
6758 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error,
6759 CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
6760 (copy_text): Delete unused local varialbe c_save. For converting
6761 to multibyte, be sure to make all 8-bit characters in valid
6762 multibyte form.
6763 (count_size_as_multibyte): Handle 8-bit characters correctly.
6764 (insert_1_both, insert_from_string_1, insert_from_buffer_1,
6765 adjust_after_replace, replace_range, del_range_2)
6766 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
6767 (insert_1_both, insert_from_string_1, insert_from_buffer_1,
6768 adjust_after_replace, replace_range, del_range_2) Delete codes for
6769 handling byte combining.
6770 (adjust_before_replace): Deleted.
427ec082 6771
c9671f81
KH
6772 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
6773 SPLIT_NON_ASCII_CHAR.
6774 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
6775 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE
6776 unconditionally.
6777 (Fkey_description): Likewise.
6778
6779 * lread.c (read1): On reading multibyte string, be sure to make
6780 all 8-bit chararacters in valid multibyte form.
6781 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
6782
6783 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
6784 unconditionally.
6785
6786 * process.c (Fstart_process): GCPRO current_dir before calling
6787 Ffind_operation_coding_system. Encode arguments here.
6788 (create_process): Don't encode arguments here. Setup
6789 src_multibyte and dst_multibyte members of struct coding.
6790 (read_process_output): Setup src_multibyte and dst_multibyte
6791 members of struct coding. If the output is to multibyte buffer,
6792 always decode the output of the process. Adjust the
6793 representation of 8-bit characters to the multibyteness of the
6794 output.
6795 (send_process): Setup coding->src_multibyte according to the
6796 multibyteness of the source.
6797
6798 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE
6799 unconditionally.
6800 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
6801 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
6802
6803 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of
6804 CHAR_LEN.
6805
6806 * w16select.c (Fw16_set_clipboard_data): Setup members
6807 src_multibyte and dst_multibyte of coding. Adjusted for the
6808 change for find_charset_in_str.
6809 (Fw16_get_clipboard_data): Likewise.
6810
6811 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
6812 dst_multibyte of coding.
6813 (x_to_w32_font): Likewise.
6814
6815 * w32select.c (Fw32_set_clipboard_data): Setup members
6816 src_multibyte and dst_multibyte of coding. Adjusted for the
6817 change for find_charset_in_str.
6818 (Fw32_get_clipboard_data): Likewise.
6819
6820 * xdisp.c (get_next_display_element): Handle 8-bit characters
6821 correctly.
6822 (next_element_from_display_vector): Use CHAR_BYTES instead of
6823 CHAR_LEN.
6824 (disp_char_vector): Use SPLIT_CHAR instead of
6825 SPLIT_NON_ASCII_CHAR.
6826
6827 * xselect.c (selection_data_to_lisp_data): Setup members
6828 src_multibyte and dst_multibyte of coding. Adjusted for the
6829 change for find_charset_in_str.
6830 (lisp_data_to_selection_data): Likewise.
6831
5f64c9e0
GM
68322000-05-19 Gerd Moellmann <gerd@gnu.org>
6833
2b63d473
GM
6834 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed
6835 buffer.
6836
5f64c9e0
GM
6837 * dispextern.h (Vimage_types): Add extern declaration.
6838
6839 * xdisp.c (Vimage_types): Moved here from xfns.c.
6840 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
6841
6842 * xfns.c (Vimages_types): Moved to xdisp.c.
6843 (syms_of_xfns): Move `image-types' to xdisp.c.
6844
6845 * w32fns.c (Vimage_types): Removed.
6846 (syms_of_w32fns): Remove `image-types'.
6847
813086ea
KH
68482000-05-18 Kenichi Handa <handa@etl.go.jp>
6849
6850 * fns.c (map_char_table): Pay attention to character number of
6851 charset. Check the validity of charset at the first level. For
6852 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
6853 the default value.
6854
6855 * fontset.c: Include "buffer.h".
6856 (fs_load_font): If the face has fontset, record the face ID in
6857 that fontset.
6858 (Finternal_char_font): New function.
6859 (accumulate_font_info): New function.
6860 (Ffontset_info): Rewritten for the new fontset implementation.
6861 (syms_of_fontset): Register Vdefault_fontset in the first element
6862 of Vfontset_table. Include Vdefault_fontset in
6863 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
6864 function.
6865
bdaebbf0
DL
68662000-05-16 Dave Love <fx@gnu.org>
6867
6868 * m/iris5d.h: Deleted -- unused.
6869
cb613bb8
GM
68702000-05-16 Gerd Moellmann <gerd@gnu.org>
6871
b15f3b77
GM
6872 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
6873 `invalid' instead of `illegal'.
6874
6875 * indent.c (Fmove_to_column): When ending within a tab, insert
6876 spaces first so that markers at the end of the tab get adjusted.
6877
835c1b36
GM
6878 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
6879 buffer list that wasn't selected in that frame.
6880
cb613bb8
GM
6881 * filelock.c (get_boot_time): To obtain an 8 char file name, which
6882 is needed on mescaline, use a 2 char prefix, and call
6883 make_temp_name with second arg non-zero.
6884
6885 * fileio.c (make_temp_name): New function, extracted from
6886 Fmake_temp_name.
6887 (Fmake_temp_name): Use it.
6888
f685bea9
EZ
68892000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
6890
6891 * window.c (coordinates_in_window): Subtract 1 when computing
6892 right_x.
6893
a1b8d58b
GM
68942000-05-15 Gerd Moellmann <gerd@gnu.org>
6895
6896 * Makefile.in (lisp): Add env.elc.
6897
6898 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
6899
a265079f
GM
69002000-05-12 Gerd Moellmann <gerd@gnu.org>
6901
6902 * search.c (Freplace_match): Handle case of `\N' in the
6903 replacement when there's no group N.
6904
da4496b6
GM
69052000-05-11 Gerd Moellmann <gerd@gnu.org>
6906
0ace421a
GM
6907 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
6908 of the message to message_dolog.
6909
1172eb8d
GM
6910 * keyboard.c (read_char): Don't clear current message for help
6911 events; let the code handling help events handle this. Change
6912 code detecting help events that should be ignored.
6913
da4496b6
GM
6914 * xdisp.c (handle_single_display_prop): Don't try to set PT if
6915 we're interating over a string.
6916
0623e40f
DL
69172000-05-09 Dave Love <fx@gnu.org>
6918
6919 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
6920 that offset before writing. Move gcpro region past call of
6921 Ffile_regular_p.
6922
bae2503b
DL
69232000-05-04 Dave Love <fx@gnu.org>
6924
6925 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
6926
ec82fb2f
GM
69272000-05-04 Gerd Moellmann <gerd@gnu.org>
6928
6929 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
6930 of inserted characters when BUF equals the current buffer, and PT
6931 is in front of or equal to FROM.
6932
cbf18892
GM
69332000-05-03 Gerd Moellmann <gerd@gnu.org>
6934
4ff40dd0
GM
6935 * xdisp.c (handle_single_display_prop): If display property value
6936 is invalid, or something not supported on the frame, restore
6937 iterator's position to what it was initially. Make sure to return
6938 0 for invalid and unsupported property values.
6939
cbf18892
GM
6940 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
6941 that x_per_char_metric returns null.
6942
1b0672c3
GM
69432000-05-02 Gerd Moellmann <gerd@gnu.org>
6944
576da55d
GM
6945 * xterm.h (struct face): Add forward declaration.
6946 (struct image): Ditto.
6947 (image_ascent): Add prototype.
6948
6949 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
6950 (x_draw_image_relief, x_draw_image_foreground_1): Call function
6951 image_ascent instead of using IMAGE_ASCENT.
6952
6953 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
6954 (IMAGE_ASCENT): Removed.
6955
6956 * xfns.c (Qcenter): New variable.
6957 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
6958 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
6959 (image_ascent): New function.
6960 (lookup_image): Recognize `:ascent center'.
6961 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
6962 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
6963 (xbm_load): Don't set image's ascent here.
6964 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
6965 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
6966 check ascent values here.
6967 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
6968 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
6969 (syms_of_xfns): Initialize Qcenter.
6970
1b0672c3
GM
6971 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
6972 to the limits, increase the limits.
6973
0d7811ed
KH
69742000-05-01 Kenichi Handa <handa@etl.go.jp>
6975
6976 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
6977 Check Vfont_encoding_alist against the full name of the opened
6978 font.
6979
a943a5ca
GM
69802000-04-28 Gerd Moellmann <gerd@gnu.org>
6981
6982 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
6983 taller than the window.
6984
5dba1e29
KH
69852000-04-28 Kenichi Handa <handa@etl.go.jp>
6986
6987 * xfaces.c (realize_x_face): Fix the argument of the second
6988 xassert. BASE_FACE may not be a face for ASCII.
6989
353964e3
GM
69902000-04-27 Gerd Moellmann <gerd@gnu.org>
6991
c76e04a8
GM
6992 * print.c (print_object): Treat print-length < 0 as nil.
6993
6994 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
6995
6996 * s/freebsd.h (TERMCAP_OBJ): Removed.
6997 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
6998
6999 * lread.c (read1): Don't treat period followed by certain
7000 characters as symbol start.
7001
7002 * xfns.c (slurp_file): New function.
7003 (xbm_image_p): Handle case of in-memory XBM files.
7004 (xbm_scan): Rewritten to work on memory buffers instead of files.
7005 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
7006 Work on memory buffers instead of files. If DATA is null test
7007 if buffer looks like an in-memory XBM file.
7008 (xbm_load_image): Renamed from xbm_load_image_file. Work on
7009 memory buffers instead of files.
7010 (xbm_file_p): New function.
7011 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
7012
353964e3
GM
7013 * lread.c (end_of_file_error): New function.
7014 (read1): Call it instead of signaling `end-of-file' directly.
7015
427ec082 7016 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
7017 with Fprinc instead of Fprin1.
7018
24d744ac
KR
70192000-04-26 Ken Raeburn <raeburn@gnu.org>
7020
7021 * window.c (freeze_window_start): Check that minibuffer scroll
7022 window isn't nil before extracting the window structure pointer
7023 from it.
7024
7025 * undo.c (record_delete): If we hit the end of the undo list, stop
7026 picking elements apart.
7027
7464346d
GM
70282000-04-26 Gerd Moellmann <gerd@gnu.org>
7029
7030 * xdisp.c (display_line): If lines are continued, restore
7031 iterator's ascent/descent information to the values before the
7032 first glyph not fitting on the line.
7033
612839b6
GM
70342000-04-25 Gerd Moellmann <gerd@gnu.org>
7035
7036 * xdisp.c (try_window_id) <all changes above window start>: Adjust
7037 positions in glyph matrix. Don't compute new window end
7038 positions.
7039
7040 * dispnew.c (increment_matrix_positions): Renamed from
7041 increment_glyph_matrix_buffer_positions.
7042 (increment_row_positions): Renamed from
7043 increment_glyph_row_buffer_positions.
7044
7045 * dispextern.h: Change names of renamed functions from dispnew.c
7046 in prototypes.
7047
cc181e95
GM
70482000-04-24 Gerd Moellmann <gerd@gnu.org>
7049
abfcc168
GM
7050 * fileio.c (Fdo_auto_save): Create directories for auto-save
7051 list file if necessary.
7052
cc181e95
GM
7053 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
7054 from buffer or frame.
7055 (automatic_hscrolling_p): New variable.
7056 (hscroll_windows): Scroll windows horizontally only if automatic
7057 hscrolling is allowed.
7058 (syms_of_xdisp): New variable `automatic-hscrolling'.
7059
7060 * frame.h (struct frame): Add member extra_line_spacing.
7061
7062 * xfns.c (x_set_line_spacing): New function.
7063 (Fx_create_frame): Set line spacing from resources.
7064 (Qline_spacing): New variable.
7065 (syms_of_xfns): Initialize Qline_spacing.
427ec082 7066
cc181e95
GM
7067 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
7068
7069 * buffer.c (init_buffer_once): Handle extra_line_spacing.
7070 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 7071 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
7072 extra_line_spacing from default value.
7073 (init_buffer_once): Initialize default value of extra_line_spacing.
7074
7075 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
7076 and extra3.
7077
7078 * xterm.c (x_produce_glyphs): Remove reference to struct it's
7079 prompt_width. Add extra line spacing.
7080
7081 * term.c (produce_glyphs): Remove reference to struct it's
7082 prompt_width.
7083
7084 * dispextern.h (struct it): Remove member prompt_width, add
7085 extra_line_spacing.
7086
58827478
GM
70872000-04-22 Gerd Moellmann <gerd@gnu.org>
7088
7089 * dispnew.c (update_frame_line): When writing a whole line, make
7090 sure cursor is in the right row afterwards, otherwise a use of
7091 capability `ch' in cmgoto might leave the cursor in the row below.
7092
25a87f42
GM
70932000-04-21 Gerd Moellmann <gerd@gnu.org>
7094
7095 * lisp.h (struct Lisp_Buffer_Cons): Remove.
7096
7097 * keyboard.c (timer_check): Fix typo in comment.
7098
54edf5c2
KH
70992000-04-21 Kenichi Handa <handa@etl.go.jp>
7100
7101 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
7102 name change: ch -> character.
7103
3a64eef5
GM
71042000-04-20 Gerd Moellmann <gerd@gnu.org>
7105
7106 * keyboard.c (echo_message_buffer): New variable.
7107 (echo_now): Set echo_message_buffer to the echo area buffer used
7108 to display the echo.
7109 (cancel_echoing): Reset echo_message_buffer to nil.
7110 (read_char): Code rewritten that handles canceling an echo or
7111 echoing a dash, respectively.
7112
7113 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
7114 directory doesn't exist.
7115
6142fdcb
DL
71162000-04-19 Dave Love <fx@gnu.org>
7117
7118 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
7119 (concat): Don't allow numeric args.
7120 (Fconcat): Doc change.
6142fdcb 7121
ac6b5352
SM
71222000-04-19 Stefan Monnier <monnier@cs.yale.edu>
7123
7124 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
7125 instead define end_match(1|2) more carefully.
7126 Use GET_CHAR_BEFORE_2 for `begline'.
7127
cb9215e4
GM
71282000-04-19 Gerd Moellmann <gerd@gnu.org>
7129
5e3dac3f
GM
7130 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
7131 on 64-bit systems where NULL is defined as `0'.
7132
7133 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
7134 the `variable argument list' to make it work on Alpha.
7135
cb9215e4
GM
7136 * m/alpha.h (_LP64) [!_LP64]: Define.
7137 (ORDINARY_LINK): Define for NetBSD.
7138
7139 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 7140
f532dca0
DL
71412000-04-19 Dave Love <fx@gnu.org>
7142
c750667e
DL
7143 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
7144 change.
7145
7146 * Makefile.in (LIBS): Don't use.
7147 (GETLOADAVG_OBJ): Define again.
7148 (otherobj): Add GETLOADAVG_OBJ.
7149
f532dca0
DL
7150 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
7151
1c7e22fd
GM
71522000-04-18 Gerd Moellmann <gerd@gnu.org>
7153
f6d3257b
GM
7154 * lread.c (read_filtered_event): Cancel and start busy cursor.
7155
427ec082 7156 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
7157 that the per-character metrics may be null.
7158
e10f64e7
GM
71592000-04-17 Gerd Moellmann <gerd@gnu.org>
7160
0daee095
GM
7161 * buffer.c (clone_per_buffer_values): New function.
7162 (Fmake_indirect_buffer): Add optional argument CLONE. Call
7163 clone_per_buffer_values if CLONE is not nil.
7164
e10f64e7
GM
7165 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
7166
38687d43
DL
71672000-04-16 Dave Love <fx@gnu.org>
7168
7169 * Makefile.in: Remove obsolete localcpp stuff.
7170 (GETLOADAVG_OBJ): Don't define.
7171 (obj): Move LIBOBJS...
7172 (otherobj): ... to here.
7173 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
7174 whitespace-only lines after the continuation (Irix).
7175
c21c7262
GM
71762000-04-14 Gerd Moellmann <gerd@gnu.org>
7177
7178 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
7179
7180 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
7181
314767c0
DL
71822000-04-14 Dave Love <fx@gnu.org>
7183
7184 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
7185 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
7186 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
7187 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
7188 NLIST_STRUCT.
7189
7190 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
7191 autoconfiscated HAVE_GETLOADAVG.
7192
7193 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
7194 BROKEN_MKTIME.
7195
a2522dca
GM
71962000-04-14 Gerd Moellmann <gerd@gnu.org>
7197
7198 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
7199 (fill_in_lock_file_name): Avoid existing files that aren't
7200 links.
7201
33744b5d
DL
72022000-04-14 Dave Love <fx@gnu.org>
7203
c21c7262 7204 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
7205 (INTERVAL_SRC): Convert to make variable.
7206 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
7207 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
7208 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
7209 add LIBOBJS.
7210 (SOME_MACHINE_OBJECTS): Remove interval stuff.
7211 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
7212 (shortlisp): Add facemenu, float-sup, frame.
7213 (SOME_MACHINE_LISP): Remove them from here.
7214 (LIBES): Change unused LDLIBS to autoconf LIBS.
7215
7216 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
7217
9d3d5916
KH
72182000-04-14 Kenichi Handa <handa@etl.go.jp>
7219
7220 * composite.c (update_compositions): If FROM and TO are not in a
7221 valid range, do nothing.
7222
198e3c7a
GM
72232000-04-13 Gerd Moellmann <gerd@gnu.org>
7224
7225 * tparam.c (tparam1): Abort when encountering an unknown
7226 `%'-specifier.
7227
7228 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as
7229 terminfo.o.
7230
7231 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
7232 as TERMCAP_OBJ.
7233
055a28c9
EZ
72342000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
7235
7236 * fileio.c (a_write): Remove redundant semi-colons.
7237 (e_write): Return -1 if failed to write all the data.
7238 This fixes the changes made at 1999-12-15.
7239
f5c75033
DL
72402000-04-12 Dave Love <fx@gnu.org>
7241
7242 * fns.c (mapcar1): Test for null vals to support mapc.
7243 (Fmapc): New function.
7244
0c3cfc51
EZ
72452000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
7246
7247 * msdos.c (NUM_MOUSE_BUTTONS): Define.
7248 (IT_frame_up_to_date): Support the buffer local value of
7249 cursor-type, if defined.
7250
33465a31
DL
72512000-04-10 Dave Love <fx@gnu.org>
7252
7253 * editfns.c (preceding-char, following-char): Doc fix.
7254
6ed56568
KR
72552000-04-10 Ken Raeburn <raeburn@gnu.org>
7256
7257 * Makefile.in (temacs): Revert 2000-03-12 change.
7258
7cf80d4e
JR
72592000-04-10 Jason Rumney <jasonr@gnu.org>
7260
7261 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
7262
34f3f342
GM
72632000-04-10 Gerd Moellmann <gerd@gnu.org>
7264
1a1b1895
GM
7265 * xdisp.c (setup_echo_area_for_printing): Choose an echo
7266 area buffer, if it's not set up yet.
7267
34f3f342
GM
7268 * indent.c (compute_motion): Set immediate_quit.
7269
be0dbdab
GM
72702000-04-09 Gerd Moellmann <gerd@gnu.org>
7271
c45be9ac
GM
7272 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New
7273 variable.
7274 (realize_tty_face): Suppress boldness if colors are the inverse of
7275 the default colors, and tty_suppress_bold_inverse_default_colors_p
7276 is set.
7277 (Ftty_suppress_bold_inverse_default_colors): New function.
7278 (syms_of_xfaces): Defsubr it.
7279
be0dbdab
GM
7280 * buffer.c (Frestore_buffer_modified_p): New function.
7281 (syms_of_buffer): Defsubr it.
7282
e8413c3b
KR
72832000-04-08 Ken Raeburn <raeburn@gnu.org>
7284
87f67317
KR
7285 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
7286 charset id (int) argument, not a charset (Lisp_Object).
7287
e8413c3b
KR
7288 * coding.h (code_convert_string): Declare.
7289 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
7290 object, as the fourth argument to code_convert_string.
7291
7292 * fontset.c (make_fontset_for_ascii_face): Use XINT on return
7293 value.
7294 (Fset_fontset_font): Use EQ to compare lisp objects.
7295
7c752c80
KR
72962000-04-05 Ken Raeburn <raeburn@gnu.org>
7297
c0333abc
KR
7298 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
7299 a pointer that looks like a lisp object.
7300 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
7301 zero, instead see whether it's an integer object, since they can't
7302 have intervals.
7303 (GET_INTERVAL_OBJECT): Simply assign to the destination.
7304
7c752c80
KR
7305 * dispnew.c (allocate_matrices_for_frame_redisplay,
7306 direct_output_forward_char): Use X(U)INT and make_number as needed
7307 to convert between (unsigned) int values and lisp integers.
7308 * keyboard.c (read_key_sequence): Likewise.
7309 * lread.c (substitute_object_recurse): Likewise.
7310 * fns.c (concat, hash_lookup, hash_remove): Likewise.
7311 * minibuf.c (do_completion, Fminibuffer_complete_word,
7312 Fminibuffer_completion_help): Likewise.
7313 * term.c (produce_special_glyphs): Likewise.
7314
7315 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
7316 * print.c (print_preprocess, print_object): Likewise.
7317
7318 * search.c (compile_pattern): Use NILP when checking for nil.
7319
74e49b38
KR
7320 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
7321 __OPTIMIZE__]: Provide a GNU C macro version that handles
7322 lisp-object unions.
7323 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
7324 field, to better cope with ENABLE_CHECKING and calls that modify a
7325 Lisp_Object using its old value.
7326
685e5ed2
GM
73272000-04-04 Gerd Moellmann <gerd@gnu.org>
7328
c407c570
GM
7329 * window.c (compare_window_configurations): Signal an error
7330 if parameters C1 or C2 aren't window configurations.
7331
685e5ed2
GM
7332 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
7333 AFTER_POTENTIAL_GC calls around calls to functions that can
7334 signal an error and thus invoke the debugger.
7335
587a49ab
GM
73362000-04-03 Gerd Moellmann <gerd@gnu.org>
7337
62f20204
GM
7338 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
7339 an error if decoding fails.
7340
587a49ab
GM
7341 * keyboard.c (lispy_mouse_names): Variable removed.
7342 (Vlispy_mouse_stem): New variable.
7343 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
7344 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
7345 for any mouse button number. Increase size of mouse_syms and
7346 button_down_location as needed. Call modify_event_symbol with
7347 different arguments.
7348 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
7349 Call modify_event_symbol with different arguments.
7350 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
7351 for any button number. Call modify_event_symbol with different
7352 arguments.
7353 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
7354 Accept a string for NAME_ALIST_OR_STEM.
7355
7356 * lisp.h (larger_vector): Add prototype.
7357
7358 * fns.c (larger_vector): Make externally visible.
7359
7360 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
7361
2d1675e4
SM
73622000-04-02 Stefan Monnier <monnier@cs.yale.edu>
7363
7364 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
7365 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
7366 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
7367 we are between str1 and str2.
7368 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
7369 (PATFETCH): Use `TRANSLATE'.
7370 (PATFETCH_RAW): Fetch multibyte char if applicable.
7371 (PATUNFETCH): Remove.
7372 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
7373 When writing a char, write it directly into the pattern buffer rather
7374 than going needlessly through a temp char-array.
7375 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
7376 multibyte magic and remove the useless `#ifdef emacs'.
7377 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
7378 buffer.
7379
7380 * regex.h (struct re_pattern_buffer): Make field `multibyte'
7381 conditional on `emacs'.
7382
7383 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
7384
cc2d8c6b
KR
73852000-04-01 Ken Raeburn <raeburn@gnu.org>
7386
7387 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
7388 non-union-type versions of XMARK and friends here, because XMARK
7389 and friends won't work on an integer field if NO_UNION_TYPE is not
7390 defined.
7391 (make_number): Define as a function if it's not defined as a
7392 macro.
7393
09654086
KR
7394 * composite.c (run_composite_function): Use NILP when checking for
7395 nil.
7396 (syms_of_composite): Delete local var NARGS, pass an int as first
7397 argument to Fmake_hash_table.
7398
2387b382
KR
7399 * editfns.c (text_property_stickiness): Use NILP to test
7400 Lisp_Object boolean value.
7401 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
7402 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
7403 problems reading from and changing the same lisp value in an
7404 XSETSTRING call.
7405
27660e89
GM
74062000-04-01 Gerd Moellmann <gerd@gnu.org>
7407
7408 * term.c (TN_no_color_video): New variable.
7409 (term_init): Intitialize TN_no_color_video.
7410 (enum no_color_bit): New enumeration.
7411 (MAY_USE_WITH_COLORS_P): New macro.
7412 (turn_on_face): Use it to determine if attributes may be used
7413 combined with colors.
7414
3578db3c
KR
74152000-04-01 Ken Raeburn <raeburn@gnu.org>
7416
7417 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
7418 with int lvalues via casts; instead, just yield lisp object
7419 lvalues.
7420 (enlarge_window): Variable sizep now points to Lisp_Object. Use
7421 proper accessor macros.
7422 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
7423 (grow_mini_window): Fix typo getting int value of root->height.
7424
6fc556fd
KR
7425 * xdisp.c (compute_string_pos): Fix order of arguments to
7426 string_pos_nchars_ahead.
7427 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
7428 count arg to variable-arg routines like Frun_hook_with_args and
7429 Fformat.
587a49ab
GM
7430 (back_to_previous_visible_line_start)
7431 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
7432 fixed-arg routines like Fget_char_property and Fmake_string.
7433 (reconsider_clip_changes): Use XINT when comparing integer lisp
7434 objects, or passing them as int arguments.
587a49ab
GM
7435 (mark_window_display_accurate, insert_left_trunc_glyphs)
7436 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
7437 storing or passing integer values as lisp objects.
7438 (set_cursor_from_row, highlight_trailing_whitespace): Use
7439 INTEGERP, not implicit test against zero, for glyph object.
7440 (try_window_id): Don't use make_number when we want an int value.
7441
7442 * xfaces.c (xlfd_symbolic_value): Make last argument a
7443 Lisp_Object, to be consistent with callers.
7444 (Fbitmap_spec_p): Use XINT to get numeric value of height.
7445 (lface_hash): Apply XFASTINT to lisp values before folding in.
7446
7447 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
7448 fill in window width and height. Pass an int, not a lisp object,
7449 as first arg to Finsert.
7450
6e7b2457
GM
74512000-04-01 Gerd Moellmann <gerd@gnu.org>
7452
610d841e
GM
7453 * xfaces.c (realize_basic_faces): Block input while realizing
7454 the faces.
7455
6e7b2457
GM
7456 * keyboard.c (lispy_mouse_names): Add additional mouse names.
7457
7458 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
7459
aa110c0c
GM
74602000-03-31 Gerd Moellmann <gerd@gnu.org>
7461
7462 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 7463 or ASCII, handle case that per-char metric is null.
aa110c0c 7464
8801a864
KR
74652000-03-30 Ken Raeburn <raeburn@gnu.org>
7466
c6129d7e
KR
7467 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
7468
8801a864
KR
7469 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW,
7470 XSUBR, XBUFFER): Verify correct object type before returning
7471 pointer, using eassert.
7472 * frame.h (XFRAME): Likewise.
7473
7474 * buffer.c (Frename_buffer, Fset_buffer_multibyte,
7475 swap_out_buffer_local_variables, Fmove_overlay): Don't apply
7476 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong
7477 type.
7478 * data.c (set_internal): Likewise.
7479 * dispextern.h (WINDOW_WANTS_MODELINE_P,
7480 WINDOW_WANTS_HEADER_LINE_P): Likewise.
7481 * fileio.c (auto_save_1): Likewise.
7482 * insdel.c (check_markers): Likewise.
7483 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
7484 * undo.c (record_insert): Likewise.
7485 * vmsproc.c (child_sig): Likewise.
7486 * window.c (unshow_buffer, window_loop): Likewise.
7487 * xterm.c (x_erase_phys_cursor): Likewise.
7488
8e7af858
GM
74892000-03-30 Gerd Moellmann <gerd@gnu.org>
7490
7491 * xfns.c (free_image_cache): Free the cache structure itself
7492 last, after all its members have been freed.
7493
7494 * lisp.h (xstrdup): Add prototype.
7495
7496 * alloc.c (xstrdup): Moved here from xfaces.c.
7497 (allocating_for_lisp): Variable removed.
7498 (lisp_malloc): Block input around the calls to malloc and
7499 mem_insert.
7500
7501 * xfaces.c (realize_tty_face): Use find_symbol_value instead
7502 of Fsymbol_value.
7503 (xstrdup): Moved to alloc.c.
7504
e0b8c689
KR
75052000-03-29 Ken Raeburn <raeburn@gnu.org>
7506
b96f9fb7
KR
7507 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
7508
7509 * emacs.c (main): Fix sense of no-loadup test.
7510
e0b8c689
KR
7511 * config.in (ENABLE_CHECKING): Undef.
7512
7513 * lisp.h (struct interval): Replace "parent" field with a union of
7514 interval pointer and Lisp_Object; add new bitfield to use as
7515 discriminant. Change other flag fields to bitfields.
7516 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
7517 is defined and the supplied test fails, print a message and
7518 abort.
7519 (eassert): New macro. Use CHECK to provide an assert-like
7520 facility.
7521
7522 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
7523 pointers; abort if the value looks like a lisp object.
7524 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT,
7525 SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
7526 Modify for new interval parent definition.
7527
7528 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE,
7529 UNMARK_BALANCE_INTERVALS): Update references that need an
7530 addressable lisp object in the interval structure.
7531 (die): New function.
7532 (suppress_checking): New variable.
7533
7534 * intervals.c (interval_start_pos): Just return 0 if there's no
7535 parent object.
7536
f83c5440
GM
75372000-03-29 Gerd Moellmann <gerd@gnu.org>
7538
7539 * lread.c (read1): Accept `.' (period) as symbol start like in CL
7540 and earlier Emacs versions.
7541
7542 * keyboard.c (Ftop_level): Cancel busy-cursor.
7543
7544 * eval.c (call_debugger): Cancel busy-cursor.
7545
fdce64ff
KH
75462000-03-29 Kenichi Handa <handa@etl.go.jp>
7547
7548 * search.c (Freplace_match): Adjust multibyteness of the current
7549 buffer and NEWTEXT. Free allocated memory before signaling an
7550 error.
7551
f6a3f532
SM
75522000-03-28 Stefan Monnier <monnier@cs.yale.edu>
7553
7554 * regex.c (analyse_first): New function obtained by ripping out most
7555 of re_compile_fastmap and generalizing it a little bit so that it
7556 can also just return whether a given (sub)pattern can match the empty
7557 string or not.
7558 (regex_compile): Use `analyse_first' to decide whether the loop-check
7559 needs to be done or not for *, +, *? and +? (the loop check is costly
7560 for non-greedy repetition).
7561 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
7562
e9b309ac
DL
75632000-03-28 Dave Love <fx@gnu.org>
7564
bb15bd9a
DL
7565 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k,
7566 alpha.
7567
e9b309ac
DL
7568 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
7569
ed0767d8
SM
75702000-03-27 Stefan Monnier <monnier@cs.yale.edu>
7571
7572 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
7573 an expression.
7574 (enum re_opcode_t): Update description of succeed_n.
7575 (PATFETCH): Always define.
7576 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
7577 operators, char classes, shy-groups and intervals).
7578 Optimize special cases of intervals so as to only use succeed_n and
7579 jump_n when really needed.
7580 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
7581 that we don't have to handle the special cases any more.
7582 Simplify on_failure_jump handling as well.
7583
e11e7e46
JR
75842000-03-28 Jason Rumney <jasonr@gnu.org>
7585
7586 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
7587
88faab89
GM
75882000-03-27 Gerd Moellmann <gerd@gnu.org>
7589
182ff242
GM
7590 * s/freebsd.h (GC_SETJMP_WORKS): Define.
7591
7592 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 7593
182ff242
GM
7594 * alloc.c (mark_maybe_object): New function.
7595 (mark_memory): Use it.
7596 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
7597 (setjmp_tested_p, longjmp_done): New variables.
7598 (test_setjmp): New function.
7599 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
7600 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
7601
c1005d06
GM
7602 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
7603 to DEC_TEXT_POS and INC_TEXT_POS.
7604
7605 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
7606 with parameter MULTIBYTE_P.
7607
427ec082 7608 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter
c1005d06
GM
7609 MULTIBYTE_P.
7610
7439e5b9 7611 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
7612 buffers because it looks for multibyte character byte sequences
7613 which don't exist in unibyte text.
7439e5b9 7614
d9c545da
GM
7615 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
7616
11fd416e 7617 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
7618 [DEBUG_X_COLORS]: New functions.
7619 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
7620
7621 * xfns.c (x_set_cursor_color): Get color reference counts right.
7622
7623 * xterm.c (x_copy_color): New function.
7624 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
7625
7626 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
7627 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
7628 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
7629 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
7630 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
7631 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
7632 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
7633 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
7634 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
7635 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
7636
11fd416e
GM
7637 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
7638 names for handling per-buffer variables.
d9c545da
GM
7639
7640 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
7641 instead of MAX_BUFFER_LOCAL_VARS.
7642 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
7643
7644 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
7645
88faab89
GM
7646 * xfns.c (x_specified_cursor_type): New function.
7647 (x_set_cursor_type): Use it.
7648
7649 * buffer.h (struct buffer): Add cursor_type.
7650
d80f42b7
SM
76512000-03-26 Stefan Monnier <monnier@cs.yale.edu>
7652
7653 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
427ec082 7654 (print_partial_compiled_pattern, re_compile_fastmap): Handle new
88faab89 7655 opcode.
d80f42b7
SM
7656 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
7657 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
7658 executing it as well as when popping it off the stack to find infinite
7659 loops in non-greedy repetition operators.
7660
89e80928
GM
76612000-03-26 Gerd Moellmann <gerd@gnu.org>
7662
3d4ff2dd
GM
7663 * doc.c (Qfunction_documentation): New variable.
7664 (syms_of_doc): Initialize Qfunction_documentation.
7665 (Fdocumentation): If FUNCTION is a symbol with non-nil
7666 `function-documentation' property, return a documentation derived
7667 from that.
7668
bd96bd79
GM
7669 * buffer.c (syms_of_buffer): Add default-cursor-type.
7670 (init_buffer_once): Don't let cursor_type have a local value
7671 in every buffer.
7672
19d1bc27
GM
7673 * xterm.c (x_display_and_set_cursor): Choose cursor depending
7674 on buffer-local value of cursor_type.
7675 (x_draw_bar_cursor): Add parameter WIDTH.
7676
7677 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
7678 (init_buffer_once): Set default cursor_type value to t.
7679 Mark cursor_type as local everywhere.
7680 (syms_of_buffer): New per-buffer variable cursor-type.
7681
89e80928
GM
7682 * buffer.h (struct buffer): Remove member local_var_flags,
7683 add local_flags.
7684 (MAX_BUFFER_LOCAL_VARS): New macro.
7685 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
7686 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
7687 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
7688 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
7689
7690 * print.c (print_object): Use new macros for per-buffer
7691 variables.
7692
7693 * category.c (Fset_category_table): Use new macros for per-buffer
7694 variables.
7695
7696 * buffer.c (buffer_permanent_local_flags): Make a char array.
7697 (max_buffer_local_idx): New variable.
7698 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
7699 for new handling of per-buffer variables.
7700 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
7701 (init_buffer_once): Initialize per-buffer vars differently.
7702 Set max_buffer_local_idx.
7703
7704 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
7705 variables.
7706
7707 * lread.c (defvar_per_buffer): Use new macros for per-buffer
7708 variables.
7709
7710 * data.c (do_symval_forwarding, store_symval_forwarding)
7711 (find_symbol_value, set_internal, default_value, Fset_default)
7712 (Fkill_local_variable, Flocal_variable_p): Use new macros for
7713 per-buffer variables.
7714
7715 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
7716
9a0dd3dc
GM
77172000-03-24 Gerd Moellmann <gerd@gnu.org>
7718
b68c375f
GM
7719 * xterm.c (x_term_init): Unblock input around call1 of
7720 Qvendor_specific_keysyms.
7721
9a0dd3dc
GM
7722 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
7723 (find_defun_start): Consider an open parenthesis in column 0
7724 a defun start only if open_paren_in_column_0_is_defun_start is set.
7725 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
7726
7973e637
SM
77272000-03-24 Stefan Monnier <monnier@cs.yale.edu>
7728
7729 * eval.c (Fautoload): Add entry in load-history (if after dump).
7730 * lread.c (load-history): Update docstring.
7731
39210e90
GM
77322000-03-24 Gerd Moellmann <gerd@gnu.org>
7733
7734 * indent.c (Fvertical_motion): Always use the current buffer.
7735 Temporarily change the window's buffer, if necessary.
7736
72db3ab5
GM
77372000-03-23 Gerd Moellmann <gerd@gnu.org>
7738
7739 * xterm.c (fast_find_position): Make sure not to consider rows
7740 not visible in the window.
7741
990b2375
SM
77422000-03-22 Stefan Monnier <monnier@cs.yale.edu>
7743
7744 * regex.c (enum syntaxcode): Provide default for non-Emacs.
7745 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
7746
ff4df011
JR
77472000-03-22 Jason Rumney <jasonr@gnu.org>
7748
7749 * w32menu.c (single_submenu): Set help string to NULL if none.
7750 (w32_menu_show): Set help string correctly.
7751 (add-menu-item): Set help string in MIIM_DATA for menu item.
7752 Load SetMenuItemInfoA explicitly.
7753 (w32_menu_display_help): New function.
427ec082 7754
ff4df011
JR
7755 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
7756 (QCdata): Moved to xdisp.c.
7757
7758 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
7759 (Vw32_charset_to_codepage_alist): Removed.
7760 (Vw32_charset_info_alist): New variable.
7761 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312,
7762 chinesebig5, oem, easteurope, turkish, baltic, russian, arabic,
7763 greek, hebrew, thai, johab, mac, unicode]): New symbols.
7764 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
7765 with TODO comment.
7766 (w32_codepage_for_font): Use Vw32_charset_info_alist.
7767 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
7768 Define Vw32_charset_info_alist and w32_charset symbols.
7769
77702000-03-22 Jason Rumney <jasonr@gnu.org>
7771
7772 * makefile.nt (w32bdf.obj): Update dependencies.
7773
7774 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
7775
7776 * w32fns.c: Include fontset.h after dispextern.h.
7777 (Fx_create_frame): Do not create fontset.
7778 (w32_load_system_font): Doc fix.
7779 (Fx_close_connection): Free full_name if it is not shared.
7780
7781 * w32term.c: Include fontset.h after dispextern.h.
7782 (x_get_glyph_face_and_encoding): New parameter two_byte_p. Callers
7783 updated.
7784 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
7785 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
7786 (w32_font_is_double_byte): New function, needs body.
7787 (x_append_glyph): Set glyph->glyph_not_available_p.
7788 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
7789 it->charset. If it->multibyte_p is zero and it->c is a multibyte
7790 character, convert it to a unibyte character.
7791 (struct glyph_string): Delete member `charset'.
7792 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
7793 calculating it is found.
7794 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
7795 the case that per char metric is not available correctly.
7796 (x_fill_glyph_string): Handle the case that the specific glyph is
7797 not available correctly.
7798 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
7799 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
7800 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
7801 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
7802 fontset. Don't call FS_LOAD_FONT.
7803
439d5cb4
KR
78042000-03-22 Ken Raeburn <raeburn@gnu.org>
7805
7806 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
7807 (INT_LISPLIKE): New macro.
7808 (NULL_INTERVAL_P): Use it.
7809 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT,
7810 SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT,
7811 GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
7812
7813 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
7814 explicit references to "parent" field of struct interval and
7815 associated unclean type conversions.
7816 * intervals.c (create_root_interval, root_interval, rotate_right,
7817 rotate_left, balance_possible_root_interval, split_interval_right,
7818 split_interval_left, interval_start_pos, find_interval,
7819 next_interval, previous_interval, update_interval,
7820 adjust_intervals_for_insertion, delete_node, delete_interval,
7821 adjust_intervals_for_deletion, merge_interval_right,
7822 merge_interval_left, reproduce_tree, graft_intervals_into_buffer,
7823 copy_intervals_to_string): Likewise.
7824 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
7825 Likewise.
7826 * syntax.c (update_syntax_table): Likewise.
7827
7828 * intervals.c (reproduce_tree_obj): New function, like
7829 reproduce_tree but takes a Lisp_Object for the parent. Declare
7830 with prototype.
7831 (graft_intervals_into_buffer): Use it when appropriate.
7832 (reproduce_tree): Declare with prototype.
7833 (balance_possible_root_interval): Check that the parent is a lisp
7834 object before trying to examine its type.
7835
ee1c5b21
GM
78362000-03-22 Gerd Moellmann <gerd@gnu.org>
7837
7838 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
7839 as strings only if both are known to be strings.
7840
7841 * s/openbsd.h (LIBS_TERMCAP): Undef.
7842
1fb352e0
SM
78432000-03-21 Stefan Monnier <monnier@cs.yale.edu>
7844
7845 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
7846 definitions for non-Emacs compilation.
7847 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
7848 outside of `#ifdef emacs'.
7849 (print_partial_compiled_pattern): Update.
7850 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
7851 (re_compile_fastmap): Merge handling of charset and charset_not (for
7852 emacs and non-emacs compilation as well).
7853 Similarly for (not)categoryspec and (not)syntaxspec.
7854 Don't use the fastmap when reaching `anychar' since the added
7855 complexity is not justified.
7856 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
7857 and (not)syntaxspec. Merge (not)categoryspec.
7858
fdaa1f77
KH
78592000-03-22 Kenichi Handa <handa@etl.go.jp>
7860
ff1a0d8e
KH
7861 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P,
7862 FACE_FOR_CHAR): Define them differently for the configuration of
7863 --without-x.
fdaa1f77 7864
d152fb46
DL
78652000-03-21 Dave Love <fx@gnu.org>
7866
7867 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
7868 doc string.
7869
d2cafc8c
GM
78702000-03-21 Gerd Moellmann <gerd@gnu.org>
7871
7872 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
7873 (lface_fully_specified_p): Don't check contents of
7874 LFACE_FONT_INDEX because that attribute is optional.
7875 (realize_x_face): Remove now unwarranted xassert.
7876
9111d4b5
KH
78772000-03-21 Kenichi HANDA <handa@etl.go.jp>
7878
7879 The following changes are to make font selection based on
7880 characters, not charset. In addition, they recover fontset
7881 facilities while utilizing the new font selection mechanism.
7882
6c4bfdc0
KH
7883 * Makefile.in (fontset.o): Depend on dispextern.h.
7884
7885 * alloc.c (mark_face_cache): Don't mark face->registry.
7886
9111d4b5
KH
7887 * dispextern.h (struct glyph): New member glyph_not_available_p.
7888 Use 22 bits for face_id.
7889 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
7890 (struct face): Delete member registry, new member ascii_face.
7891 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
7892 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
7893 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
7894 (struct it): Delete member charset, new member
7895 glyph_not_available_p.
7896
7897 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
7898 (struct fontset_info, struct fontset_data): Structs removed.
7899 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset,
7900 Vglobale_fontset_alist, font_idx_temp): Externs removed.
7901 (fs_load_font, fs_query_fontset): Adjusted for new argument.
7902 (fs_free_face_fontset, fontset_font_pattern,
7903 face_suitable_for_char_p, face_for_char,
7904 make_fontset_for_ascii_face): Extern them.
7905 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
7906 (FS_LOAD_FACE_FONT): New macro.
7907
7908 * fontset.c: All codes rewritten or adjusted for the change of
7909 fontset implementation. Now fontset is represented by char table.
7910 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl): Variables
7911 removed.
7912 (my_strcasecmp): Function removed.
7913 (Vfontset_table, next_fontset_id, Vdefault_fontset): New
7914 variables.
7915 (AREF, ASIZE): New macros.
7916 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME,
7917 FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF,
7918 FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
7919 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset,
7920 fontset_id_valid_p, font_family_registry, fontset_name,
7921 fontset_ascii, free_face_fontset, face_suitable_for_char_p,
7922 face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
7923 New functions.
7924 (fs_load_font): New arg FACE. Caller changed.
7925 (fs_query_fontset): Argument changed. Caller changed.
7926 (Fquery_fontset): call fs_query_fontset.
7927 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
7928 Functions removed.
7929 (clear_fontset_elements, check_registry_encoding,
7930 check_fontset_name): New functions.
7931 (syms_of_fontset): Set char-table-extra-slots property of fontset
7932 to 3. Staticpro and initialize Vfontset_table and
7933 Vdefault_fontset. Defsubr fontset_font and fontset_list.
7934
7935 * frame.h (struct frame): Member `fontset_data' removed.
7936 (FRAME_FONTSET_DATA): Macro removed.
7937
7938 * frame.c (make_frame): Don't allocate f->fontset_data.
7939 (Fdelete_frame): Don't free f->fontset_data.
7940
6c4bfdc0
KH
7941 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
7942
9111d4b5
KH
7943 * xdisp.c (charset_at_position): Function removed.
7944 (init_iterator): Don't set member charset of struct `it'.
7945 (handle_face_prop, reseat_to_string, set_iterator_to_next,
7946 next_element_from_display_vector, insert_left_trunc_glyphs):
7947 Likewise.
7948 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
7949 FACE_FOR_CHARSET.
7950 (get_next_display_element, append_space,
7951 extend_face_to_end_of_line): Likewise.
7952
7953 * xfaces.c (Qx_charset_registry, Vface_default_registry):
7954 Variables removed.
7955 (clear_font_table, frame_update_line_height, load_face_font):
7956 Adjusted for the change of fontset implementation.
7957 (load_face_fontset_font): Function removed.
7958 (pixel_point_size): New function.
7959 (font_list): Argument type changed. Caller changed.
7960 (LFACE_FONT): New macro.
7961 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
7962 (set_lface_from_font_name): Type of arg FONTNAME is changed to
7963 Lisp_Object. Determine the font name by actually loading a font
7964 by the specified pattern. Set LFACE_FONT (lface) to the specified
7965 pattern. Even if a font is not found, don't try alternatives.
7966 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
7967 (set_font_frame_param): If `font' is specified in lface, use it.
7968 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
7969 (lface_same_font_attributes_p): Likewise.
7970 (make_realized_face): Arguent changed. Caller changed. Set
7971 face->ascii_face to face itself.
7972 (free_realized_face): Free face->fontset if face is for ASCII.
7973 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p,
7974 deduce_unibyte_registry, x_charset_registry): Functions removed.
7975 (free_realized_multibyte_face): New function.
7976 (lookup_face, lookup_named_face, lookup_derived_face): Argument
7977 changed. Caller changed.
7978 (try_font_list): Argument type changed.
7979 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
7980 (choose_face_font): Argument changed. Handle fontset properly.
7981 (choose_face_fontset_font): Function removed.
7982 (realize_default_face, realize_named_face): Don't remove the
7983 former face here.
7984 (realize_face): Argument changed. Caller changed. Remove face
7985 with the arg former_face_id in advance. Load font for the new
7986 face.
7987 (realize_x_face): Argument changed. Caller changed. For a
7988 multibyte character, share fontset with base_face. For a single
7989 byte character, make a new realized fontset. Don't load a font
7990 here.
7991 (realize_tty_face): Argument changed. Caller changed.
7992 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
7993 (face_at_buffer_position): Don't check multibyte_p for returning
7994 DEFAULT_FACE_ID.
7995 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
7996 FACE_SUITABLE_FOR_CHARSET_P.
7997 (syms_of_xfaces): Remove code for Qx_charset_registry and
7998 Vface_default_registry.
7999
6c4bfdc0
KH
8000 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
8001 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
8002 (x_per_char_metric): Don't try FONT->default_char. Even if
8003 pcm->width is zero, glyph bits may exist.
8004 (x_encode_char): Always initialize char2b->byte1.
8005 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
8006 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller
8007 changed.
8008 (x_append_glyph): Set glyph->glyph_not_available_p.
8009 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
8010 it->charset. Handle the case that per char metric is not
8011 available. If it->multibyte_p is zero and it->c is a multibyte
8012 character, convert it to a unibyte character.
8013 (struct glyph_string): Delete member `charset'.
8014 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
8015 the case that per char metric is not available correctly.
8016 (x_fill_glyph_string): Handle the case that the specific glyph is
8017 not available correctly.
8018 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
8019 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
8020 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
8021 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
8022 fontset. Don't call FS_LOAD_FONT.
8023
8024 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
8025 (x_create_tip_frame): Likewise.
8026 (Fx_close_connection): Free full_name of font_info.
8027
8028 * fns.c (optimize_sub_char_table): New function.
8029 (Foptimize_char_table): New function.
8030 (syms_of_fns): Defsubr Soptimize_char_table.
8031
b33dd3b0
GM
80322000-03-20 Gerd Moellmann <gerd@gnu.org>
8033
8034 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
8035 only if buffer is displayed in some window.
8036
8037 * xdisp.c (handle_single_display_prop): Initialize local `value'.
8038 (try_window_reusing_current_matrix): Don't call scroll run
8039 function if run's current and desired position are the same;
8040 this prevents cursor flickering.
8041
4e8a9132
SM
80422000-03-19 Stefan Monnier <monnier@cs.yale.edu>
8043
8044 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
8045
8046 * regex.c (RE_STRING_CHAR): New macro.
8047 (GET_CHAR_AFER_2): Remove.
8048 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
8049 (enum re_opcode_t): Remove on_failure_jump_exclusive.
8050 (print_partial_compiled_pattern, re_compile_fastmap)
8051 (re_match_2_internal): Remove on_failure_jump_exclusive.
8052 (regex_compile): Turn optimizable P+ loops into PP*, so that the
8053 optimization only need to work for * (ie. can use of_keep_string_jump).
8054 Remove the special case for .*\n since it is now covered by the general
8055 optimization.
8056 (re_search_2): Don't bother with `room'.
8057 (skip_one_char): New function.
8058 (skip_noops): Simplify since `memory' is not needed any more.
8059 (mutually_exclusive_p): Restructure slightly to use `switch' and
8060 add handling for "all" remaining cases.
8061 (re_match_2_internal): Change on_failure_jump_smart to use
8062 on_failure_keep_string_jump (and redirect the end-of-loop jump)
8063 rather than on_failure_jump_exclusive.
8064
2136fdd4
GM
80652000-03-19 Gerd Moellmann <gerd@gnu.org>
8066
8067 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
8068 number of bits per RGB because it's everywhere used as the depth
8069 of the visual.
8070
8071 * term.c (calculate_costs): Remove code dealing with X frames.
8072
18e21ce8 80732000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
8074
8075 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
8076
d7b511c4
GM
80772000-03-18 Gerd Moellmann <gerd@gnu.org>
8078
8079 * lread.c (read_integer): Unread the last char not consumed.
8080
16b5d424
GM
80812000-03-17 Gerd Moellmann <gerd@gnu.org>
8082
8083 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 8084 which are in the process of being deleted.
16b5d424 8085
1fa28578
GM
80862000-03-16 Gerd Moellmann <gerd@gnu.org>
8087
83488cce
GM
8088 * Makefile.in (mostlyclean): Add `*.core'.
8089 (clean): Add `bootstrap-emacs'.
8090
1fa28578
GM
8091 * lread.c (read_integer): New function.
8092 (read1): Support read syntax #o, #x, #b, #r.
8093
99633e97
SM
80942000-03-15 Stefan Monnier <monnier@cs.yale.edu>
8095
1fa28578
GM
8096 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
8097 make sure POINTER_TO_OFFSET gives the same value before and after
8098 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
8099 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
8100 (debug): Now only active if > 0 rather than if != 0.
8101 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
8102 (print_partial_compiled_pattern): Add missing `succeed' case. Use
8103 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
8104 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
8105 (store_op1, store_op2, insert_op1, insert_op2)
8106 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
8107 (group_in_compile_stack): Move to after its arg's types are
8108 declared and add a prototype.
99633e97 8109 (PATFETCH): Define in terms of PATFETCH_RAW.
1fa28578
GM
8110 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)'
8111 wrapper.
99633e97 8112 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
8113 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
8114 indentation of the greedy-op and shy-group code.
99633e97
SM
8115 (at_(beg|end)line_loc_p): Fix argument's types.
8116 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
8117 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
8118 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
8119 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
8120 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
8121 QUIT unconditionally.
99633e97 8122
699238d9
GM
81232000-03-15 Gerd Moellmann <gerd@gnu.org>
8124
8125 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
8126 a sole completion.
8127
8128 * process.c (send_process): Add a hint that the function
8129 can call Lisp code to its comment.
8130
8131 * lread.c (load_dangerous_libraries): New variable.
8132 (Vbytecomp_version_regexp): New variable.
8133 (safe_to_load_p): New function.
8134 (Fload): Handle files not compiled with Emacs specially.
8135 (syms_of_lread): New Lisp variable load-dangerous-libraries.
8136
34e23e5a
GM
81372000-03-14 Gerd Moellmann <gerd@gnu.org>
8138
9c763cca
GM
8139 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
8140
8141 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
8142 support functions only if HAVE_X11R6_XIM is defined.
8143 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
8144
8145 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
8146
8147 * xfns.c (X_I18N_INHIBITED): Don't define.
8148 (create_frame_xic): Remove conditional compilation on
8149 X_I18N_INHIBITED.
8150 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
8151
8152 * config.in (HAVE_X_I18N): Moved here from xterm.h.
8153 (HAVE_X11R6_XIM): Define.
8154
8155 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
8156
34e23e5a
GM
8157 * xterm.c (x_term_init): Add support for X resource `synchronous'.
8158 If set, call XSynchronize.
8159
66f0296e
SM
81602000-03-13 Stefan Monnier <monnier@cs.yale.edu>
8161
34e23e5a
GM
8162 * regex.c: Declare a new type `re_char' used throughout the code
8163 for the string char type. It's `const unsigned char' to match the
8164 rest of Emacs. Consistently make sure all pointers to strings use
8165 it and make sure all pointers into the pattern use `unsigned
8166 char'.
66f0296e 8167 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
8168 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
8169 code duplication.
66f0296e
SM
8170
8171 * charset.h (GET_CHAR_AFTER_2): Remove.
8172 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
8173
854a025c
KR
81742000-03-12 Ken Raeburn <raeburn@gnu.org>
8175
8176 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
8177 variable before the invocation of YMF_PASS_LDFLAGS, in case both
8178 of them try to use backquotes.
8179
b9d2c7e2
DL
81802000-03-12 Dave Love <fx@gnu.org>
8181
8182 * unexelf.c: Restore changes of 1999-10-19.
8183 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
8184 fix its type and alignment; copy it from current process.
8185
5e5dff44
GM
81862000-03-12 Gerd Moellmann <gerd@gnu.org>
8187
9b2f3c38
GM
8188 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
8189 has been found. Fix bug not computing timer's predecessor.
8190
427ec082 8191 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
8192 file name.
8193
e1cff360
GM
8194 * window.c (Fsave_window_excursion): Doc fix.
8195
5e5dff44
GM
8196 * xfns.c (x_defined_color): Rewritten to use
8197 x_allocate_nearest_color.
8198
e411ce4b
EZ
81992000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
8200
8201 * msdos.c (vga_installed): New function, code moved from
8202 dos_set_window_size.
8203 (Qbar, Qcursor_type, outside_cursor): New variables.
8204 (syms_of_msdos): Intern and staticpro them.
8205 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
8206 shape used outside Emacs when called for the first time.
8207 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
8208 cursor shape used outside Emacs.
8209 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
8210 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
8211 type has changed.
8212 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
8213 parameters specify the cursor. Make qreverse a global
8214 variable (renamed to Qreverse).
8215
80460654
GM
82162000-03-09 Gerd Moellmann <gerd@gnu.org>
8217
8218 * fns.c (Fy_or_n_p): Cancel busy-cursor.
8219
95cd4c40
SM
82202000-03-08 Stefan Monnier <monnier@cs.yale.edu>
8221
8222 This is a big redesign of failure-stack and register handling, prompted
8223 by bugs revealed when trying to add shy-groups. Overall, what happened
8224 is that loops are now structured a little differently, groups can be
8225 shy and the code is a little simpler.
8226
8227 * regex.h: Update the copyright.
8228 (RE_SHY_GROUPS): New value.
8229 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
8230 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
8231
80460654
GM
8232 * regex.c (enum re_opcode_t): Remove jump_past_alt,
8233 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
8234 on_failure_jump_(exclusive, loop and smart). Also fix the comment
8235 for (start|stop)_memory since they now only take one argument (the
8236 second has becomes unnecessary).
8237 (print_partial_compiled_pattern): Adjust for changes in
8238 re_opcode_t.
8239 (print_compiled_pattern): Use %ld to printf long ints and flush to
8240 make debugging a little easier.
95cd4c40
SM
8241 (union fail_stack_elt): Make the integer unsigned.
8242 (struct fail_stack_type): Add a `frame' element.
8243 (INIT_FAIL_STACK): Init `frame' as well.
8244 (POP_PATTERN_OP): New macro for re_compile_fastmap.
8245 (DEBUG_PUSH, DEBUG_POP): Remove.
8246 (NUM_REG_ITEMS): Remove.
8247 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
8248 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
8249 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 8250 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
80460654
GM
8251 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP): New
8252 macros.
8253 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
8254 address pushed is not the destination of the jump but the source
8255 of it instead.
95cd4c40
SM
8256 (NUM_FAILURE_ITEMS): Remove.
8257 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
8258 registers before the actual failure point). Don't hardcode any
8259 meaning for str==NULL anymore.
95cd4c40 8260 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
8261 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
8262 Remove.
95cd4c40
SM
8263 (REG_UNSET_VALUE): Use NULL (why not?).
8264 (compile_range): Remove declaration since it doesn't exist.
8265 (struct compile_stack_elt_t): Remove inner_group_offset.
8266 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
8267 (regex_grow_registers): Remove dead code.
8268 (FIXUP_ALT_JUMP): New macro.
80460654
GM
8269 (regex_compile): Add shy-groups Change loops to use
8270 on_failure_jump_smart&jump instead of
8271 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
8272 initial (dummy_failure_)jump. Remove c1_base (looks like unused
8273 variable to me). Use `jump' instead of `jump_past_alt' and don't
8274 bother with push_dummy_failure in alternatives since it is now
8275 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
8276 emacs' for (re)allocating the stack.
8277 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
8278 from loop when bufp->can_be_null rather than jumping to `done'.
8279 Avoid jumping backwards so as to ensure termination. Use
8280 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
8281 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 8282 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
8283 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
8284 improve mutually_exclusive_p to handle ".+\n".
8285 (lowest_active_reg, highest_active_reg,
8286 NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
8287 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
8288 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
8289 variables. Push register (in `start_memory') on the stack rather
8290 than storing it in old_reg(start|end). Remove the cycle detection
8291 from `stop_memory', replaced by the use of on_failure_jump_loop
8292 for greedy loops. Add code for the new on_failure_jump_<foo>.
8293 Remove ad-hoc code in `on_failure_jump' to push more registers in
8294 the case of a loop. Take out code from `maybe_pop_jump' into
8295 separate functions and adapt it to the semantics of
8296 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
8297 and push_dummy_failure. Remove dummy_failure handling and
8298 handling of `failures to jump to on_failure_jump' (this last one
8299 was already dead code, it seems).
8300 (group_match_null_string_p, alt_match_null_string_p)
8301 (common_op_match_null_string_p): Remove.
95cd4c40 8302
7397acc4
DL
83032000-03-08 Dave Love <fx@gnu.org>
8304
8305 * config.in: Don't depend on __STDC__ for volatile.
8306 Add POINTER_TYPE, PTR, PROTOTYPES.
8307
8308 * hftctl.c, strftime.c: Use PROTOTYPES.
8309 * eval.c (find_handler_clause): Likewise.
8310
8311 * mem-limits.h: Use POINTER_TYPE.
8312
8313 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
8314 (memory_warnings): Declare using POINTER_TYPE.
8315
5e91ff9e
GM
83162000-03-08 Gerd Moellmann <gerd@gnu.org>
8317
feab4fba
GM
8318 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
8319
25edb08f
GM
8320 * xdisp.c (display_echo_area): Temporarily inhibit garbage
8321 collection.
8322
5e91ff9e
GM
8323 * xfns.c: Remove obsolete code in #if 0.
8324 (Fx_focus_frame): New function.
8325
a735b7e1
KH
83262000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
8327
8328 * coding.c (coding_category_name): Add coding-category-utf-8,
8329 coding-category-utf-16-be, coding-category-utf-16-le.
8330 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
8331 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
8332 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
8333 (detect_coding_utf_8): New function.
8334 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
8335 UTF_16_LOW_SURROGATE_P): New macros.
8336 (detect_coding_utf_16): New function
8337 (detect_coding_mask): When priorities are specified, skip any
8338 categories that have `nil' coding-system. Fix bug of returning
8339 wrong mask when PRIORITIES is specified and detect_coding_XXX()
8340 returns a mask not set in PRIORITIES.
8341 (detect_eol_type_in_2_octet_form): New function.
8342 (detect_eol): selects detect_eol_type_XXX to call according to
8343 cooding->category_idx.
8344 (detect_coding_system): Remove `nil' coding-system in the result.
8345 (Fupdate_coding_systems_internal): Update all coding-categories.
8346
8347 * coding.h (CODING_CATEGORY_IDX_UTF_8,
8348 CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE): New
8349 macros.
8350 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY,
8351 CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
8352 CODING_CATEGORY_IDX_UTF_16_LE.
8353 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE,
8354 CODING_CATEGORY_MASK_UTF_16_LE): New macros.
8355 (CODING_CATEGORY_MASK_ANY): Include the above macros.
8356 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
8357
9994cc69
GM
83582000-03-07 Gerd Moellmann <gerd@gnu.org>
8359
e9b4e5ff
GM
8360 * doc.c (Fdocumentation_property): If value is not a string,
8361 and doesn't refer to etc/DOC, evaluate it to obtain a string.
8362
f7daf1e1
GM
8363 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
8364 close the display with XtCloseDisplay. This caused a bus error
8365 on OpenWindows.
8366
9994cc69
GM
8367 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
8368 complete but not unique.
8369
4336c705
GM
83702000-03-06 Gerd Moellmann <gerd@gnu.org>
8371
18bb0684
GM
8372 * process.c (send_process): Remove local variable `procname' that
8373 might become invalid when a GC happens. Instead, access the
8374 process name slot directly.
8375
4336c705
GM
8376 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
8377 orig_height if set.
8378
8379 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
8380 orig_height if set.
8381
515d0d0e
EZ
83822000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
8383
8384 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
8385 glyph matrices have been freed.
8386
100b3cbb
GM
83872000-03-05 Gerd Moellmann <gerd@gnu.org>
8388
50df5e5a 8389 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 8390 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
8391
8392 * xfns.c (QCdata): Moved to xdisp.c.
8393
8394 * xdisp.c (QCdata): Moved here from xfns.c.
8395 (syms_of_xdisp): Initialize QCdata.
8396
8397 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
8398
8399 * window.c (coordinates_in_window): Use
8400 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
8401 FRAME_INTERNAL_BORDER_WIDTH.
8402
100b3cbb 8403 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 8404 it is obviously invalid.
100b3cbb
GM
8405
8406 * xterm.c (x_term_init): Create a colormap if not using the
8407 default visual.
8408
8409 * xterm.h (select_visual): Change prototype.
8410
8411 * xfns.c (select_visual): Rewritten. Recognize user-specified
8412 visual classes.
8413 (visual_classes): New variable.
8414
64d739c4
GM
84152000-03-04 Gerd Moellmann <gerd@gnu.org>
8416
8417 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
8418 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
8419 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
8420 (x_decode_color): Don't handle allocation of white and black
8421 specially.
8422 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
8423 XtNcolormap resources.
8424 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
8425 (Fx_create_frame): Initialize color members of x_output structure.
8426 (xpm_load): Pass colormap to XPM lib.
8427
8428 * xfaces.c (x_free_colors): Access colormap of frame using
8429 FRAME_X_COLORMAP. Be paranoid about freeing black and white
8430 when default colormap is used.
8431
8432 * xterm.c (x_term_init): Set Colormap member of x_display_info
8433 structure. Copy colormap if resource `privateColormap' is
8434 specified (PseudoColor only).
8435 (x_setup_relief_color): Access colormap of frame using
8436 FRAME_X_COLORMAP.
8437
8438 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
8439 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
8440
c3cee013
JR
84412000-03-04 Jason Rumney <jasonr@gnu.org>
8442
8443 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
8444 other non-platform-specific equivalents.
64d739c4 8445 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
8446 specific functions and macros as their w32 equivalents where
8447 non-platform-specifics are not available.
8448 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
8449 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
8450 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
8451 (frame_update_line_height): Use macros to access f->output_data.
8452 (defined_color): Remove FIXME comments; fixed.
8453 (x_face_list_fonts, prepare_face_for_display): Put X specifics
8454 into #ifdef blocks. Add WINDOWSNT blocks.
8455 (Fx_list_fonts): Use macros for accessing font data.
8456 (set_lface_from_font_name): Different default fonts for X and
8457 WINDOWSNT.
8458 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
8459 scalable for backward compatibility.
64d739c4 8460 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
8461 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
8462
64d739c4 8463 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
8464 syms_of_w32faces.
8465
8466 * makefile.nt (w32faces.obj): Remove.
8467 (xfaces.obj): Add.
8468
807cc41c
JR
84692000-03-03 Jason Rumney <jasonr@gnu.org>
8470
8471 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
8472 correct parameters.
8473
0007072a
KR
84742000-03-03 Ken Raeburn <raeburn@gnu.org>
8475
8476 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
8477 standard ELF definitions here if the system header does not.
8478
71a6ba55
GM
84792000-03-03 Gerd Moellmann <gerd@gnu.org>
8480
8481 * xterm.c (PER_CHAR_METRIC): Removed.
8482 (x_per_char_metric_1, x_default_char): New functions.
8483 (x_per_char_metric): If font's default char is invalid, return
8484 metrics of a suitably chosen usable default char.
8485 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
8486 char, replace occurrences of unprintable chars with a suitably
8487 chosen usable default char.
71a6ba55 8488
900fa1f1
GM
84892000-03-02 Gerd Moellmann <gerd@gnu.org>
8490
42f55fe0
GM
8491 * xterm.c (note_mouse_highlight): Return quickly if frame's
8492 glyph matrices have been freed.
8493
8494 * dispnew.c (free_glyphs): Block input while freeing matrices.
8495
900fa1f1
GM
8496 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
8497
8498 * xterm.c (x_alloc_lighter_color, x_setup_relief_color): Use
8499 x_free_colors.
8500
8501 * dispextern.h (x_free_colors): Add prototype.
8502
8503 * xfaces.c (x_free_colors): New function.
8504 (unload_color, free_face_colors): Use it.
8505
2f950292
EZ
85062000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
8507
8508 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
8509
8510 * window.c [MSDOS]: Include msdos.h.
8511
54d04320
DL
85122000-03-02 Dave Love <fx@gnu.org>
8513
8514 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
8515
8516 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
8517 set C_OPTIMIZE_SWITCH for gcc.
8518
0ba93ac4
KH
85192000-03-02 Kenichi Handa <handa@etl.go.jp>
8520
8521 * coding.c (coding_save_composition): Be sure to allocate
8522 composition data area in coding even if there's no composition in
8523 the current run.
8524
a2bc11d4
JR
85252000-03-01 Jason Rumney <jasonr@gnu.org>
8526
8527 * w32term.c: Equivalent changes to those made to xterm.c on
8528 2000-02-25 and 2000-02-24.
8529
8530 * w32fns.c: Equivalent changes to those made to xfns.c on
8531 2000-02-25 and 2000-02-21.
8532
8533 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
8534 correct line-end convention is followed.
8535
8536 * w32menu.c [HAVE_BOXES]: Remove #undef.
8537 (single_keymap_panes): Remove code for simulating checkmarks.
8538 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
8539 Remove code for drawing simulated checkmarks.
8540 (w32_menu_show): make unibyte help string correctly.
8541 (add_menu_item): draw standard Windows checkmarks. Draw radio
8542 buttons as radio buttons if possible.
8543
72d19d75
GM
85442000-03-01 Gerd Moellmann <gerd@gnu.org>
8545
2df636f4
GM
8546 * sysdep.c (start_of_text): Don't define this function for NetBSD
8547 with ELF.
8548
427ec082 8549 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
8550 Don't define.
8551 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
8552 (LINKER): Don't undef if __NetBSD__ is defined.
8553
8554 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
8555
8556 * fileio.c [__NetBSD__]: Define `unix'.
8557
72d19d75
GM
8558 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
8559
ed4d0512
GM
85602000-02-29 Gerd Moellmann <gerd@gnu.org>
8561
50b1039f
GM
8562 * atimer.c (start_atimer): Don't abort when timers are stopped.
8563 (append_atimer_lists): New function.
8564 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
8565 arbitrary lists of stopped and running atimers.
8566
ed4d0512
GM
8567 * atimer.c (cancel_atimer): Handle canceling an atimer when
8568 some timers are stopped.
8569
8570 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
8571 after canceling it.
8572
8573 * fns.c (maybe_resize_hash_table): Handle case of new size
8574 coming out as being the same as old size.
8575
387023ee
JR
85762000-02-27 Jason Rumney <jasonr@gnu.org>
8577
8578 * makefile.nt: Add atimer.h to dependencies.
8579 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
8580 * w32console.c: Only disable window system features for dispextern.h
8581 (initialize_w32_display): Build a display info for the console.
8582 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
8583 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
8584 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
8585 as 2 button mice.
8586 * w32gui.h (struct W32FontStruct): Revert last change after change
8587 to xdisp.c.
8588 * w32menu.c (single_submenu): Set up help string.
8589 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
8590 (w32_dialog_show): Set up help string.
8591 * w32term.c (w32_display_info_for_display): Remove unused function.
8592 (w32_draw_bitmap): Use pre-built bitmaps.
8593 (w32_initialize_display_info): New function to initialize parts of
8594 display info that are common to both GUI and console frames.
8595 (w32_term_init): Use w32_initialize_display_info. Do not set
8596 Vw32_num_mouse_buttons here, as it is not called for console
8597 frames. Build bitmaps for indicating truncated lines etc.
8598 (x_delete_display): Destroy pre-built bitmaps.
8599 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
8600 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
8601
4516715a
DL
86022000-02-27 Dave Love <fx@gnu.org>
8603
8604 * lisp.h: Add a bunch of prototypes.
8605
171ca836
KH
86062000-02-26 Kenichi Handa <handa@etl.go.jp>
8607
8608 * keyboard.c (read_char): Set `usec' correctly.
8609
4013921d
KH
86102000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
8611
8612 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
8613 `lambda', set reg[RRR] to the map index.
8614 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
8615 reg[RRR] to 0. Otherwise, set it to -1.
8616
9244a058
GM
86172000-02-25 Gerd Moellmann <gerd@gnu.org>
8618
2df636f4 8619 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 8620
18e21ce8 86212000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 8622
f43d79c1
GM
8623 * fileio.c (Ffile_symlink_p): If result starts with a `/'
8624 and contains a `:', prepend `/:'.
8625
8626 * window.c (select_window_1): If selected_window is nil,
8627 don't "swap out" the buffer's point.
8628 (Fset_window_configuration): Set selected_window to nil
8629 before calling Fselect_window.
8630 (unshow_buffer): Don't set point in buffer from window's point
8631 if another more recently selected window also shows the buffer.
8632
bed0c171
GM
86332000-02-25 Gerd Moellmann <gerd@gnu.org>
8634
449c3c52
GM
8635 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
8636
f5b58615
GM
8637 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
8638 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
8639 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay): New
8640 variables.
8641 (DEFAULT_BUSY_CURSOR_DELAY): New define.
8642 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
8643 (hide_busy_cursor): New functions.
8644 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
8645
8646 * minibuf.c (read_minibuf): Cancel busy-cursor.
8647
8648 * keyboard.c (command_loop_1): Call start_busy_cursor before
8649 Fcommand_execute and cancel_busy_cursor after it.
8650 (timer_check): Remove busy-cursor code.
8651 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
8652 cursor timer.
8653
8654 * process.c (wait_reading_process_input): Remove busy-cursor code.
8655
8656 * eval.c (Fsignal): Call cancel_busy_cursor instead of
8657 Fx_hide_busy_cursor.
8658
8659 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
8660 Remove prototyoes.
8661 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
8662
8663 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
8664
8665 * xterm.c (XTread_socket): Remove busy-cursor code.
8666
4eb8436f
GM
8667 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
8668 (build_frame_matrix_from_leaf_window): Put code handling
8669 glyph row's not being a slice of a frame row in #if 0.
8670 (sync_window_with_frame_matrix_rows): New function.
8671 (frame_row_to_window): New function.
8672 (mirror_line_dance): Handle copies between windows.
8673
3cb65b0e
GM
8674 * lread.c (Fload): Use `xfree' instead of `free'.
8675 (init_obarray): Use `xmalloc' instead of `malloc'.
8676
bed0c171
GM
8677 * window.c (Fset_window_buffer): Set WINDOW to the window
8678 after decoding.
2add4349
GM
8679 (coordinates_in_window): Take frame's internal border width
8680 into account.
bed0c171 8681
42088c12
GM
86822000-02-24 Gerd Moellmann <gerd@gnu.org>
8683
8684 * xterm.c (x_display_and_set_cursor): Display cursor of
8685 non-selected windows depending on the setting of
8686 cursor_in_non_selected_windows.
8687
8688 * xdisp.c (cursor_in_non_selected_windows): New variable.
8689 (syms_of_xdisp): DEFVAR_BOOL it.
8690
d1e103b2
GM
86912000-02-23 Gerd Moellmann <gerd@gnu.org>
8692
723e779c
GM
8693 * data.c (Fstring_to_number): If number is greater than what
8694 fits into an integer, return a float.
8695
d1e103b2
GM
8696 * eval.c (specbind): Remove references to
8697 keyword_symbols_constant_flag.
8698
8699 * data.c (keyword_symbols_constant_flag): Removed.
8700 (Fmakunbound, set_internal, syms_of_data): Remove references to
8701 keyword_symbols_constant_flag.
8702
8703 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
8704
214f877f
KH
87052000-02-23 Kenichi Handa <handa@etl.go.jp>
8706
8707 * syntax.c (multibyte_syntax_as_symbol): New variable.
8708 (syms_of_syntax): Declare it as a Lisp variable.
8709 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
8710 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
8711 nonzero, treat all multibyte characters as symbol.
42088c12 8712 (init_syntax_once): Give syntax `word' to all multibyte
214f877f
KH
8713 characters.
8714
130adcb7
EZ
87152000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
8716
3cb65b0e 8717 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 8718 a deleted frame.
130adcb7 8719
17cbbf95
GM
87202000-02-21 Gerd Moellmann <gerd@gnu.org>
8721
8722 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
8723
8724 * xfns.c (x_window_to_frame, x_any_window_to_frame)
8725 (x_non_menubar_window_to_frame): Check the busy-cursor window.
8726
beb0bc36
DL
87272000-02-21 Dave Love <fx@gnu.org>
8728
8729 * frame.c (Vmouse_position_function): New variable.
8730 (Fmouse_position): Use it.
8731 (syms_of_frame): Install it.
8732
8733 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
8734
1d92afcd
GM
87352000-02-20 Gerd Moellmann <gerd@gnu.org>
8736
8737 * fileio.c (Finsert_file_contents): Unbind the binding of
8738 standard-output done by temp_output_buffer_setup.
329eed9f
GM
8739
8740 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
8741 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
8742 (specbind, unbind_to): Handle most common case of non-constant
8743 symbol with trivial value specially.
8744
8745 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
8746
18e21ce8 87472000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
8748
8749 * data.c (Fmake_variable_buffer_local): Doc fix.
8750 Init found_for_buffer to 0.
8751 (Fmake_variable_frame_local): If the variable has already
8752 been buffer-local, set the check_frame field.
8753
1d4311c3
EZ
87542000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
8755
8756 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
8757 produced for CODING_MODE_LAST_BLOCK requires.
8758
2dc95ddd
DL
87592000-02-18 Dave Love <fx@gnu.org>
8760
8761 * keyboard.c (echo_keystrokes): Remove declaration.
8762 (Vecho_keystrokes) New variable.
8763 (read_char, record_menu_key, read_key_sequence): Use it to allow
8764 use of float value.
8765 (syms_of_keyboard): Change Vecho_keystrokes declaration.
8766
8767 * lread.c: Undef feature selection macros before defining.
8768
f0930f35
GM
87692000-02-18 Gerd Moellmann <gerd@gnu.org>
8770
8771 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
8772 for symbols other than the symbol in question.
8773
e3d4de90
DL
87742000-02-17 Dave Love <fx@gnu.org>
8775
8776 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
8777
0b378936
GM
87782000-02-17 Gerd Moellmann <gerd@gnu.org>
8779
d621caf7
GM
8780 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
8781
0b378936
GM
8782 * alloc.c (enum mem_type): Compile unconditionally.
8783
3b451f74
EZ
87842000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
8785
8786 * xfaces.c (tty_defined_color): Don't return faulire indication
8787 for unspecified-fg and unspecified-bg pseudo-colors.
8788
10689a01
GM
87892000-02-17 Gerd Moellmann <gerd@gnu.org>
8790
1216f5e4
GM
8791 * alloc.c (mark_object): Don't mark symbol names in pure space.
8792 (gc_sweep): Don't unmark symbol names in pure space.
8793
8794 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
8795 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
8796 [GC_MARK_STACK]: New defines.
427ec082 8797 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
8798 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
8799
8800 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
8801
8802 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
8803 allocate_buffer instead of xmalloc.
8804
8805 * alloc.c (toplevel): Include setjmp.h.
8806 (PURE_POINTER_P): New define.
8807 (enum mem_type) [GC_MARK_STACK]: New enumeration.
8808 (Vdead) [GC_MARK_STACK]: New variable.
8809 (lisp_malloc): Add parameter TYPE, call mem_insert if
8810 GC_MARK_STACK is defined.
8811 (allocate_buffer): New function.
427ec082 8812 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
8813 (free_float) [GC_MARK_STACK]: Set type to Vdead.
8814 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
8815 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
8816 (MEM_NIL) [GC_MARK_STACK]: New define.
8817 (struct mem_node) [GC_MARK_STACK]: New structure.
8818 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
8819 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
8820 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
8821 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
8822 (mark_stack) [GC_MARK_STACK]: New functions.
8823 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
8824 (clear_marks): Removed.
8825 (gc_sweep): Set free conses' car, free floats' type, free
8826 symbols' function to Vdead. Use lisp_free to free buffers.
8827 (init_alloc_once): Initialize Vdead.
8828 (survives_gc_p): Return non-zero for pure objects.
8829
8830 * alloc.c: Add comments throughout the file.
8831
2503c8b1
GM
8832 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
8833 that unblocks alarms.
8834
8389e1e2
GM
8835 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
8836 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
8837 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
8838
10689a01 8839 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 8840
bfc17d18
KH
88412000-02-17 Kenichi Handa <handa@etl.go.jp>
8842
4a09dee0
KH
8843 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
8844 avoid infinite error signaling. Allocate sufficient memory for
8845 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 8846
2b927d02
SM
88472000-02-17 Stefan Monnier <monnier@cs.yale.edu>
8848
8849 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
8850 depends on the previous behavior.
8851
b49cb764
GM
88522000-02-16 Gerd Moellmann <gerd@gnu.org>
8853
8854 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
8855
99e95407
GM
88562000-02-15 Gerd Moellmann <gerd@gnu.org>
8857
8858 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
8859
8860 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 8861 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
8862 write(2).
8863
6ffd3cf7
RS
88642000-02-15 Richard M. Stallman <rms@gnu.org>
8865
8866 * data.c (set_internal): Don't make variable buffer-local
8867 if within a let-binding for the same buffer.
8868 (let_shadows_buffer_binding_p): New function.
8869
8870 * eval.c (specbind): For buffer-local value,
8871 record the current buffer also.
8872 (unbind_to): Cope with that change.
8873
cad53475
GM
88742000-02-15 Gerd Moellmann <gerd@gnu.org>
8875
8876 * window.c (Fsave_window_excursion): Doc fix.
8877
1aa963c8
SM
88782000-02-15 Stefan Monnier <monnier@cs.yale.edu>
8879
8880 * syntax.c (back_comment): Make sure we only consider comment-starters
8881 of the relevant style and return -1 in case of a failure to find the
8882 beginning of the comment.
8883 (Fforward_comment): If back_comment fails, go back to the position just
8884 after the comment-end.
8885 (scan_lists): Add comment describing a very minor bug.
8886
b9b84fd3
SM
88872000-02-14 Stefan Monnier <monnier@cs.yale.edu>
8888
8889 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
8890 `completion-regexp-list' in the docstring.
8891
3a28db80
DL
88922000-02-14 Dave Love <fx@gnu.org>
8893
8894 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
8895
fb4a568d
SM
88962000-02-14 Stefan Monnier <monnier@cs.yale.edu>
8897
8898 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
8899 to Emacs' syntax. Also fix the comment about set/not-set meanings
8900 since Emacs syntax is not the value 0 any more.
8901 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
8902 since it's now part of RE_SYNTAX_EMACS.
8903
1063ebb5
DL
89042000-02-12 Dave Love <fx@gnu.org>
8905
8906 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on
8907 Alpha.
8908
fb07a302
GM
89092000-02-12 Gerd Moellmann <gerd@gnu.org>
8910
8911 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
8912
aaf2320c
DL
89132000-02-12 Dave Love <fx@gnu.org>
8914
8915 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
8916
8917 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
8918 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
8919 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
8920
8921 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
8922
8923 * s/nextstep.h: Don't define HAVE_ALLOCA.
8924
8925 * config.in: Add vfork bits.
8926
eedf8bde
GM
89272000-02-12 Gerd Moellmann <gerd@gnu.org>
8928
8929 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
8930 unwind function to undo the effect of stopping atimers.
8931
8932 * keyboard.c (bind_polling_period): Stop all timers except
8933 poll_timer.
8934
8935 * atimer.c (stopped_atimers): New variable.
8936 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
8937 New functions.
8938
8939 * atimer.h (stop_other_atimers, run_all_atimers)
8940 (unwind_stop_other_atimers): Add function prototypes.
427ec082 8941
eedf8bde
GM
8942 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
8943
8476c2f8
KR
89442000-02-11 Ken Raeburn <raeburn@gnu.org>
8945
8946 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
8947 library may depend on jpeg.
8948 (atimer.o): Depends on atimer.c.
8949
0e85e4a3
KH
89502000-02-11 Kenichi Handa <handa@etl.go.jp>
8951
8952 * insdel.c (del_range_1): Call update_compositions.
8953 (del_range_both): Call update_compositions just once..
8954
97fa0cc8
DL
89552000-02-10 Dave Love <fx@gnu.org>
8956
8957 * xfns.c (create_frame_xic): Fix initialization of automatic
8958 aggregates for pcc.
8959
25566a3c
KH
89602000-02-09 Kenichi Handa <handa@etl.go.jp>
8961
8962 * ccl.c (CCL_MAKE_CHAR): New macro.
8963 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
8964 registers by CCL_MAKE_CHAR before calling translate_char.
8965 <CCL_TranslateCharacterConstTbl> Likewise.
8966
69da54ba
DL
89672000-02-08 Dave Love <fx@gnu.org>
8968
8969 * lread.c (__EXTENSIONS__): Define.
8970
f7136ee8
GM
89712000-02-08 Gerd Moellmann <gerd@gnu.org>
8972
8973 * puresize.h (BASE_PURESIZE): Increase to 650000.
8974
7768790b
EZ
89752000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
8976
8977 * msdos.c (XMenuActivate): Turn off the cursor after displaying
8978 the help message.
8979
38fd211b
EZ
89802000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
8981
8982 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
8983 md, mh, mb, mr, and me to the fake termcap entry.
8984
66e4690f
KR
89852000-02-06 Ken Raeburn <raeburn@gnu.org>
8986
8987 * sound.c (sound_cleanup): Don't call device close routine if the
8988 function pointer is null.
8989
a75dfea0
AI
89902000-02-06 Andrew Innes <andrewi@gnu.org>
8991
8992 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
8993 around image definitions and prototypes.
8994 (gamma_correct) [WINDOWSNT]: New prototype.
8995
8996 * w32term.c (x_make_frame_visible): Replace call to
8997 input_poll_signal with poll_for_input.
8998
8999 * window.c [WINDOWSNT]: Include w32term.h.
9000
9001 * xdisp.c [WINDOWSNT]: Include w32term.h.
9002
9003 * makefile.nt: Add dependencies on w32gui.h.
9004 (OBJ1): Include atimer.obj.
9005 ($(BLD)\atimer.obj): New dependency rule.
9006
9007 * w32.c (sigmask): New function (does nothing).
9008 (sigunblock): Ditto.
9009
9010 * frame.c [WINDOWSNT]: Include w32term.h.
9011
9012 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
9013
9014 * lread.c (syms_of_lread): Fix literal newlines.
9015
9016 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
9017 the string constant limit (2048 bytes) in MSVC.
9018 (main): Ditto.
9019
59ddecde
GM
90202000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
9021
9022 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit
9023 area.
9024 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
9025 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
9026 dispatch the event.
9027
07590973
DL
90282000-02-04 Dave Love <fx@gnu.org>
9029
9030 * fileio.c: Remove some unused vars.
9031 (_GNU_SOURCE): Define (for euidaccess).
9032
9033 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
9034
9035 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
9036 gcpro1, gcpro2.
9037 (read_minibuf): Deal with allow_props correctly.
9038
649351f9
EZ
90392000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
9040
9041 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
9042
66e4690f 90432000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
9044
9045 * search.c (compile_pattern): If a cache entry has a nil regexp,
9046 fill in that entry instead of clobbering a previously cached
9047 string regexp.
9048
66e4690f 90492000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
9050
9051 * puresize.h (BASE_PURESIZE): Increase to 610000.
9052
d240a249
GM
90532000-02-02 Gerd Moellmann <gerd@gnu.org>
9054
9055 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
9056 can GC.
9057
ca91fb26
KH
90582000-02-02 Kenichi Handa <handa@etl.go.jp>
9059
25660570
KH
9060 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
9061 instead of incrementing ic directly.
9062 <CCL_WriteExprConst> Likewise.
9063 <ccl_set_expr>: Set ic to jump_address.
9064
ca91fb26
KH
9065 * fileio.c (e_write): Fix the handling of
9066 CODING_FINISH_INSUFFICIENT_SRC.
9067
2ede9689
DL
90682000-02-01 Dave Love <fx@gnu.org>
9069
9070 * editfns.c (Fpropertize): Doc fix.
9071
9072 * process.c (Fstart_process): Doc fix.
9073
9074 * eval.c: Fix various doc strings not to duplicate information
9075 from help-manyarg-func-alist.
9076
9077 * window.c (Fset_window_margins): Don't make interactive. Doc
9078 fix.
9079
9080 * doc.c (Vhelp_manyarg_func_alist): New variable.
9081 (Fdocumentation): Use it.
9082 (syms_of_doc): Define it.
9083
b6680a0e
GM
90842000-01-31 Gerd Moellmann <gerd@gnu.org>
9085
2cb750ba
GM
9086 * xterm.c (xim_open_dpy): Remove unused local variable.
9087
74e9213b
GM
9088 * emacs.c (USAGE): Use term `display options' instead of `X
9089 options'.
9090
9091 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
9092 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
9093
b6680a0e
GM
9094 * fns.c (sweep_weak_table): New function.
9095 (sweep_weak_hash_tables): Use it. Keep on marking until there
9096 is no more change.
9097
994c5afe
GM
90982000-01-30 Gerd Moellmann <gerd@gnu.org>
9099
9100 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
9101 that XTread_socket does not crash by trying to call XNoOp on a
9102 closed display.
427ec082 9103
f00276e3
JR
91042000-01-30 Jason Rumney <jasonr@gnu.org>
9105
9106 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
9107 Change selected_frame to SELECTED_FRAME ().
9108 (w32_console_mouse_position): Remove #ifndef MULE from around
9109 `insist' parameter.
9110
9111 * makefile.nt: Remove dosfns.obj.
9112
9113 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
9114
9115 * w32fns.c (w32_defined_color): Check for valid frame before
9116 applying gamma correction. Eliminate dependency on frame elsewhere.
9117 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
9118 (w32_to_x_font): Use resx and resy not height_in and width_in.
9119 (x_to_w32_font): Doc fix.
9120 (xlfd_strip_height): New function to strip and return font height.
9121 (w32_font_match): Compare height separately from rest of xlfd
9122 spec, using xlfd_strip_height.
9123
9124 * w32term.c (w32_term_init): Swap resx and height_in, resy and
9125 width_in. Use w32_defined_color in place of defined_color.
9126
9127 * w32faces.c: Merge more of DOS and X specifics in preparation for
9128 merge with xfaces.c.
9129 (defined_color): Remove FIXME comment.
9130 (tty_color_name): Provide w32-specific function.
9131 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
9132
9133 * w32console.c (turn_on_face, turn_off_face): Removed.
9134 (w32_face_attributes): New function.
9135 (Global_variables): Reduce scope where possible.
9136 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
9137 fill attribute.
9138 (hl_mode): Don't modify text attributes.
9139 (write_glyphs): Don't do anything if len <= 0. Use
9140 w32_face_attributes to get attributes for drawing. Write
9141 terminating codes using char_attr_normal.
9142 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
9143 (update_begin, update_end): Likewise.
9144 (vga_stdcolor_name): New function.
9145 (initialize_w32_display): Remove char_attr_reverse and char_attr.
9146 (Fset_screen_color): Remove char_attr_reverse.
9147
b08e8bb2
GM
91482000-01-29 Gerd Moellmann <gerd@gnu.org>
9149
9150 * xfns.c (xic_set_preeditarea): Take window parameter and
9151 window-relative pixel-positions.
9152
9153 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
9154 is its frame's selected window.
9155 (xim_instantiate_callback): Likewise.
9156
9157 * xfns.c (x_create_im): Removed.
9158 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
9159 (supported_xim_styles): Renamed from supported_styles.
9160 (best_xim_style): Renamed from best_style.
9161 (create_frame_xic): Renamed from xic_create_frame.
9162 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 9163
b08e8bb2
GM
91642000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
9165
9166 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
9167 our frames, call XFilterEvent with 2nd parameter `None'.
9168 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
9169 returning XBufferOverflow.
9170 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status
9171 area.
9172 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
9173 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
9174 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
9175 (xim_initialize, xim_close)
9176 [HAVE_X_I18N && HAVE_X11R6]: New functions.
9177 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
9178 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
9179 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
9180
9181 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
9182 and `xim_styles'.
9183 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
9184 `xic_style' and `xic_xfs'.
9185 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
9186 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
9187 (FRAME_XIM): Removed.
9188
9189 * xfns.c (supported_styles): New variable.
9190 (DEFAULT_STYLE, DEFAULT_FONT): New macros
9191 (xic_create_xfontset, best_style, xic_create_frame)
9192 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
9193 (xic_set_xfontset): New functions.
9194
142e109c
DL
91952000-01-28 Dave Love <fx@gnu.org>
9196
9197 * s/irix6-5.h: Revert last change after change to irix5-0.h.
9198
9199 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
9200
b02786f9
GM
92012000-01-28 Gerd Moellmann <gerd@gnu.org>
9202
d060bc9f
GM
9203 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
9204 for *scratch* if it already existed.
9205
b02786f9
GM
9206 * emacs.c (USAGE): New macro.
9207 (main): Use it to display usage information.
9208
2c52d7e4
EZ
92092000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
9210
9211 Support for the menu-help feature:
9212
9213 * msdos.h: Change prototypes of XMenuAddSelection and
9214 XMenuActivate.
9215
9216 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
9217 part of the line to the termscript file.
9218 (IT_clear_to_end): Clear the entire line, not just its beginning.
9219 (menu_help_message, prev_menu_help_message): New variables.
9220 (IT_menu_make_room): Make room for the help_text member.
9221 (IT_menu_display): New argument disp_help; all callers changed.
9222 If disp_help is non-zero, store the help text of the active menu
9223 item in menu_help_message.
9224 (XMenuAddPane): Initialize the help_text member to NULL.
9225 (XMenuAddSelection): New argument help_text. Store it in the
9226 XMenu structure.
9227 (XMenuActivate): New argument help_callback. If the value of
9228 menu_help_message has changed since the last time, display the
9229 menu help message text while waiting for the mouse to move. Clear
9230 the echo area before exiting.
9231 (XMenuDestroy): Free the help_text member.
9232
ffe0bcd1
GM
92332000-01-27 Gerd Moellmann <gerd@gnu.org>
9234
9235 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
9236 XMenuAddSelection. Pass help callback to XMenuActivate.
9237 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
9238
50dbd23f
EZ
92392000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
9240
9241 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
9242 and EMACS_SET_USECS.
9243
f5941bf8
GM
92442000-01-26 Dave Love <fx@gnu.org>
9245
6c67ddee
DL
9246 * editfns.c (Fchar_after, Fchar_before): Doc fix.
9247
f5941bf8
GM
9248 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
9249 an error may be signalled.
9250
9e49c990
GM
92512000-01-26 Gerd Moellmann <gerd@gnu.org>
9252
fc3cb460
GM
9253 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
9254 LD_SWITCH_SYSTEM inherited from irix5-0.h.
9255
9e49c990
GM
9256 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
9257
d0c037d8
GM
92582000-01-25 Gerd Moellmann <gerd@gnu.org>
9259
9260 * charset.c (Fstring): If there is a multibyte char among
9261 the args, always return a multibyte string.
9262
e12489f9
GM
92632000-01-25 Gerd Moellmann <gerd@gnu.org>
9264
9265 * sysdep.c (sys_select): Turn atimers off and on instead of
9266 recording and restoring old alarm handler
9267
9268 * process.c (toplevel): Include atimer.h.
9269 (create_process_1): Rewritten.
9270 (create_process): Use atimers instead of alarm.
9271 (wait_reading_process_input) [hpux]: Turn atimers off instead
9272 of turning off SIGALRM.
9273 (wait_reading_process_input): Turn off atimers instead off
9274 calling stop_polling.
9275
9276 * emacs.c (main): Call init_atimer.
9277
9278 * keyboard.c (toplevel): Include systime.h and atimer.h.
9279 (polling_for_input): Removed because unused.
9280 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
9281 (poll_timer): New variable.
9282 (poll_for_input, poll_for_input_1): New functions.
9283 (start_polling, stop_polling): Rewritten.
9284
9285 * keyboard.h (polling_for_input): Removed.
427ec082 9286
e12489f9
GM
9287 * atimer.h, atimer.c: New files.
9288
9289 * Makefile.in (obj): Add atimer.o.
9290 (atimer.o): New target.
9291
9292 * blockinput.h (pending_atimers): Add extern declaration.
9293 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
9294
9295 * lisp.h (popup_activated_flag): Add extern declaration.
9296
9297 * xmenu.c (popup_activated_flag): Make externally visible.
9298 (popup_activate_callback) [USE_MOTIF]: Increment
9299 popup_activated_flag.
9300 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
9301
9302 * xterm.c (toplevel): Include atimer.h.
9303 (toolkit_scroll_bar_interaction): New variable.
9304 (Fxt_process_timeouts): Removed.
9305 (x_process_timeouts): New function.
9306 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
9307 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
9308 (x_make_frame_visible): Call poll_for_input_1 instead of
9309 input_poll_signal. Don't call alarm.
9310 (x_initialize): Install timer calling x_process_timeouts.
427ec082 9311
1e5279b9
DL
93122000-01-24 Dave Love <fx@gnu.org>
9313
6c67ddee 9314 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
9315 Don't use -cckr -- apparently not now necessary.
9316
edf6aeb8
EZ
93172000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
9318
9319 * msdos.c (IT_menu_display): Truncate long menu lines at the right
9320 screen boundary.
9321
9badad41
JR
93222000-01-23 Jason Rumney <jasonr@gnu.org>
9323
9324 * w32fns.c (w32_defined_color): Apply gamma correction before
9325 trying to map to the palette.
9326 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
9327 to w32_clear_rect.
9328
9329 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
9330 here. Callers changed to always pass real device context.
9331 (w32_draw_bitmap): Likewise.
9332 (w32_get_glyph_overhangs): Likewise.
9333 (w32_draw_box_rect): Make use of s->hdc rather than getting a new
9334 one.
9335 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
9336 pfnSetScrollInfo and SetScrollRange.
9337 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
9338 back into MULE characters after decoding them.
9339 (x_get_glyph_face_and_encoding): Likewise.
9340 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
9341 GetCharABCWidthsW fails, since this is defined on Windows 9x.
9342 (x_produce_glyphs): Calculate per char metrics for a character
9343 that we know exists in default font when font_not_found_p is true.
9344
63bd786b
JR
93452000-01-22 Jason Rumney <jasonr@gnu.org>
9346
9347 * makefile.nt (intervals.obj, composite.obj): New modules.
9348 (composite.h): Added as dependency where appropriate.
9349
9350 * w32gui.h (XGCValue): New struct for emulating X GCs.
9351
9352 * w32term.h (XCharStruct): New struct for emulating X.
9353
9354 * w32console.c (turn_on_face, turn_off_face): New functions.
9355 (change_line_highlight): New prototype for new redisplay.
9356 (write_glyphs): Support multibyte text. Support faces.
9357
9358 * w32faces.c: Complete rewrite for new redisplay based on new
9359 xfaces.c.
9360
9361 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
9362 throughout. struct frame * in place of FRAME_PTR.
9363 Skeleton support for images, toolbars, tooltips from xfns.c.
9364 (Fx_create_frame): Use system default for default scroll bar
9365 width.
9366 (w32_get_arg): Renamed from x_get_arg.
9367 (Fx_file_dialog): New function.
9368 (w32_list_fonts): Check cache before asking system.
9369 (Vw32_enable_synthesized_fonts): New variable.
9370 (Vw32_enable_italics): Obsolete, removed.
9371
9372 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
9373 Use SELECTED_FRAME macro.
9374
9375 * w32menu.c: Add skeleton support for help strings on menus.
9376 (add_menu_item): Native checkbox and radio support added, but not
9377 yet enabled due to bugs.
9378 (push_menu_item): Add parameters type, selection and help.
9379 Callers updated.
9380 Formatting changes to reduce unnecessary diffs with xmenu.c.
9381
9382 * w32select.c (Fw32_set_clipboard_data): Update call to
9383 find_charset_in_str.
9384
9385 * w32term.c: Complete rewrite for new redisplay based on new
9386 xterm.c with necessary sections merged back in from old w32term.c.
9387
6ffd3cf7 93882000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
9389
9390 * data.c (set_internal): Further fix in same criterion.
9391
6ffd3cf7 93922000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
9393
9394 * data.c (set_internal): Fix the criteria for whether
9395 to swap out the old cached binding.
9396
60af03f1
DL
93972000-01-19 Dave Love <fx@gnu.org>
9398
9399 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
9400
f9be074f
KH
94012000-01-18 Kenichi Handa <handa@etl.go.jp>
9402
9403 * regex.c (re_compile_fastmap): While checking a range table for
9404 `charset', skip flag bits for a character class correctly.
9405
52b8dbf9
GM
94062000-01-17 Gerd Moellmann <gerd@gnu.org>
9407
d36100c9
GM
9408 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
9409
52b8dbf9
GM
9410 * xfns.c (x_window): Call lw_create_widget with new parameter
9411 list.
9412
9413 * widget.c (EmacsFrameSetCharSize): Change size of children first
9414 because of problems with main window geometry management under
9415 Lesstif.
9416
9417 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
9418 MENU_ITEMS_ITEM_.*.
9419 (MENU_ITEMS_ITEM_HELP): New enumerator.
9420 (push_menu_item): Add parameter HELP. Record help in menu_items.
9421 (single_menu_item, single_submenu, list_of_items): Call
9422 push_menu_item with new parameter.
9423 (single_submenu): Set help string in widget value.
9424 (menu_highlight_callback): New function.
9425 (set_frame_menubar): Call lw_create_widget with new
9426 parameter list.
9427 (xmenu_show, xdialog_show): Ditto.
9428
3139018f
GM
94292000-01-13 Gerd Moellmann <gerd@gnu.org>
9430
9431 * sound.c (Fplay_sound): Improve doc string.
9432
83c8f461
RS
94332000-01-11 Richard M. Stallman <rms@gnu.org>
9434
9435 * lisp.h (set_internal): Enter the new arg.
9436
9437 * eval.c (specbind): Record buffer-local variables specially,
9438 indicating which buffer's binding was saved.
9439 (unbind_to): Restore buffer-local variables specially
9440 in the proper buffer.
9441
9442 * data.c (set_internal): New arg BUF.
427ec082 9443
83c8f461
RS
9444 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
9445 * data.c (Fset): Pass new arg to set_internal.
9446 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 9447
1fab1775
GM
94482000-01-11 Gerd Moellmann <gerd@gnu.org>
9449
9450 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload,
9451 xprintsym.
9452
83c8f461 94532000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
9454
9455 * minibuf.c (Ftry_completion): Doc fix.
9456
7a85e4df
GM
94572000-01-11 Gerd Moellmann <gerd@gnu.org>
9458
9459 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
9460 vector, too.
9461
a970dae4
AS
94622000-01-11 Andreas Schwab <schwab@suse.de>
9463
9464 * coding.c (code_convert_region): Initialize total_skip.
9465
c65d14ee
DL
94662000-01-08 Dave Love <fx@gnu.org>
9467
9468 * eval.c (Fuser_variable_p): Check customizability too.
9469
834938d2
GM
94702000-01-07 Gerd Moellmann <gerd@gnu.org>
9471
9472 * minibuf.c (Fcompleting_read): Doc fix.
9473
e0303cd6
GM
94742000-01-05 Gerd Moellmann <gerd@gnu.org>
9475
8a26744b
GM
9476 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
9477 -L /usr/local/lib.
9478
e0303cd6
GM
9479 * xfns.c (x_create_im): New function to set IM and IC of a frame.
9480 Check that input style is supported before trying to create an
9481 IC for it.
9482 (x_window): Call x_create_im.
427ec082 9483
2e471eb5
GM
94842000-01-04 Gerd Moellmann <gerd@gnu.org>
9485
560a7bd2
GM
9486 * xfns.c (current_gif_memory_src): New variable.
9487 (gif_load): Record the address of the current memory source
9488 in current_gif_memory_src.
9489 (gif_read_from_memory): Use current_gif_memory_src.
9490
f9ee84a3
GM
9491 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
9492 macros statement form.
9493
d1299cde
GM
9494 * sound.c (struct sound): Renamed from struct sound_file.
9495 (struct sound): Add members `data' and `header_size'.
9496 (enum sound_attr): Add SOUND_DATA.
9497 (current_sound, current_sound_device): Variables renamed from
9498 sound_file and sound_device.
9499 (parse_sound): Parse :data.
9500 (parse_sound): Handle sound data in strings.
9501 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 9502 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
9503 needed header size.
9504 (wav_play, au_play): Play sounds from string data.
9505
2e471eb5
GM
9506 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
9507
9508 * lisp.h: Add prototype for allocate_string_data.
9509
9510 * alloc.c (Fgarbage_collect): Return number of live and free
9511 strings.
9512
9513 * alloc.c (mark_buffer): Remove code in #if 0.
9514 (gc_sweep): Ditto.
9515 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
9516 (strings_consed): New variable.
9517 (allocate_string): Set it.
9518 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
9519 (Fmemory_use_counts): Return strings_consed. Use Flist.
9520
9521 * alloc.c: General cleanup in comments etc. Remove conditional
9522 compilation for `standalone'.
9523
9524 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
9525
9526 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
9527 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
9528 (DONT_COPY_FLAG): Removed.
9529 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
9530 (struct sdata, struct sblock): New
9531 (struct string_block): Rewritten.
9532 (STRINGS_IN_STRING_BLOCK): New macro.
9533 (oldest_sblock, current_sblock, total_strings, total_free_strings)
9534 (large_sblocks, string_blocks, string_free_list): New variables.
9535 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
9536 (init_strings): Rewritten.
9537 (allocate_string, allocate_string_data, compact_small_strings)
9538 (free_large_strings, sweep_strings): New functions.
9539 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
9540 (struct string_block_head, current_string_block)
9541 (first_string_block, large_string_blocks, STRING_FULLSIZE)
9542 (STRING_PAD): Removed.
9543 (make_uninit_multibyte_string, make_pure_string): Rewritten.
9544 (Fgarbage_collect): Don't set mark bit in large strings.
9545 (mark_object): Mark strings differently. Mark symbol names
9546 differently.
9547 (survives_gc_p): Test marked strings differently.
427ec082 9548 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
9549 symbol names.
9550 (compact_strings): Removed.
9551
42608ba8
EZ
95522000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
9553
9554 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
9555 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
9556
e0a09e1a
KH
95572000-01-04 Kenichi Handa <handa@etl.go.jp>
9558
dd9f0750 9559 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 9560 in a non-empty buffer.
dd9f0750 9561
3c0f3b15 9562 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 9563
44cd3ae5
GM
95642000-01-03 Gerd Moellmann <gerd@gnu.org>
9565
9566 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
9567 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
9568
9569 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
9570
c182a70f
EZ
95712000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
9572
9573 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
9574 need to test for MSDOS frames.
9575
24480d5b
EZ
95762000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
9577
9578 * dosfns.c (unspecified_colors): Remove.
9579 (msdos_stdcolor_idx): Use global variables unspecified_fg and
9580 unspecified_bg.
9581 (msdos_stdcolor_name): Return strings for unspecified fore- and
9582 back-ground colors.
9583
9584 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 9585 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
9586 (tty_color_name): Return Lisp strings for unspecified fore- and
9587 back-ground colors.
9588 (Finternal_set_lisp_face_attribute): Remove the special treatment
9589 for Qunspecified_{f,b}g.
9590 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp
9591 string.
9592
047f434a
GM
95932000-01-03 Gerd Moellmann <gerd@gnu.org>
9594
9595 * xdisp.c (reseat_at_next_visible_line_start): Position before
9596 newline only if ending up on a newline.
9597 (next_element_from_ellipsis): Return success. Handle case of
9598 displaying no ellipsis. Fix case of ellipsis defined in display
9599 table.
9600 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
9601 returns 0.
9602
d684c676
EZ
96032000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
9604
9605 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
9606 (Fcolor_supported_p): Renamed from face-color-supported-p.
9607
5fe1d139
EZ
96082000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
9609
9610 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
9611 list of colors renamed to tty-defined-color-alist.
9612 (tty_color_name): Pass the frame to tty-color-by-index.
9613 (realize_tty_face): tty-color-alist is now a function which
9614 accepts the frame as argument.
9615
9616 * term.c (Ftty_display_color_p): Accept an optional argument
9617 FRAME.
9618
816be8b8
EZ
96192000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
9620
9621 * term.c (insert_glyphs): Pass glyph, not &glyph, to
9622 encode_terminal_code.
9623
b635321e
EZ
96242000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
9625
9626 * dispnew.c (mode_line_string): Support termcap frames as well.
9627
9b784e96
GM
96282000-01-01 Gerd Moellmann <gerd@gnu.org>
9629
27189709
GM
9630 * syntax.c (Fforward_word): Undo previous change.
9631
9632 * editfns.c (Fconstrain_to_field): Don't constrain if
9633 inhibit-field-text-motion is non-nil.
9634 (Fline_beginning_position): Undo previous change.
9635 (Fline_end_position): Ditto.
9636
9637 * syntax.c (Fforward_word): Notice field boundaries only if
9638 inhibit-field-text-motion is nil.
9639
9640 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
9641
9642 * editfns.c (Vinhibit_field_text_motion): New variable.
9643 (inhibit-field-text-motion): New DEFVAR_LISP.
9644 (Fline_beginning_position, Fline_end_position): Notice field
9645 boundaries only if inhibit-field-text-motion is nil.
9646
45158a91
GM
9647 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
9648 All calls adjusted.
9649 (x_build_heuristic_mask): Likewise.
9650 (xbm_load_image_from_file): Change error output.
9651 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
9652 (gif_load, gs_load, x_kill_gs_process): Ditto.
9653
9b784e96
GM
9654 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
9655 color indices when accessing raster pixels.
63cec32f
GM
9656 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
9657 one of :file or :data.
9658 (enum pbm_keyword_index): Add PBM_DATA.
9659 (pbm_format): Add :data.
9660 (pbm_image_p): Allow either :file or :data.
9661 (pbm_read_file): New function.
9662 (pbm_scan_number): Rewritten to read from string.
9663 (pbm_load): Support :data.
9b784e96 9664
2cb085db 9665See ChangeLog.8 for earlier changes.
6922b018
KH
9666
9667;; Local Variables:
49b3bd82 9668;; coding: iso-2022-7bit
6922b018 9669;; End: