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