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