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