(comint-mode): Locally set `next-line-add-newlines' to nil.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
d97151cb
SM
12000-10-25 Stefan Monnier <monnier@cs.yale.edu>
2
3 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
4 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
5 (where_is_internal): Renamed from Fwhere_is_internal.
6 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
7 (Fwhere_is_internal): New function wrapping where_is_internal.
8 (where_is_internal_1): Handle the case where we're filling the cache.
9 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
10
d5789b65
MB
112000-10-25 Miles Bader <miles@gnu.org>
12
13 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
14
4ecda532
GM
152000-10-25 Gerd Moellmann <gerd@gnu.org>
16
17 * window.c (pos_fully_visible_p): Removed.
18 (Fpos_visible_in_window_p): Use pos_visible_p to determine
19 if position is visible and/or fully visible.
20
21 * lisp.h (pos_visible_p): Add prototype.
22
23 * xdisp.c (pos_visible_p): New function.
24
68c3a137
KH
252000-10-25 Kenichi Handa <handa@etl.go.jp>
26
27 * process.c (send_process): If OBJECT is t, it means that the data
28 is from C string, but we should encode it. Before calling
29 setup_raw_text_coding_system, be sure to flush out data by the
30 previous coding system.
31
7ae1c032
MB
322000-10-25 Miles Bader <miles@lsi.nec.co.jp>
33
ff4dcd4b
MB
34 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
35 assignment of startpos to prev when startpos == pos.
36
7ae1c032
MB
37 * editfns.c (find_field): Set the field stickiness correctly from
38 overlay fields. Use renamed `text_property_stickiness'.
39 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 40 Only check text properties, not overlays.
7ae1c032
MB
41 * textprop.c (get_char_property_and_overlay): New function.
42 (Fget_char_property): Use it.
43 * intervals.h (get_char_property_and_overlay): Add declaration.
44
49801145
SM
452000-10-25 Stefan Monnier <monnier@cs.yale.edu>
46
47 * keymap.c: Use AREF, ASET and ASIZE macros.
48 (Fmake_sparse_keymap): Docstring fix.
49 (synkey): Remove.
50 (shadow_lookup): Move up.
51 Handle the case where lookup-key returns an integer.
52 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
53 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
54 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
55 Simplify/rewrite the keymap-finding code.
56 Add check for command shadowing, using shadow_lookup.
57
39e776cd
SM
582000-10-24 Stefan Monnier <monnier@cs.yale.edu>
59
60 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
61 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
62 a symbol.
63
2488aba5
AI
642000-10-24 Andrew Innes <andrewi@gnu.org>
65
66 * dired.c (directory_files_internal_unwind): New function.
67 (directory_files_internal): Use it to ensure closedir is called
68 even if expand-file-name or file-attributes throw, eg. because of
69 a user interrupt. Also enable immediate_quit while calling
70 re_search, so that matching can be interrupted as well.
71
1946f901
GM
722000-10-24 Gerd Moellmann <gerd@gnu.org>
73
7ae2f10f
GM
74 * window.c (size_window): Prevent setting window's width or
75 height to a negative value (esp. with XSETFASTINT).
76
5dcab13e
GM
77 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
78 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
79 (protect_malloc_state) [GC_MALLOC_CHECK &&
80 GC_PROTECT_MALLOC_STATE]: New function.
81 (PROTECT_MALLOC_STATE): New macro.
82 (__malloc_initialize, morecore, _malloc_internal)
83 (_free_internal) _realloc_internal): Use it to make _heapinfo
84 read-only outside of gmalloc.
85
63e1b552
GM
86 * keymap.c: Update copyright.
87
1946f901
GM
88 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
89 a symbol.
90
4fa09beb
GM
912000-10-24 Colin Walters <walters@cis.ohio-state.edu>
92
93 * filelock.c (unlock_all_files): Use unlock_file to expand each
94 buffer's file_truename before trying remove its lock file.
95
23afac01
EZ
962000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
97
98 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
99 or CRLF, decode EOLs.
100
04448b95
KH
1012000-10-24 Kenichi Handa <handa@etl.go.jp>
102
103 * window.c (Fdisplay_buffer): Fix doc.
104
3090a5a5
JR
1052000-10-23 Jason Rumney <jasonr@gnu.org>
106
107 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
108 ASCII font of default fontset on Windows.
109
110 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
111 xterm.c comment below).
112
113 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
114
a83fee2c
GM
1152000-10-23 Gerd Moellmann <gerd@gnu.org>
116
117 * xterm.c (x_connection_closed): Reset handling_signal.
118
119 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing
120 null.
121
6ffdb539
MB
1222000-10-23 Miles Bader <miles@gnu.org>
123
124 * window.c (window_scroll_pixel_based, window_scroll_line_based):
125 Pass nil for FULLY argument to Fpos_visible_in_window_p to
126 maintain old behavior.
127 * minibuf.c (Fminibuffer_complete): Likewise.
128
7f1c969b
MB
1292000-10-23 Miles Bader <miles@lsi.nec.co.jp>
130
131 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
132 that when a font can't be exactly centered, it errs up rather than
133 down.
134
23afac01 1352000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd
SZ
136
137 * fns.c (Fbase64_decode_string): The decoded result should be
138 unibyte.
139
1a578e9b
AC
1402000-10-23 Andrew Choi <akochoi@i-cable.com>
141
142 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
143
144 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 145 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
146
147 * emacs.c (main) [macintosh]: Call syms_of_textprop,
148 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
149 syms_of_search, x_term_init, and init_keyboard before calling
150 init_window_once. Also, call syms_of_xmenu.
151
152 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
153 default fontset to Monaco.
154
155 * frame.c [macintosh]: Include macterm.h. Remove declarations of
156 NewMacWindow and DisposeMacWindow.
157 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
158 instead of calling NewMacWindow and setting fields of
159 f->output_data.mac directly. Call init_frame_faces.
160 (Fdelete_frame) [macintosh]: Remove unused code.
161 (Fmodify_frame_parameters) [macintosh]: Call
162 x_set_frame_parameters instead of mac_set_frame_parameters.
163
164 * frame.h [macintosh]: Define menu_bar_lines field in struct
165 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
166
167 * keyboard.c [macintosh]: Include macterm.h.
168 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
169 and menu_bar_activate_event type events as for X and NT.
170 (make_lispy_event) [macintosh]: Construct lisp events of type
171 MENU_BAR_EVENT as for X and NT.
172
173 * sysdep.c [macintosh]: Remove declaration for sys_signal.
174 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
175 (sys_subshell) [macintosh]: Remove definition entirely.
176 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
177 Vwindow_system_version here. Remove initialization of
178 Vx_bitmap_file_path.
179 (read_input_waiting): Correct the number of parameters passed to
180 read_socket_hook.
181 Move all Macintosh functions to mac/mac.c.
182
183 * term.c [macintosh]: Include macterm.h.
184
185 * window.c [macintosh]: Include macterm.h.
186
187 * xdisp.c [macintosh]: Include macterm.h. Declare
188 set_frame_menubar and pending_menu_activation.
189 (echo_area_display) [macintosh]: Do not return if terminal frame
190 is the selected frame.
191 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
192 Allow only the selected frame to set menu bar.
193 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
194 calling FRAME_EXTERNAL_MENU_BAR (f).
195 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
196
197 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
198 and check_x. Declare XCreateGC. Define x_create_gc and
199 x_free_gc. Initialize font_sort_order.
200 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
201 but call x_list_fonts instead of w32_list_fonts.
202 (Finternal_face_x_get_resource) [macintosh]: Do not call
203 display_x_get_resource.
204 (prepare_face_for_display) [macintosh]: Set xgcv.font.
205 (realize_x_face) [macintosh]: Load the font if it is specified in
206 ATTRS.
207 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed
208 to Qt.
209
1ffbabe3
SM
2102000-10-22 Stefan Monnier <monnier@cs.yale.edu>
211
212 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
213 is nil: since we go to the end of submap anyway, we'd end up
214 setting nil to nil.
215 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
216 doesn't obey autoload.
217
bed43f1d
EZ
2182000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
219
1ffbabe3 220 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 221
ea4233a7
JR
2222000-10-21 Jason Rumney <jasonr@gnu.org>
223
224 * w32term.c (w32_cache_char_metrics): Double check that font is
225 really fixed pitch before trusting tmPitchAndFamily.
226
f3d3c491
AI
2272000-10-21 Andrew Innes <andrewi@gnu.org>
228
229 * w32gui.h (w32_char_font_type): Move enum from w32term.c
230
231 * w32term.h: Extern decl for w32_cache_char_metrics.
232
233 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
234
235 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
236 (w32_unload_font): Free per_char array if present.
237
238 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
239 cached information in emulated XFontStruct to handle common cases
240 quickly. Do not allocate XCharStruct for return.
241 (w32_native_per_char_metric): New function.
242 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
243 allocating one.
244 (x_produce_glyphs): Don't get an HDC. Change calls to
245 w32_per_char_metric to match arg change above. Remove calls to
246 free results.
247 (w32_get_glyph_overhangs): Ditto.
248 (w32_cache_char_metrics): New function.
249
250 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
251 ($(BLD)/casefiddle.$(O)): Remove compile command.
252 ($(BLD)/gmalloc.$(O)): Remove compile command.
253 ($(BLD)/dispnew.obj):
254 ($(BLD)/keyboard.obj):
255 ($(BLD)/w32inevt.obj):
256 ($(BLD)/w32bdf.obj):
257 ($(BLD)/alloc.obj):
258 ($(BLD)/buffer.obj):
259 ($(BLD)/editfns.obj):
260 ($(BLD)/emacs.obj):
261 ($(BLD)/fileio.obj):
262 ($(BLD)/fns.obj):
263 ($(BLD)/indent.obj):
264 ($(BLD)/insdel.obj):
265 ($(BLD)/intervals.obj):
266 ($(BLD)/minibuf.obj):
267 ($(BLD)/print.obj):
268 ($(BLD)/scroll.obj):
269 ($(BLD)/sysdep.obj):
270 ($(BLD)/textprop.obj):
271 ($(BLD)/widget.obj):
272 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
273 ($(BLD)/term.obj): Add dependency on dispextern.h.
274
275 * makefile.nt ($(BLD)\dispnew.obj):
276 ($(BLD)\keyboard.obj):
277 ($(BLD)\w32inevt.obj):
278 ($(BLD)\w32bdf.obj):
279 ($(BLD)\alloc.obj):
280 ($(BLD)\buffer.obj):
281 ($(BLD)\editfns.obj):
282 ($(BLD)\emacs.obj):
283 ($(BLD)\fileio.obj):
284 ($(BLD)\fns.obj):
285 ($(BLD)\indent.obj):
286 ($(BLD)\insdel.obj):
287 ($(BLD)\intervals.obj):
288 ($(BLD)\minibuf.obj):
289 ($(BLD)\print.obj):
290 ($(BLD)\scroll.obj):
291 ($(BLD)\sysdep.obj):
292 ($(BLD)\textprop.obj):
293 ($(BLD)\widget.obj):
294 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
295 ($(BLD)\term.obj): Add dependency on dispextern.h
296
18ad4821
EZ
2972000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
298
299 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
300 with an additional argument of Qt.
301
de54681a
MB
3022000-10-21 Miles Bader <miles@gnu.org>
303
304 * window.c (pos_fully_visible_in_window_p): New function.
305 (Fpos_visible_in_window_p): Add FULLY argument.
306 Use pos_fully_visible_in_window_p.
307 (window_scroll_pixel_based, window_scroll_line_based): Update
308 calls to Fpos_visible_in_window_p.
309 * lisp.h (Fpos_visible_in_window_p): Update prototype
310
13c844fb
GM
3112000-10-20 Gerd Moellmann <gerd@gnu.org>
312
313 * alloc.c (toplevel): Conditionalize compilation of mem_*
314 functions differently.
315
d9506268
JR
3162000-10-20 Jason Rumney <jasonr@gnu.org>
317
318 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
319 mem_init where it used to be. mem_z etc not defined otherwise.
320
8094989b
GM
3212000-10-20 Gerd Moellmann <gerd@gnu.org>
322
323 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
324 GC_MALLOC_CHECK.
325 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
326 structure definition and related variabled to the top of the file.
327 Include this code when GC_MALLOC_CHECK is defined.
328 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
329 register/unregister allocated region.
330 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
331 which isn't allocated.
332 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
333 something which is already in use.
334 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
335 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
336 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
337 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
338
339 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
340 _malloc_internal instead of malloc.
341 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
342 of free.
343
ea456eb4
AI
3442000-10-20 Andrew Innes <andrewi@gnu.org>
345
346 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
347 Windows.
348 (my_strftime) <macro>: Don't use macro arg list when redefining as
349 _strftime_copytm.
350 (my_strftime) <function>: Supply 0 as ut argument.
351
e64c3a75
JR
3522000-10-19 Jason Rumney <jasonr@altavista.net>
353
354 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
355 including dispextern.h, as it stops faces from working.
356
357 * w32fns.c (Fx_create_frame): Don't bother calling
358 face-set-after-frame-default since the caller does it for us
359 anyway. Clean up calls to x_get_arg to be consistent with X.
360
361 * w32term.c (x_produce_glyphs): Handle
362 unibyte_display_via_language_environment correctly.
363 (w32_draw_box_rect): Fix the calculation of width and height.
364
365 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
366 as it has stopped working.
367 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
368 menu-bar.
369
17401c97
GM
3702000-10-19 Gerd Moellmann <gerd@gnu.org>
371
372 * eval.c (skip_debugger): Prevent a compiler warning.
373 (Fcondition_case): Likewise.
374 (Fbacktrace_frame): Use a null interactive spec.
375
773272d8
KH
3762000-10-19 Kenichi Handa <handa@etl.go.jp>
377
378 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
379
a42943e9
GM
3802000-10-18 Gerd Moellmann <gerd@gnu.org>
381
e50517d9
GM
382 * strftime.c: Sync with glibc, file version 1.78.
383 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
384 should no longer be used according to ISO 8601.
385
9035a35a
GM
386 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
387 no map for meta_prefix_char, don't try to use it as a keymap.
388 Instead, if T_OK is non-zero, look up a default binding, if any,
389 otherwise, if T_OK is zero, return nil.
390
a42943e9
GM
391 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
392 (x_to_xcolors, png_load): Use x_query_color.
393
394 * xterm.c (x_color_cells, x_query_colors, x_query_color): New
395 functions.
396 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
397 which can be slow.
398 (x_copy_color, x_alloc_lighter_color): Likewise.
399
400 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
401 (x_query_color, x_query_colors): Add prototype.
402
403 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
404 check_string_bytes only if not noninteractive, increase count to 50.
405
00de2987
MB
4062000-10-18 Miles Bader <miles@lsi.nec.co.jp>
407
408 * insdel.c (adjust_markers_for_delete): Handle before-insertion
409 markers correctly.
410
54918e2b
GM
4112000-10-17 Gerd Moellmann <gerd@gnu.org>
412
1f0b3fd2
GM
413 * alloc.c (pure_bytes_used): Renamed from pureptr.
414 (ALIGN): New macro.
415 (pure_alloc): New function.
416 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
417 Use it.
418 (Fpurecopy): Use PURE_POINTER_P.
419
68c5d1db
GM
420 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
421 PT has moved backward.
422
9a038881
GM
423 * xdisp.c (cursor_row_p): Take continued lines into account.
424
361b097f
GM
425 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
426 string's size_byte.
427 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
428 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
429 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
430 string allocated.
431
54918e2b
GM
432 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
433 of selective display off while searching for the next line start.
434
03ed0806
KH
4352000-10-17 Kenichi Handa <handa@etl.go.jp>
436
437 * Makefile.in (term.o): Depend on dispextern.h.
438
7e05cdaf
SM
4392000-10-16 Stefan Monnier <monnier@cs.yale.edu>
440
441 * keymap.c (keymap_memberp): Ensure that nil is not a member.
442
a6801fd1
GM
4432000-10-16 Gerd Moellmann <gerd@gnu.org>
444
483de32b
GM
445 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
446 the iterator at the beginning, so that they can be set later on,
447 for instance in reseat_at_next_visible_line_start, without being
448 overwritten.
449
a6801fd1
GM
450 * xfns.c (pbm_format): Add :foreground and :background keywords.
451 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
483de32b 452 (xbm_load): Recognize foreground and background color
a6801fd1
GM
453 specifications.
454
dbf1fcc1
EZ
4552000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
456
457 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
458
459 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern
460 declaration.
461
462 * msdos.c (IT_set_face): Compare highlighted face with the default
463 face, and invert colors if these faces' colors are identical.
464 (Fmsdos_remember_default_colors): Don't swap foreground and
465 background colors in initial_colors[].
466 (IT_set_frame_parameters): Don't swap frame's foreground and
467 background pixels. If ALIST includes "(reverse . t)", swap
468 foreground-color and background-color properties in frame's
469 param_alist. If the original frame's param_alist doesn't specify
470 the colors, store unspecified-fg and unspecified-bg, reversed if
471 required.
472
473 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
474 the colors are unspecified and reversed, reverse fore- and back-
475 ground in the returned value.
476 (Fframe_parameter): Ditto.
477
b41fe2c3
GM
4782000-10-16 Gerd Moellmann <gerd@gnu.org>
479
3a6b59d9
GM
480 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
481 get_last_unchanged_at_beg_row.
482 (find_first_unchanged_at_end_row): Renamed from
483 get_first_unchanged_at_end_row.
484 (find_first_unchanged_at_end_row): Convert assertions to
485 unconditional tests which abort. When looking for a row in
486 unchanged text, don't go further back than first_text_row.
487
b41fe2c3
GM
488 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
489 Don't add in the last line's height when deciding if the new
490 position is below the scroll margin.
9d1af64f 491
b41fe2c3 4922000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
493
494 * editfns.c (Fconstrain_to_field): Check carefully for field
495 boundaries if either OLD_POS or NEW_POS has a non-nil field
496 property, even if they're the same.
497
c412cb7b
KH
4982000-10-16 Kenichi Handa <handa@etl.go.jp>
499
500 * xterm.c (x_draw_box_rect): Fix the calculation of width and
501 height for XFillRectangle.
502
5586f3eb
SM
5032000-10-15 Stefan Monnier <monnier@cs.yale.edu>
504
505 * syntax.c (Fstring_to_syntax): New function extracted from
506 Fmodify_syntax_entry.
507 (Fmodify_syntax_entry): Use it and document the ! and | fences.
508 (skip_chars, Fforward_comment): Remove unused variables.
509 (syms_of_syntax): Add defsubr for string-to-syntax.
510 (describe_syntax): Add code for comment and string fences.
511
db785038
SM
5122000-10-14 Stefan Monnier <monnier@cs.yale.edu>
513
514 * keymap.c (access_keymap): Add AUTOLOAD parameter.
515 Do the meta->esc mapping. Call get_keyelt before returning.
516 Start scanning from the second element (the first is always `keymap')
517 to make it easier to detect when we reach a parent map.
518 Handle the case of inheriting from a symbol whose function is a map.
519 (Fkeymap_parent): Also handle the `inherit from symbol' case.
520 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
521 (get_keyelt, Flookup_key): Update call to access_keymap.
522 Remove the meta->esc mappings.
523 (define_as_prefix): Delete old disabled code.
524 (menu_item_p): New function.
525 (where_is_internal_1): Skip over the few remaining menu items.
526 * lisp.h (access_keymap): Update prototype.
527 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
528 Update call to access_keymap.
529 (follow_key, read_key_sequence): Update calls to access_keymap.
530 Remove the meta->esc mappings.
531
cafafe0b
GM
5322000-10-13 Gerd Moellmann <gerd@gnu.org>
533
a2e2a7f6
GM
534 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
535 with additional argument.
536
cafafe0b
GM
537 * xdisp.c (cursor_row_p): New function.
538 (try_cursor_movement, display_line): Use it.
539
540 * xdisp.c (append_space): Also save/restore iterator's current
541 character and its length.
542
543 * xdisp.c (init_from_display_pos): Add an assertion.
544 (handle_stop): Don't set iterator's add_overlay_start.
545 (handle_invisible_prop): Likewise.
546 (load_overlay_strings): If text under an overlay is invisible,
547 take both before- and after-strings into account when the iterator
548 is positioned either at the start or at the end of the overlay.
549 (forward_to_next_line_start): Rewritten.
550 (reseat_at_next_visible_line_start): Rewritten.
551 (set_iterator_to_next): Add parameter RESEAT_P.
552
553 * dispextern.h (struct it): Remove member add_overlay_start.
554 (set_iterator_to_next): Change prototype.
555
c744452b
KH
5562000-10-13 Kenichi Handa <handa@etl.go.jp>
557
558 * coding.c (code_convert_region): Be sure to initialize
559 coding->category_idx.
e4a3f4e1
KH
560 (decode_coding_string): Set coding->src_multibyte and
561 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
562 (encode_coding_string): Set coding->src_multibyte and
563 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 564
321fd26f
SM
5652000-10-12 Stefan Monnier <monnier@cs.yale.edu>
566
567 * xfns.c (Fx_create_frame): Don't bother calling
568 face-set-after-frame-default since the caller does it for us anyway.
569
76832439
EZ
5702000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
571
572 * window.c (coordinates_in_window): Fix detection of vertical line
573 on character terminals.
574
2483cf58
GM
5752000-10-12 Gerd Moellmann <gerd@gnu.org>
576
577 * editfns.c (save_excursion_save): Additionally record the
578 selected window.
579 (save_excursion_restore): If buffer was visible in a window, and a
580 different window was selected, and the old selected window is
581 still live, restore point in that window.
582
eb991b25
KH
5832000-10-12 Kenichi Handa <handa@etl.go.jp>
584
8a0eba09
KH
585 * xterm.c (x_produce_glyphs): Handle
586 unibyte_display_via_language_environment correctly.
587
20401fcc
KH
588 * regex.c (regex_compile): Change the way of handling a range from
589 unibyte char to multibyte char.
590
591 * syntax.c (skip_chars): Change the way of handling a range from
592 unibyte char to multibyte char.
593
eb991b25
KH
594 * process.c (read_process_output): Cancel previous change.
595
365dd325
EZ
5962000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
597
c1b096cb
EZ
598 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
599
365dd325
EZ
600 * charset.c (Ffind_charset_string): Doc fix.
601 (Ffind_charset_region): Doc fix.
602
eb483c2b
KH
6032000-10-11 Kenichi Handa <handa@mule.m17n.org>
604
605 * process.c (read_process_output): Fix previous change. Adjust
606 multibyteness of text to insert in a buffer by
df3c11b9 607 string_make_unibyte/multibyte instead of
eb483c2b
KH
608 Fstring_as_unibyte/multibyte.
609
b40bfb99
AS
6102000-10-10 Andreas Schwab <schwab@suse.de>
611
612 * alloc.c (mark_object): Remove all workarounds installed on
613 1993-08-08.
614
caff31d4
KH
6152000-10-10 Kenichi Handa <handa@etl.go.jp>
616
617 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before
618 returning.
619 (base64_encode_1): Make it work for a text of multibyte form.
620 (Fbase64_decode_region): Allocate sufficient memory for multibyte
621 case. Don't call str_to_multibyte because base64_decode_1
622 produces correct multibyte form for eight-bit codes.
623 (Fbase64_decode_string): Adjusted for the change of
624 base64_decode_1.
625 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
626 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
627 codes.
628
629 * charset.h (CHAR_STRING): Optimized for single byte characters.
630
cba026ef
AS
6312000-10-09 Andreas Schwab <schwab@suse.de>
632
633 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
634 -1 after socket is closed, to fall through to error processing.
635
1e21fe48
EZ
6362000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
637
638 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 639 variables. If ALIST includes foreground-color or
1e21fe48
EZ
640 background-color, change also the colors of the default face for
641 this frame.
642
a640322e
EZ
6432000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
644
645 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
646 them extern (they are defined on xfaces.c).
647 (syms_of_msdos): Don't intern and don't staticpro
648 Qbackground_color and Qforeground_color.
649
a115794c
EZ
6502000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
651
652 * frame.c (Fframe_parameter): For non-windowed frames, if
653 f->param_alist says foreground or background color is unspecified,
654 call tty_color_name to return the color name computed from the
655 frame's current colors.
656
f5533b63
DL
6572000-10-06 Dave Love <fx@gnu.org>
658
659 * terminfo.c (ospeed): Don't declare.
660
661 * sysdep.c: Don't include string.h.
662 (h_errno): Declare conditional also on TRY_AGAIN.
663
664 * charset.c (Ffind_charset_string): Doc fix.
665
666 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
667 (Fbase64_decode_region, Fbase64_decode_string): More explicit
668 error messages.
669
2b06561a
DL
6702000-10-05 Dave Love <fx@gnu.org>
671
672 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
673 position like menu-bar.
674
ca839c85
GM
6752000-10-05 Gerd Moellmann <gerd@gnu.org>
676
677 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
678
679 * xdisp.c (handle_single_display_prop): Use safe_call1.
680 (safe_call): Renamed from call_function.
681 (safe_call1): New function.
682 (handle_fontified_prop): Use safe_call1 instead of call1.
683 (safe_eval): Renamed from eval_form.
684 (safe_eval_handler): Renamed from eval_handler.
685 (handle_single_display_prop, display_mode_element): Use safe_eval
686 instead of eval_form.
687
688 * xfaces.c (merge_face_heights): Use safe_call instead of
689 call_function.
690
691 * keyboard.c (show_help_echo): Use safe_call instead of
692 call_function; use safe_eval instead of eval_form.
693
694 * lisp.h (safe_call): Renamed from call_function.
695 (safe_eval): Renamed from eval_form.
696 (safe_call1): Add prototype.
697
a3489ece
MB
6982000-10-05 Miles Bader <miles@lsi.nec.co.jp>
699
700 * xfns.c (image_ascent): Rearrange ascent calculation for the
701 has-a-font case.
702
35810b6f
SM
7032000-10-04 Stefan Monnier <monnier@cs.yale.edu>
704
705 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
706 (where_is_internal_1): Don't bother ignoring menu-items any more.
707
3dc78168
GM
7082000-10-04 Gerd Moellmann <gerd@gnu.org>
709
710 * keyboard.c (update_menu_bindings): New variable.
711 (parse_menu_item): Use AREF. If update_menu_bindings
712 is 0, don't update menu bindings.
713 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
714
1efc2bb9
EZ
7152000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
716
717 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
718 to `mark_object'.
719
3f679f55
SM
7202000-10-02 Stefan Monnier <monnier@cs.yale.edu>
721
722 * syntax.c (forw_comment): Match nestedness of ender/starter.
723 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
724 (prev_char_comstart_first): Remove.
725 (back_comment): Check two-char comment markers more carefully
726 to better handle overlapping cases like *//* or /* */* */ ...
727 Match nestedness of ender/starter.
728
2021ab61
DL
7292000-10-02 Dave Love <fx@gnu.org>
730
731 * config.in (HAVE_GAI_STRERROR): Add undef.
732
733 * process.c (Fopen_network_stream): Use it.
734
735 * m/alpha.h (NO_REMAP): Don't define.
736
64e6cc18
GM
7372000-10-02 Gerd Moellmann <gerd@gnu.org>
738
739 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
740 return with a string converted to an integer or vice versa when
741 Vmocklisp_arguments is t.
742 (Fsignal): Likewise. The function can return for `quit'.
743 (struct gcpro): Declare member `var' to point to a volatile
744 Lisp_Object.
745
746 * eval.c (error): Prevent compiler warning.
747
b1904cd9
SM
7482000-09-30 Stefan Monnier <monnier@cs.yale.edu>
749
750 * keymap.c (keymap_memberp): New function.
751 (Fset_keymap_parent): Use it.
752 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
753 Use keymap_memberp to avoid creating cycles.
754 (access_keymap): Use KEYMAPP.
755
71c9ec51
GM
7562000-09-30 Gerd Moellmann <gerd@gnu.org>
757
758 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
759 gai_strerror. Make sure xerrno is set if connect fails. Improve
760 error recovery.
71c9ec51 761
c70c6b58
JR
7622000-09-29 Jason Rumney <jasonr@gnu.org>
763
764 * w32term.c (w32_char_font_type, w32_encode_char)
765 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
766 (w32_bdf_per_char_metric): New function.
767 (w32_per_char_metric): Use it.
768 (x_draw_glyph_string_background): Always draw background for BDF
769 glyphs.
770
771 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
772 GDI object which is a scarce resource.
773
774 * w32bdf.c (search_file_line): Fix skipping of whitespace.
775 (get_quoted_string): Fix limit on memchr search.
776 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
777 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
778 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
779 (get_cached_font_char, cache_char_offset): Use macro
780 BDF_CODEPOINT_RANGE_COVER_P.
781 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
782 (clear_cached_bitmap_slots): New function.
783 (GET_HEX_VALUE): G-Z, g-z are not hex.
784 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
785 (get_bitmap_with_cache): Use new cache implementation.
786 (create_offscreen_bitmap): New function.
787 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
788
789 * w32term.c (x_produce_glyphs): If the distance from the current
790 position to the next tab stop is less than a canonical character
791 width, use the tab stop after that.
792 (x_draw_glyphs): Handle case START and END are out of bounds more
793 carefully.
794 (x_clear_mouse_face): Block/unblock input.
795 (x_display_and_set_cursor): Don't show a hollow box cursor for
796 buffers whose cursor_type is nil.
797
fe01239f
GM
7982000-09-29 Gerd Moellmann <gerd@gnu.org>
799
800 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar
801 disappears.
802
803 * dispextern.h (updating_frame): Declare extern.
804
e7c52f1f
AS
8052000-09-29 Andreas Schwab <schwab@suse.de>
806
807 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
808
de6e1f7c
GM
8092000-09-29 Gerd Moellmann <gerd@gnu.org>
810
25126faa
GM
811 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
812 use its function definition.
813 (tool_bar_items): Likewise.
814
de6e1f7c
GM
815 * lisp.h (fatal): Declare NO_RETURN.
816
454ee39b
KH
8172000-09-29 Kenichi Handa <handa@etl.go.jp>
818
819 * keymap.c: Remove the line "#undef NULL".
820
96301c5f
GM
8212000-09-28 Gerd Moellmann <gerd@gnu.org>
822
823 * xterm.c (x_make_frame_visible): Try harder to make the frame
824 visible.
825
efffeeb4
DL
8262000-09-28 Dave Love <fx@gnu.org>
827
ecb8b666
DL
828 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
829
dc3cd20f
DL
830 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
831
832 * .gdbinit (xreload): Note its need on GNU/Linux.
833
efffeeb4
DL
834 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
835 r_alloc, r_alloc_free.
836
8610d903
KH
8372000-09-28 Kenichi Handa <handa@etl.go.jp>
838
839 * syntax.c (skip_chars): Handle negation correctly.
840
8901d1ac
GM
8412000-09-27 Gerd Moellmann <gerd@gnu.org>
842
6f22f1ad
GM
843 * xfaces.c (realize_default_face): Call set_lface_from_font_name
844 with non-zero FORCE_P argument.
845
8901d1ac
GM
846 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
847 Add assertions.
848
849 * xdisp.c (window_box_height): Add an assertion.
850
851 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
852 tool-bar than is available.
853 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
854
36f1966f
DL
8552000-09-27 Dave Love <fx@gnu.org>
856
efffeeb4 857 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 858
31d929e5
GM
8592000-09-26 Gerd Moellmann <gerd@gnu.org>
860
c98863bf
GM
861 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
862 instead of BITS_PER_INT.
863 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
864 EMACS_UINT, respectively.
865 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
866
867 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
868
869 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
870
77072ab1
GM
871 * window.c (freeze_window_starts): Construct last argument for
872 foreach_window differently.
873
874 * xfns.c (x_decode_color): Don't return a Lisp_Object.
875
876 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
877 EMACS_UINT instead of `int' and `unsigned int'.
878 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
879
880 * frame.h (struct frame): Make the `nothing' member of union
881 output_data an EMACS_INT.
882
31d929e5
GM
883 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug
884 hunting.
885 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
886 size in the sdata structure.
887 (SDATA_NBYTES, SDATA_DATA): New macros.
888 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
889 differently for the different layout of the sdata structure.
890 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
891 in sdata.
892 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
893 Check that size recorded in the string size and size recorded in
894 the sdata structure agree.
895
3e60b029
DL
8962000-09-25 Dave Love <fx@gnu.org>
897
898 * buffer.c: Include stdio.h.
899
900 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
901
902 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
903
904 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
905 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as
906 size_t.
907 (__malloc_extra_blocks): Declare as __malloc_size_t.
908
8ff16b4e
GM
9092000-09-25 Gerd Moellmann <gerd@gnu.org>
910
755a2ccd
GM
911 * alloc.c (mark_image): Use GC_NILP instead of NILP.
912
d8b4516f
GM
913 * keyboard.c (show_help_echo): Set help_echo_showing_p.
914 (read_char): If help-echo is showing, preserve the echo area
915 when redisplaying.
916
917 * xdisp.c (help_echo_showing_p): New variable.
918 (set_message): Reset it to 0.
919 (init_xdisp): Initialize help_echo_showing_p.
920
921 * dispextern.h (help_echo_showing_p): Declare extern.
922
923 * config.in: Fix typo in __GNUC_MINOR__.
924
925 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
926
b11af2dd
GM
927 * s/freebsd.h (POSIX_SIGNALS): Define.
928
8ff16b4e
GM
929 * xterm.c (x_clear_mouse_face): Block/unblock input.
930
844eb643
DL
9312000-09-24 Dave Love <fx@gnu.org>
932
933 * fns.c (base64_encode_1): Fix last change.
934
b30ab1b3
GM
9352000-09-22 Gerd Moellmann <gerd@gnu.org>
936
937 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
938
939 * xdisp.c (try_window_reusing_current_matrix): More fixes
940 for the case window has a header-line.
941
c6cbe5f0
DL
9422000-09-22 Dave Love <fx@gnu.org>
943
4c7c1f3f
DL
944 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
945 a doc string.
946
947 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
948
c6cbe5f0
DL
949 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
950
550a625e
GM
9512000-09-21 Gerd Moellmann <gerd@gnu.org>
952
4c7c1f3f 953 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
954 for GCC >= 2.5.
955
956 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error): Declare
957 NO_RETURN.
958
80d26f99
GM
959 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
960 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
961 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
962 warnings.
963
964 * marker.c (byte_char_debug_check): Return void.
965
623a0aae
GM
966 * xfns.c (Fx_create_frame): Set default frame parameter value
967 for tool-bar-lines to 1.
968
969 * dispnew.c (scrolling_window): Compare y-positions of rows
970 equal at the start. Some simplification.
971
972 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
973 reused rows' y-position in the case window has a header-line, and
974 new window start is greater than old window start.
975
42ac0ae5
GM
976 * process.c (process_sent_to): New variable.
977 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
978 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
979 Declare more parameters volatile.
980
550a625e
GM
981 * lread.c (Vrecursive_load_depth_limit): New variable.
982 (Fload): Check recursive loads whose recursion depth exceeds
983 Vrecursive_load_depth_limit.
984 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
985
8320414c
GM
9862000-09-20 Gerd Moellmann <gerd@gnu.org>
987
f46c275e
GM
988 * fileio.c (Fread_file_name): Doc fix.
989
990 * editfns.c (Fmessage_or_box): Doc fix.
991
992 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
993
b7e11c5b
GM
994 * xfns.c (xbm_scan): Allow C-style comments.
995
8320414c
GM
996 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
997 symbols are specified, add color translations to the cache.
998 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New
999 functions.
1000 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
1001 xpm_cache_color.
1002 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
1003 structures to xpm_init_color_cache.
1004
da1608d9
GM
10052000-09-19 Gerd Moellmann <gerd@gnu.org>
1006
1007 * dispnew.c (update_window_line): Make sure to always draw
1008 mode-lines.
1009
6badfa25
AI
10102000-09-19 Andrew Innes <andrewi@gnu.org>
1011
1012 * makefile.nt (bootstrap-emacs): Don't change directory.
1013
3a5f42bb
KH
10142000-09-19 Kenichi Handa <handa@etl.go.jp>
1015
1b7649bd
KH
1016 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
1017
3a5f42bb
KH
1018 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
1019 If output buffer is too small, signal an appropriated error.
1020
9f83cf0b
DL
10212000-09-18 Dave Love <fx@gnu.org>
1022
1023 * keyboard.c (menu_bar_items, tool_bar_items)
1024 (current_active_maps): Remove redundant get_local_map call.
1025
28c7826c
GM
10262000-09-18 Gerd Moellmann <gerd@gnu.org>
1027
5cefa566
GM
1028 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
1029 cursor for buffers whose cursor_type is nil.
1030
6fed3546
GM
1031 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
1032 a feature to implement that is already implemented.
1033 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
1034 warnings.
1035
1036 * xfns.c (x_clear_image_1): New function.
1037 (x_clear_image): Use it.
1038 (x_from_xcolors): Use x_clear_image_1; don't free the image's
1039 mask.
1040
05b1f851
GM
1041 * dispnew.c (update_window): Move test for invisible lines
1042 at the top to update_window_line.
1043 (update_window_line): Handle invisible lines here.
1044
f4779de9
GM
1045 * xfns.c (clear_image_cache): Clear current matrices of all
1046 frames sharing an image cache. Block input while freeing
1047 images. Fix timestamp comparison.
1048 (x_clear_image): Also free the mask.
1049
28c7826c
GM
1050 * xfns.c (lookup_image): Block input while loading the image so
1051 that we won't get interrupted in a state where the image isn't yet
1052 set up completely.
1053 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
1054 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
1055 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
1056 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock
1057 input.
1058
b7412313
GM
10592000-09-16 Gerd Moellmann <gerd@gnu.org>
1060
1061 * dispnew.c (update_window): Make sure to make desired rows
1062 current even if they are completely invisible at the top
1063 of a window.
1064
47e351a3
GM
10652000-09-15 Gerd Moellmann <gerd@gnu.org>
1066
7f8f1edc
GM
1067 * xfns.c (lookup_image): Build mask before applying an algorithm.
1068 Recognize algorithm `disabled'.
1069 (cross_disabled_images): New variable.
1070 (COLOR_INTENSITY): New macro.
1071 (x_detect_edges): Use COLOR_INTENSITY.
1072 (x_disable_image): New function.
1073 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
1074
1075 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
1076 disabled state, don't apply an image transformation algorithm if
1077 the user specified an image for the disabled state. Use
28c7826c 1078 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
1079 user hasn't specified an image.
1080
ebb8f116
GM
1081 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
1082 allocation functions with the XPM lib.
1083 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
1084 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
1085 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
1086 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
1087 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New
1088 functions.
1089 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
1090 functions, if possible, because these handle color allocation
1091 failure more gracefully.
1092 (Fimage_mask_p): New function.
1093
47e351a3
GM
1094 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
1095 (Qedge_detection, Qheuristic): New symbols.
1096 (syms_of_xfns): Initialize new symbols.
1097 (lookup_image): Handle `:mask X', `:algorithm emboss', and
1098 `algorithm (edge-detection ...)'.
1099 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
1100 (tiff_format, gif_format, gs_format): Add `:mask'.
1101 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
1102 (GIF_MASK, GS_MASK): New enumerators.
1103 (x_laplace_read_row, x_laplace_write_row): Functions removed.
1104 (emboss_matrix, laplace_matrix): New variables.
1105 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
1106 (x_edge_detection): New functions.
1107 (x_laplace): Rewritten in terms of x_detect_edges.
1108 (x_build_heuristic_mask): If image has a mask, free it.
1109
fe83b953
AI
11102000-09-14 Andrew Innes <andrewi@gnu.org>
1111
1112 * makefile.w32-in: Revert to Unix line endings.
1113
3021e816
AI
11142000-09-14 Andrew Innes <andrewi@gnu.org>
1115
1116 * makefile.w32-in: Standardize indentation somewhat.
1117 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
1118 cater for differences between shells.
1119
1120 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
1121
2a32b5ea
GM
11222000-09-14 Gerd Moellmann <gerd@gnu.org>
1123
1124 * xterm.c (x_produce_glyphs): If the distance from the current
1125 position to the next tab stop is less than a canonical character
1126 width, use the tab stop after that.
1127
b4331e96
DL
11282000-09-14 Dave Love <fx@gnu.org>
1129
1130 * buffer.c (alloc_buffer_text): Fix xmalloc call.
1131
ef9e4345
GM
11322000-09-14 Gerd Moellmann <gerd@gnu.org>
1133
085536c2
GM
1134 * xdisp.c (handle_fontified_prop): While running fontification
1135 functions, bind `fontification-functions' and
1136 `after-change-functions' to nil.
1137
ef9e4345
GM
1138 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
1139 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
1140
1141 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
1142
1143 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
1144 USE_MMAP_FOR_BUFFERS.
1145
1146 * insdel.c (make_gap): Use enlarge_buffer_text.
1147
1148 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
1149 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
1150 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
1151 from former r_alloc_* functions in ralloc.c.
1152 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New
1153 variables.
1154 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
1155 (mmap_init) [REL_ALLOC_MMAP]: New function.
1156 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
1157 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
1158 BUFFER_FREE.
1159
1160 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
1161 (enlarge_buffer_text): Add prototype.
1162
1163 * ralloc.c: Remove everything having to do with the use of mmap.
1164
f8608968
GM
11652000-09-13 Gerd Moellmann <gerd@gnu.org>
1166
2a494b2d
GM
1167 * sound.c (Fplay_sound): Doc fix.
1168
8c907a56
GM
1169 * keyboard.c: Avoid some more compiler warnings.
1170 (parse_tool_bar_item): Ignore cached key bindings.
1171
f8608968
GM
1172 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
1173 and allocation of Lisp data.
1174
6ab70e9a
GM
11752000-09-12 Gerd Moellmann <gerd@gnu.org>
1176
d12d0a9b
GM
1177 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
1178 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
1179 defaults first.
1180
6ab70e9a
GM
1181 * lread.c (Fload): Put code checking for recursive loads in #if 0.
1182
63c36c3c
KH
11832000-09-12 Miyashita Hisashi <himi@meadowy.org>
1184
1185 * ccl.c: Comment fixed.
1186 (MAX_MAP_SET_LEVEL): Increased to 30.
1187 (PUSH_MAPPING_STACK): Enclose with do-while block.
1188 (POP_MAPPING_STACK): Likewise.
1189 (stack_idx_of_map_multiple): New variable.
1190 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
1191 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
1192 call the corresponding CCL program by
1193 CCL_CALL_FOR_MAP_INSTRUCTION.
1194 (ccl_driver) <CCL_MapSingle>: Likewise.
1195 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
1196 with the case where looking up process reaches to the end of
1197 map-set, and call CCL programs as the above change.
1198
7ee3bd7b
GM
11992000-09-11 Gerd Moellmann <gerd@gnu.org>
1200
8ec8a5ec
GM
1201 * xfns.c (png_load, jpeg_load): Declare some variables volatile
1202 that might be clobbered by longjmp.
1203 (check_x_display_info, x_decode_color, create_frame_xic)
1204 (Fx_display_backing_store, Fx_display_visual_class)
1205 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler
1206 warnings.
1207
f74b0705
GM
1208 * lread.c (init_lread): Set Vloads_in_progress to nil.
1209 (Fload): Show list of recursively loaded files, when signaling an
1210 error.
1211
7ee3bd7b
GM
1212 * lread.c (Vloads_in_progress): New variable.
1213 (record_load_unwind): New function.
1214 (Fload): Check for recursive loads.
1215 (syms_of_lread): Initialize Vloads_in_progress.
1216 (read_integer, read1): Avoid some compiler warnings.
1217
1218 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
1219 compiler warnings.
1220
974e1e5b
MB
12212000-09-11 Miles Bader <miles@gnu.org>
1222
1223 * editfns.c (Fbuffer_string): Doc fix.
1224
9824c4e3
GM
12252000-09-10 Gerd Moellmann <gerd@gnu.org>
1226
1227 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
1228
6a72fdd1
KR
12292000-09-09 Ken Raeburn <raeburn@gnu.org>
1230
1231 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
1232 whether to include other header files.
1233
28e6fb66
GM
12342000-09-09 Gerd Moellmann <gerd@gnu.org>
1235
1236 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 1237 by Fmemq as a boolean.
28e6fb66 1238
7f8b6551
SM
12392000-09-08 Stefan Monnier <monnier@cs.yale.edu>
1240
1241 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
1242
a8710abf
GM
12432000-09-08 Gerd Moellmann <gerd@gnu.org>
1244
d1a02881
GM
1245 * ralloc.c (mmap_fd): Remove initializer which can make it
1246 read-only in a dumped Emacs.
1247 (mmap_fd_1): New variable.
1248 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
1249 restore it from there.
1250 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
1251 unconditionally so that mmap_fd can be initialized there.
1252 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
1253 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
1254 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
1255
c454aac1
GM
1256 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
1257
1258 * xdisp.c (dump_glyph_row): Fix printf format string.
1259 (display_line, move_it_in_display_line_to): Avoid compiler
1260 warnings.
1261
fc653ef2
GM
1262 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
1263
3015eec0
GM
1264 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
1265 inheritance.
1266
bfe0ee88
GM
1267 * xdisp.c (try_window_id): When trying to locate cursor in
1268 unchanged rows at the top, handle the case that we can't find it.
1269
a8710abf
GM
1270 * xterm.c (x_draw_glyphs): Handle case START and END are out
1271 of bounds more carefully.
1272
6b7d4ae4
DL
12732000-09-08 Dave Love <fx@gnu.org>
1274
423193c5
DL
1275 * s/sol2.h (REL_ALLOC_MMAP): Define.
1276 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
1277
1278 * ralloc.c: Don't include string.h (redundant).
1279 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
1280 [!MAP_ANON]: Include fcntl.h.
1281 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
1282 (r_alloc, r_re_alloc, r_alloc_free)
1283 (mmap_enlarge, mmap_set_vars): Use it.
1284 (r_alloc_init_fd): New function.
1285 (__morecore) [SYSTEM_MALLOC]: Don't declare.
1286 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
1287 malloc type.
1288
1289 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
1290 Remove vm-limit.o.
1291
6b7d4ae4
DL
1292 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
1293 change to __NetBSD__.
1294
44d31981
KH
12952000-09-08 Kenichi Handa <handa@etl.go.jp>
1296
1297 * search.c (compile_pattern): Check the multibyteness of cached
1298 string and PATTERN.
1299
aad40737
MB
13002000-09-08 Miles Bader <miles@gnu.org>
1301
1302 * xfaces.c (default_face_vector): Function removed.
1303 (Finternal_merge_in_global_face): Restore old global/local
1304 attribute override order. Use inline loop instead of calling
1305 default_face_vector.
1306
91a211b5
GM
13072000-09-07 Gerd Moellmann <gerd@gnu.org>
1308
1309 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
1310 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
1311 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
1312 where necessary, in case POINTER_TYPE is `void'.
1313
03419440
EZ
13142000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
1315
1316 * frame.c (make_terminal_frame): Initialize frame foreground and
1317 background colors to unspecified, for the initial instance of an
1318 MSDOS frame.
1319
f46f845b
GM
13202000-09-07 Gerd Moellmann <gerd@gnu.org>
1321
24f76fbf
GM
1322 * ralloc.c (mmap_find): Fix overlap computation.
1323 (mmap_enlarge): Compute nbytes before trying to find an
1324 overlapping region.
1325
f46f845b
GM
1326 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
1327 instead of `!='.
1328
1329 * lread.c (syms_of_lread): Change value of regexp
1330 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
1331
1332 * xmenu.c (xdialog_show): When looking up the selection in
1333 menu_items, take `quote' boundaries into account; this corresponds
1334 to a nil ITEM in x-popup-dialog.
1335
3c014385
KH
13362000-09-07 Kenichi Handa <handa@etl.go.jp>
1337
fd6f711b
KH
1338 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
1339 not 0x81.
1340 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
1341
3c014385 1342 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
1343 encoding, not decoding. Fix the handling of latin-jisx0201.
1344 Check for the charset katakana-jisx0201 too.
3c014385 1345 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 1346 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 1347
0da3ecef
GM
13482000-09-07 Gerd Moellmann <gerd@gnu.org>
1349
ab0ee409
GM
1350 * xfaces.c (Vparam_value_alist): New variable.
1351 (syms_of_xfaces): Initialize it.
1352 (Finternal_set_lisp_face_attribute): Avoid more consing.
1353
1354 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
1355 specially.
1356 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
1357 (Qbackground_mode): New variable.
1358 (syms_of_frame_1): Initialize Qbackground_mode.
1359
1360 * lisp.h (Qdisplay): Declare extern.
1091dd67 1361
0da3ecef
GM
1362 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
1363 change face on all frames, and change the default for new frames.
1364
b14654b9
DL
13652000-09-07 Dave Love <fx@gnu.org>
1366
1367 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
1368
d24fd56f
KH
13692000-09-07 Kenichi Handa <handa@etl.go.jp>
1370
794f3670
KH
1371 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
1372
0fddd0dc
KH
1373 * charset.c: Include composite.h
1374 (lisp_string_width): New function.
1375 (Fstring_width): Call lisp_string_width instead of strwidth.
1376
1377 * Makefile.in (charset.o): Depends on composite.h.
1378
d24fd56f
KH
1379 * process.c (read_process_output): Before inserting the decoded
1380 text in the buffer, adjust the multibyteness.
1381
fa0b693c
GM
13822000-09-06 Gerd Moellmann <gerd@gnu.org>
1383
73b77ee5
GM
1384 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
1385 buffer's text buffer is null, map new memory.
1386
0a58f946
GM
1387 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
1388 POINTER_TYPE and size_t.
1389 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
1390 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
1391 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
1392 [REL_ALLOC_MMAP]: New macros.
1393 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
1394 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
1395 [REL_ALLOC_MMAP]: New functions.
1396
1397 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
1398 before and after unexec.
1399
1400 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
1401 text buffers if necessary.
1402
1403 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
1404 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
1405 in prototypes.
1406
fa0b693c
GM
1407 * config.in (HAVE_MMAP): Add #undef.
1408
877055f6
GM
14092000-09-05 Gerd Moellmann <gerd@gnu.org>
1410
08ba3862
GM
1411 * frame.c (Qdisplay_type): New variable.
1412 (syms_of_frame_1): Initialize it.
1413 (Fframe_parameter): New function that avoids consing.
1414 (syms_of_frame): Defsubr it.
1415
66ffe51c
GM
1416 * buffer.c (Fother_buffer): Consider buffers as invisible when
1417 they are displayed in a window on an invisible frame.
1418
877055f6
GM
1419 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
1420 get-largest-window always return nil.
1421
bb970e67
GM
14222000-09-04 Gerd Moellmann <gerd@gnu.org>
1423
1424 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
1425 variable; recognize Emacs 19 elc files.
1426
7a3d0e0e
MB
14272000-09-04 Miles Bader <miles@gnu.org>
1428
1429 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
1430 before initially popping up the menu, so the menu doesn't flash
1431 when the face settings are significantly different from the
1432 defaults.
1433
14473664
SM
14342000-09-04 Stefan Monnier <monnier@cs.yale.edu>
1435
1436 * regex.c (WIDE_CHAR_SUPPORT): New macro.
1437 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
1438 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
1439 (BIT_UNIBYTE): Remove.
1440 (re_match_2_internal): Delete corresponding code and streamline the
1441 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
1442 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
1443 (re_wctype_t): New type.
1444 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
1445 (regex_compile): Use them and fix handling of overly long char classes.
1446
c1174479
AI
14472000-09-03 Andrew Innes <andrewi@gnu.org>
1448
f8803e97
AI
1449 * makefile.w32-in: Change to DOS line endings.
1450
c1174479
AI
1451 * s/ms-w32.h (ORDINARY_LINK): New define.
1452
1453 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
1454 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
1455
1456 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
1457 (distclean): Delete them here instead.
1458
44ef7cf6
AI
1459 * w32proc.c (compare_env): Convert to uppercase for comparison,
1460 not lowercase, to match how the native Windows shell works.
1461
49b3bd82
JR
14622000-09-03 Jason Rumney <jasonr@gnu.org>
1463
1464 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
1465 CVS changes the line-ends when checking in/out on DOS/Windows.
1466
1467 * makefile.nt (emacs): Do not change directory to run temacs, as
1468 the load-path is set relative to current directory.
1469
a3d35a39
MB
14702000-09-03 Miles Bader <miles@gnu.org>
1471
1472 * xterm.c (x_alloc_lighter_color_for_widget): New function.
1473
d276b0cf
GM
14742000-09-02 Gerd Moellmann <gerd@gnu.org>
1475
715e84c9
GM
1476 * xdisp.c (redisplay_mode_lines): New function.
1477 (display_mode_lines): Return number of mode lines displayed.
1478 (echo_area_display): Use redisplay_mode_lines to draw garbaged
1479 mode lines. Don't temporarily bind redisplay-dont-pause to t.
1480
8892f40b
GM
1481 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
1482 string.h and strings.h.
1483 (index) [HAVE_INDEX]: Add prototype.
1484
d276b0cf
GM
1485 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
1486 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
1487
1488 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
1489 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
1490
38404229
GM
14912000-09-01 Gerd Moellmann <gerd@gnu.org>
1492
1493 * lread.c (read1): Accept `?' as symbol constituent, for
1494 compatiblity with XEmacs.
1495
c0f9ea08
SM
14962000-08-31 Stefan Monnier <monnier@cs.yale.edu>
1497
1498 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
1499 (struct re_pattern_buffer): Remove newline_anchor.
1500 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
1501 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
1502 (re_max_failures, fail_stack): Use size_t rather than unsigned.
1503 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
1504 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
1505 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
1506 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
1507 Get rid of references to newline_anchor.
1508 (regcomp): Allocate and precompute a fastmap.
1509
8c0f83fe
GM
15102000-08-31 Gerd Moellmann <gerd@gnu.org>
1511
1512 * lread.c (openp): GCPRO local variable `filename'.
1513
4bb91c68
SM
15142000-08-30 Stefan Monnier <monnier@cs.yale.edu>
1515
1516 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
1517
1518 * regex.c: Merge some changes from GNU libc. Add prototypes.
1519 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
1520 Use memcmp and memcpy instead of bcopy and bcmp.
1521 (init_syntax_once): Use ISALNUM.
1522 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
1523 (REG_UNSET_VALUE): Remove. Use NULL instead.
1524 (REG_UNSET, re_match_2_internal): Use NULL.
1525 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
1526 New macros.
1527 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
1528 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
1529 (regex_compile): In handle_interval, return an error rather than try to
1530 unfetch the interval if we can't find the closing brace.
1531 Obey the RE_NO_GNU_OPS syntax bit.
1532 (TOLOWER): New macro.
1533 (regcomp): Use it.
1534 (regexec): Allocate regs.start and regs.end as one block.
1535
5226a931
GM
15362000-08-30 Gerd Moellmann <gerd@gnu.org>
1537
868dd24b
GM
1538 * xdisp.c (echo_area_display): Check display_completed instead
1539 of calling detect_input_pending.
1540
1541 * dispnew.c (update_frame): Only set display_completed here; move
1542 the update_begin and update_end calls here from update_frame_1.
1543 (update_frame_1): Don't set display_completed here, don't call
1544 update_begin/update_end.
1545
5226a931
GM
1546 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
1547 instead of store_frame_param.
1548
2a8bd25f
GM
15492000-08-29 Gerd Moellmann <gerd@gnu.org>
1550
1551 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
1552 desired window matrix hasn't been displayed, use the current row
1553 instead. Make sure that only those frame rows are updated for
1554 which there exists a corresponding enabled desired row.
1555
ba3478d9
MB
15562000-08-29 Miles Bader <miles@gnu.org>
1557
1558 * xfaces.c (default_face_vector): New function.
1559 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
1560
87d0f685
GM
15612000-08-29 Gerd Moellmann <gerd@gnu.org>
1562
1563 * lread.c (openp): Prevent temporary string passed to
1564 Ffile_readable_p from being garbage collected.
1565
6fa86045
DL
15662000-08-28 Dave Love <fx@gnu.org>
1567
1568 * keymap.c (store_in_keymap): Add `static' to declaration.
1569
bb17930d
GM
15702000-08-28 Gerd Moellmann <gerd@gnu.org>
1571
1572 * emacs.c, callint.c, doc.c, editfns.c
1573 (toplevel) [HAVE_STRING_H]: Include string.h.
1574 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
1575 (index): Remove prototypes which might conflict with non-standard
1576 definitions of index/strchr.
1577
1578 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
1579 (rindex): Define only if !HAVE_RINDEX.
1580
1581 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
1582
1583 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
1584
87188200
MB
15852000-08-28 Miles Bader <miles@gnu.org>
1586
1587 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
1588 made inconsistent by a font-related attribute in FROM.
1589 (merge_face_inheritance): Add function comment.
1590
41a68aef
KH
15912000-08-28 Kenichi Handa <handa@etl.go.jp>
1592
1593 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
1594 the 4th arg (PREV_EVENT) Qt to suppress input method.
1595
f7c436c1
SM
15962000-08-27 Stefan Monnier <monnier@cs.yale.edu>
1597
0b32bf0e
SM
1598 * regex.c: Indent cpp directives and remove parens after `defined'.
1599 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
1600 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
1601 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
1602 (re_compile_pattern): Use size_t for length.
1603 (init_syntax_once): Move to a better place.
1604 * regex.h: Merge changes from GNU libc. Indent cpp directives.
1605 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
1606
f7c436c1
SM
1607 * syntax.c (back_comment): Detect cases where a comment-starter is
1608 actually inside another comment as in: /* a // b */ c // d \n.
1609 Make it clear that `comstart_pos' is unused for nested comments.
1610
1611 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
1612 (KEYMAPP): New macro.
1613 (Fkeymap_parent, Fset_keymap_parent): Use it.
1614 (fix_submap_inheritance): Mark it static.
1615 (define_as_prefix, describe_buffer_bindings, describe_command)
1616 (describe_translation, describe_map): Complete prototypes.
1617
1618 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
1619
1620 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
1621 to better match the key-lookup behavior.
1622
6288c62f
GM
16232000-08-27 Gerd Moellmann <gerd@gnu.org>
1624
1625 * xfaces.c (lface_fully_specified_p): Handle :inherit.
1626 (Finternal_set_lisp_face_attribute): Fix typo in error message.
1627
e931344e
EZ
16282000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
1629
1630 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
1631 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
1632 (xterm.o): Depend on coding.h
1633
d10dfeef
KH
16342000-08-26 Kenichi Handa <handa@etl.go.jp>
1635
1636 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
1637 the corresponding '#endif'.
1638
2d73e8d3
MB
16392000-08-26 Miles Bader <miles@gnu.org>
1640
1641 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
1642 * xfaces.c (QCinherit): New variable.
1643 (syms_of_xfaces): Initialize it.
1644 (LFACE_INHERIT): New macro.
1645 (Finternal_get_lisp_face_attribute)
1646 (merge_face_vector_with_property)
1647 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
1648 (check_lface_attrs): Allow new types of face height. Check
1649 inherit attribute.
1650 (CYCLE_CHECK): New macro.
1651 (merge_face_inheritance): New function.
1652 (merge_face_vectors): Merge inherited faces too. Add F and
1653 CYCLE_CHECK arguments.
1654 (merge_face_vector_with_property, Finternal_merge_in_global_face)
1655 (lookup_named_face, lookup_derived_face, realize_named_face)
1656 (face_at_string_position, face_at_buffer_position): Supply
1657 new F and CYCLE_CHECK arguments to merge_face_vectors.
1658 (merge_face_heights): New function.
1659 (merge_face_vectors, merge_face_vector_with_property)
1660 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
1661 handle relative face heights.
1662 (lface_same_font_attributes_p): Compare heights using EQ.
1663
6ce974d4
KH
16642000-08-26 Kenichi Handa <handa@etl.go.jp>
1665
1666 * charset.c (char_to_string): Check the character validity.
1667 (char_valid_p): If C is not less than MAX_CHAR, be sure to return
1668 0.
1669
dc1e502d
SM
16702000-08-25 Stefan Monnier <monnier@cs.yale.edu>
1671
1672 * regex.c (PUSH_FAILURE_COUNT): New macro.
1673 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
1674 Handle popping of a register's or a counter's data.
1675 (POP_FAILURE_POINT): Use the new name.
1676 (re_match_2_internal): Push counter data on the stack for succeed_n,
1677 jump_n and set_number_at and remove misleading dead code in succeed_n.
1678
bd9d0f3f
GM
16792000-08-25 Gerd Moellmann <gerd@gnu.org>
1680
1681 * xdisp.c (redisplay_internal): If considering all windows on all
1682 frames, update the display for each frame as soon as possible,
1683 instead of first building all desired matrices for all frames, and
1684 then updating them all.
1685 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
1686
aa5b8e15
GM
16872000-08-24 Gerd Moellmann <gerd@gnu.org>
1688
17494071
GM
1689 * bytecode.c (mark_byte_stack): Add a comment.
1690
aa5b8e15
GM
1691 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
1692 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
1693 a graphical frame.
1694
c543db81
KH
16952000-08-24 Kenichi Handa <handa@etl.go.jp>
1696
d246d5f5
KH
1697 * minibuf.c (do_completion): Always use compare-string, not
1698 string-equal because the latter doesn't pay attention to
1699 multibyteness of strings.
1700
c543db81
KH
1701 * process.c (create_process): Don't setup raw-text coding here.
1702 (Fopen_network_stream): Don't set coding->src_multibyte and
1703 coding->dst_multibyte here.
1704 (read_process_output): For process filter, return unibyte string
1705 if default-enable-multibyte-characters is nil.
1706 (send_process): If OBJECT is multibyte text, be sure to encoded it
1707 by the specified coding system for the process. Otherwise, setup
1708 raw-text coding.
1709 (init_process): Don't initialize default-process-coding-system
1710 here.
1711
9b47cfe0
EZ
17122000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
1713
1714 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
1715 <scroll-down-aggressively>: Likewise.
1716
f5a36960
KH
17172000-08-23 Kenichi Handa <handa@etl.go.jp>
1718
1719 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
1720 zero. Set coding->produced_char correctly.
1721
69a7ffa7
AI
17222000-08-22 Andrew Innes <andrewi@gnu.org>
1723
1724 * makefile.w32-in: New file.
1725
1726 * unexw32.c (unexec): Ignore old_name, and use the actual location
1727 of the current executable instead. Base new_name on this.
1728
1729 * w32proc.c (create_child): Remove reference to security
1730 descriptor, which isn't needed and doesn't compile with mingw32.
1731
1732 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
1733 up dllimport attributes.
1734 (x_update_window_end): Update prototype.
1735
1736 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
1737 extern, which screws up dllimport attributes.
1738
1739 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
1740 up dllimport attributes.
1741
1742 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
1743 screws up dllimport attributes.
1744
1745 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
1746 up dllimport attributes.
1747 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
1748 screws up dllimport attributes.
1749
1750 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
1751 up dllimport attributes.
1752
1753 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
1754 screws up dllimport attributes.
1755
1756 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
1757 screws up dllimport attributes.
1758
1759 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
1760 up dllimport attributes.
1761
1762 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
1763 unnecessary extern, which screws up dllimport attributes.
1764 (main): Ditto.
1765
1766 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
1767 up dllimport attributes.
1768
1769 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
1770 unnecessary extern, which screws up dllimport attributes.
1771
1772 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
1773 screws up dllimport attributes.
1774
1775 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
1776 up dllimport attributes.
1777
1778 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
1779
1780 * w32bdf.c (search_file_line):
1781 (set_bdf_font_info):
1782 (seek_char):
1783 (w32_get_bdf_glyph):
1784 (w32_BDF_to_x_font): Fix compile warnings.
1785
1786 * w32menu.c: Include keyboard.h before frame.h. Fix compile
1787 warnings.
1788
1789 * w32select.c: Include keyboard.h before frame.h.
1790
1791 * w32fns.c (max): Define macro.
1792 (JOHAB_CHARSET): Define if not known.
1793 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
1794 (Fx_show_tip): Synch with X version.
1795
1796 * w32xfns.c: Include keyboard.h before frame.h.
1797
1798 * w32fns.c: Include keyboard.h before frame.h.
1799
1800 * w32term.c: Include keyboard.h before frame.h.
1801
1802 * fontset.c: Include keyboard.h before frame.h.
1803
1804 * w32inevt.c: Include keyboard.h before frame.h.
1805 (MOUSE_MOVED): Define if not known.
1806
1807 * minibuf.c: Include keyboard.h before frame.h.
1808
1809 * keyboard.c: Include keyboard.h before frame.h.
1810
1811 * indent.c: Include keyboard.h before frame.h.
1812
1813 * dispnew.c: Include keyboard.h before frame.h.
1814
1815 * buffer.c: Include keyboard.h before frame.h.
1816
1817 * alloc.c: Include keyboard.h before frame.h.
1818
1819 * print.c: Include keyboard.h before frame.h.
1820
1821 * process.c: Include keyboard.h before frame.h.
1822
1823 * scroll.c: Include keyboard.h before frame.h.
1824
1825 * sysdep.c: Include keyboard.h before frame.h.
1826
1827 * term.c: Include keyboard.h before frame.h.
1828
1829 * window.c: Include keyboard.h before frame.h.
1830
1831 * xdisp.c: Include keyboard.h before frame.h.
1832 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
1833
1834 * frame.c: Include keyboard.h before frame.h.
1835
1836 * w32heap.h: Undefine min, max.
1837
1838 * w32gui.h: Undefine min, max.
1839
1840 * unexw32.c: Change PUCHAR to PCHAR.
1841 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
1842 (relocate_offset):
1843 (get_section_info):
1844 (copy_executable_and_dump_data): Remove unnecessary static defs.
1845 (copy_executable_and_dump_data): Fix compile warnings.
1846
1847 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
1848
1849 * w32console.c (min): Define macro.
1850 (clear_frame, write_glyphs): Fix compile warning.
1851
1852 * w32proc.c (compare_env):
1853 (find_child_console): Fix compile warning.
1854
1855 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
1856 sys_errlist instead of _sys_errlist.
1857 (get_emacs_configuration_options): New function.
1858
1859 * s/ms-w32.h (sys_nerr): Provide default definition.
1860 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
1861 name with _ prepended.
1862 (NSIG): Define if not known.
1863 (get_emacs_configuration): Provide extern declaration.
1864 (get_emacs_configuration_options): Provide extern declaration.
1865 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
1866
1867 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
1868 (map_w32_filename):
1869 (read_unc_volume): Fix compile warning.
1870
1871 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
1872 definitions from being used.
1873
1874 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
1875
1876 * w32.c (unc_volume_file_attributes):
1877 (open_unc_volume): Make arg const.
1878
1879 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
1880 (read_input_waiting): Remove excess parameter.
1881
1882 * w32.c (init_environment): Call _access.
1883 (check_windows_init_file): Call _close.
1884 (init_user_info): Call _putenv.
1885 (init_environment): Call _putenv and _strdup.
1886 (init_ntproc): Reset volume info cache on startup.
1887
1888 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
1889 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
1890 cannot override the CRT malloc.
1891
1892 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
1893 (LINK_FLAGS): Append to original value of LINK_FLAGS.
1894
1895 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
1896 unless we are linking with a static CRT.
1897 (RVA_TO_PTR): Cast result to unsigned char*.
1898
1899 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
1900 (add_volume_info): Use xstrdup.
1901
25060080
SM
19022000-08-22 Stefan Monnier <monnier@cs.yale.edu>
1903
1904 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
1905 (do_completion, Fminibuffer_complete_word): Use it.
1906 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
1907 var so it can take non-boolean values.
1908
6917e6bb
GM
19092000-08-21 Gerd Moellmann <gerd@gnu.org>
1910
acb7cc89
GM
1911 * editfns.c (find_field): Formatting changes.
1912 (toplevel): Some old-style function forward declarations
1913 changed to prototypes, some new protypes added, some functions
1914 made static.
1915
1916 * lisp.h (set_time_zone_rule): Add prototype.
1917 (use_dialog_box): External declaration.
1918
0bbfdc25
GM
1919 * keyboard.c (gen_help_event): Add parameter SIZE.
1920 (kbd_buffer_events_waiting): Slightly rewritten.
1921 (clear_event): New function.
1922 (kbd_buffer_get_event): Use it, and clear the input_events of
1923 HELP_EVENTs.
1924 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
1925 don't fill the newly created array with nils.
1926 (toplevel): Convert some old-style function forward declarations
1927 to prototypes.
1928
1929 * keyboard.h (gen_help_event): Change prototype.
1930
1931 * xterm.c (XTread_socket): Change calls to gen_help_event.
1932
1933 * w32term.c (w32_read_socket): Change calls to gen_help_event.
1934
6917e6bb
GM
1935 * eval.c (Fmacroexpand): Doc fix.
1936
e5cd3d11
JR
19372000-08-20 Jason Rumney <jasonr@gnu.org>
1938
1939 * w32term.h (x_display_info_for_display): Remove as this function
1940 does not exist on W32.
1941
1942 * w32term.c (help_echo_window): New variable.
1943 (syms_of_w32term): staticpro it.
1944 (note_mode_line_highlight): Set it.
1945 (XTextExtents16): Removed as there is no equivalent on W32.
1946 (x_compute_glyph_string_overhangs): Incomplete body removed, as
1947 the X way of doing this will not work for W32.
1948 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
1949 (x_draw_image_foreground): Avoid drawing outside of the clip area
1950 when image doesn't have a mask.
1951 (note_mouse_highlight): Process overlays in the right order of
1952 priority. Set help_echo_window.
1953 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
1954 because that's more visible for large images.
1955
1956 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
1957 name to single_keymap_panes.
1958 (w32_menu_show): Set wv->title when dealing with titles.
1959 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
1960
6e69ab8c
MB
19612000-08-21 Miles Bader <miles@gnu.org>
1962
1963 * minibuf.c (do_completion): Try again if we rewrite the input
1964 string, but no completion was done, so that any completion message
1965 will be correct.
1966
511bd4eb
GM
19672000-08-20 Gerd Moellmann <gerd@gnu.org>
1968
1969 * xfaces.c (lface_equal_p): Compare strings differently.
1970 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
1971 (realize_tty_face): Use them.
1972 (syms_of_xfaces): Initialize new variables.
1973 (map_tty_color): New function, extracted from realize_tty_face.
1974 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
1975 foreground or background color, store the new color name in the
1976 realized face; previous code trying to do this had no effect.
1977 (realize_tty_face): Use map_tty_color.
1978 (Fclear_face_cache): Set face_change_count and ensure thorough
1979 redisplay.
1980
1433385f
GM
19812000-08-19 Gerd Moellmann <gerd@gnu.org>
1982
511bd4eb
GM
1983 * undo.c (record_first_change, record_marker_adjustment): Don't
1984 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 1985
419ac0a2
KH
19862000-08-18 Kenichi Handa <handa@etl.go.jp>
1987
1988 * coding.c (decode_coding_string): Set members consumed,
1989 consumed_char, produced, produced_char of *coding correctly. If
1990 decode_coding doesn't consume any byte, don't try anymore.
1991 (encode_coding_string): Likewise.
1992
7eb9e30d
GM
19932000-08-18 Gerd Moellmann <gerd@gnu.org>
1994
511bd4eb
GM
1995 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
1996 conditional have void type, for Standard C compilers.
7eb9e30d
GM
1997
1998 * xdisp.c (redisplay_internal): Compare windows for equality with
1999 EQ, instead of applying XWINDOW to something that might not
2000 be a window.
2001
dd34a735
KH
20022000-08-18 Kenichi Handa <handa@etl.go.jp>
2003
2004 * fontset.c (Finternal_char_font): Search only the selected frame
2005 for a window of the current buffer.
2006
385ff9e3
GM
20072000-08-18 Gerd Moellmann <gerd@gnu.org>
2008
511bd4eb 2009 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
2010 Lisp_Objects.
2011
385ff9e3
GM
2012 * keyboard.c (kbd_buffer_get_event): Handle the case that the
2013 second half of a HELP_EVENT is found at the start of kbd_buffer.
2014
d6abb4c7
MB
20152000-08-18 Miles Bader <miles@gnu.org>
2016
4618074a
MB
2017 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
2018
d6abb4c7
MB
2019 * editfns.c (save_restriction_save): Rewrite to use markers.
2020 (save_restriction_restore): Rewrite to understand new form of data
2021 saved by save_restriction_save.
2022 (Fsave_restriction): Remove cautionary note in doc-string.
2023
a7b28523
GM
20242000-08-17 Gerd Moellmann <gerd@gnu.org>
2025
2026 * fileio.c (build_annotations): Add a comment explaining the
2027 return value of format-annotate-function. Replace a spurious call
2028 to Flength with a CONSP test. Call format-annotate-function with
2029 a fifth arg specifying how many times the function is been called
2030 in a row, to let it choose temporary buffers appropriately.
2031
03c9ed77
DL
20322000-08-17 Dave Love <fx@gnu.org>
2033
2034 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
2035 declare make_temp_name twice.
2036
2037 * lread.c: Prototype readevalloop, load_unwind,
2038 load_descriptor_unwind.
2039 (unreadpure): Give it an arg.
2040
2041 * unexalpha.c: Prototype fatal_unexec, mark_x,
2042 update_dynamic_symbols. Declare unexec as void.
2043
2044 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
2045 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
2046
2047 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
2048 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on
2049 DOUG_LEA_MALLOC.
2050
2051 * alloca.c: Use #error.
2052 [POINTER_TYPE]: Use it.
2053
2054 * eval.c (Fdefvar): Doc fix.
2055
2056 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
2057 INITIALIZE_INTERVAL.
2058
2059 * buffer.h: Avoid DECLARE_INTERVALS.
2060
2061 * config.in: Add size_t.
2062
aae41d97
EZ
20632000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
2064
2065 * w16select.c (set_clipboard_data): If there's not enough memory
2066 to put text into clipboard, return 1, as Fw16_set_clipboard_data
2067 expects. In case of other failures, return 3.
2068 (system_error_msg): New error message.
2069 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
2070 system_error_msg.
2071
65aa5e85
GM
20722000-08-16 Gerd Moellmann <gerd@gnu.org>
2073
2074 * term.c (write_glyphs): Also turn off inverse video after turning
2075 off other appearances in case TS_exit_attribute_mode is not equal
2076 to TS_end_standout_mode.
2077 (insert_glyphs): Turn inverse video on/off for each run of glyphs
2078 with the same face.
2079 (turn_off_face): Reset standout_mode only if
2080 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
2081 is equal to TS_end_standout_mode.
2082
ece23901
KH
20832000-08-16 Kenichi Handa <handa@etl.go.jp>
2084
9d7bcb2e
KH
2085 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
2086 sequence at the end of the source block.
2087
ece23901
KH
2088 * ccl.c (Fccl_program_p): Docstring modified.
2089 (Fccl_execute): Likewise.
2090 (Fccl_execute_on_string): Likewise.
2091
5e30eaa2
EZ
20922000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
2093
2094 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
2095
290602fd
KH
20962000-08-16 Kenichi Handa <handa@etl.go.jp>
2097
2098 The following changes are mainly to fix bugs of
2099 encode/decode-coding-string failing if encoding/decoding return
2100 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
2101 variable conversion_buffer.
2102
2103 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
2104 decrement dst_end to avoid buffer overflow in the later call of
2105 string_as_multibyte
2106
2107 * coding.h (conversion_buffer_size, conversion_buffer)
2108 (get_conversion_buffer): Extern deleted.
2109
2110 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
2111 (conversion_buffer, conversion_buffer_size): Variables deleted.
2112 (get_conversion_buffer): Function deleted.
2113 (struct conversion_buffer): New structure.
2114 (MAX_ALLOCA): New macro.
2115 (allocate_conversion_buffer): New macro.
2116 (extend_conversion_buffer, free_conversion_buffer): New functions.
2117 (ccl_coding_driver): Set coding->result.
2118 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
2119 this is the last block of source.
2120 (encode_coding): Likewise. Handle the source block as the last
2121 one only when the whole source text is consumed.
2122 (decode_coding_string): Handle the case that the output buffer is
2123 too small to decode the whole source text. Use
2124 allocate_conversion_buffer, extend_conversion_buffer and
2125 free_conversion_buffer, not get_conversion_buffer.
2126 (encode_coding_string): Likewise.
2127 (init_coding): Function deleted.
2128 (init_coding_once): Delete code to initialize
2129 conversion_buffer_size.
2130
2131 * emacs.c (main): Don't call init_coding.
2132
2133 * msdos.c (IT_write_glyphs): Use a locally declared
2134 conversion_buffer.
2135
2136 * term.c (write_glyphs): Use a locally declared conversion_buffer.
2137 (insert_glyphs): Likewise.
2138
2139 * w32console.c (write_glyphs): Use a locally declared
2140 conversion_buffer.
2141
b9f80d41
EZ
21422000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
2143
2144 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
2145 member of display_info is NULL.
2146
32dc52f7
GM
21472000-08-15 Gerd Moellmann <gerd@gnu.org>
2148
58ed0d3b
GM
2149 * alloc.c (compact_small_strings): Use safe_bcopy, add an
2150 assertion.
2151
32dc52f7 2152 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 2153 appearances with capability `me'.
32dc52f7
GM
2154 (write_glyphs): Switch on inverse video before each face change.
2155
4eb22d33
DL
21562000-08-14 Dave Love <fx@gnu.org>
2157
2158 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
2159 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
2160 (lisp_free): Declare and make static.
2161
2162 * window.c: Fix embedded comment.
2163 (syms_of_window): Fix doc string.
2164
90cbf47e
GM
21652000-08-14 Gerd Moellmann <gerd@gnu.org>
2166
2167 * keymap.c (push_key_description): If C without modifiers is < 32,
2168 make sure to print `C-' before `M-', like in the manual.
2169
440fc135
GM
21702000-08-11 Gerd Moellmann <gerd@gnu.org>
2171
2172 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
2173 since they aren't relocated anymore.
2174 (sxhash_string): Make sure returned hash code fits in a Lisp
2175 integer.
2176
2177 * xdisp.c (try_cursor_movement): Fix handling of cursor in
2178 partially visible line which is smaller than the window's
2179 height.
2180
6e264fad
KH
21812000-08-11 Kenichi Handa <handa@etl.go.jp>
2182
2183 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
2184 the multibyte form of eight-bit-control characters.
2185 (Fccl_execute_on_string): Initialize ccl->multibyte.
2186
2187 * ccl.h (struct ccl_program): New member multibyte.
2188
2189 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
2190
c371f69a
KH
21912000-08-11 Kenichi Handa <handa@etl.go.jp>
2192
2193 * regex.c (regex_compile) <normal_char>: Pay attention to
2194 multibyteness.
2195 (analyse_first) <exactn>: Setup fastmap correctly for
2196 eight-bit-control characters.
2197
21982000-08-11 Kenichi Handa <handa@etl.go.jp>
2199
2200 * termhooks.h (enum event_kind): New member
2201 multibyte_char_keystroke.
2202
2203 * keyboard.c (make_lispy_event): Handle the new event type
2204 multibyte_char_keystroke.
2205
2206 * xterm.c: Include coding.h.
2207 (XTread_socket): Work around a bug of XmbLookupString. If the
2208 input is from XIM, decode it according to the current locale. In
2209 that case, generate multibyte_char_keystroke events.
2210
b8ddbe71
KH
22112000-08-11 Kenichi Handa <handa@etl.go.jp>
2212
2213 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
2214 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
2215
47589c8c
GM
22162000-08-10 Gerd Moellmann <gerd@gnu.org>
2217
2218 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
2219 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
2220 (move_it_in_display_line_to): Record iterator's ascent and descent
2221 before producing glyphs, and restore them when we know the glyph
2222 doesn't fit on the line.
2223 (move_it_to): Restructured so that it's easier to debug. If
2224 moving to a vpos, and not moving to an x or character position,
2225 stop as soon as the specified vpos is reached; don't move further
2226 into that line because that might change the computed line height.
2227 (try_cursor_movement): New function, extracted from the cursor
2228 movement branch of redisplay_window. If ending on a partially
2229 visible line, don't try to scroll if the cursor line is taller
2230 than the window.
2231 (redisplay_window): Use try_cursor_movement.
2232
2233 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
2234 because that function doesn't cope with variable-height lines.
2235
2236 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
2237 box cursor because that's better visible for large images.
2238
c51bacd6
MB
22392000-08-10 Miles Bader <miles@gnu.org>
2240
2241 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
2242
bea56df7
GM
22432000-08-10 Gerd Moellmann <gerd@gnu.org>
2244
2245 * xdisp.c (Vmessages_buffer_name): New variable.
2246 (message_dolog): Use it.
2247 (syms_of_xdisp): Initialize it.
2248
99cd7364
EZ
22492000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
2250
2251 * msdos.c (IT_note_mouse_highlight): Update the calls to
2252 overlays_at.
2253 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
2254 redundant now that keyboard.h is included.
2255
7d093d56
EZ
22562000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
2257
2258 * keyboard.c (kbd_buffer_events_waiting): New function.
2259
2260 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
2261
2262 * msdos.c: Include keyboard.h.
2263 (XMenuActivate): Empty no_event events from the event buffer. If
2264 no events are left after that, call clear_input_pending.
2265 (mouse_clear_clicks): New function, code moved from mouse_init.
2266 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
2267 mouse driver to ``forget'' any past clicks.
2268
2269 * Makefile.in (msdos.o): Depend on keyboard.h.
2270
41e757a6
GM
22712000-08-09 Gerd Moellmann <gerd@gnu.org>
2272
8e7bd231
GM
2273 * lisp.h (input_pending): External declaration.
2274
2275 * dispextern.h (Qredisplay_dont_pause): Declare extern.
2276
2277 * xdisp.c (echo_area_display): Display thoroughly if input is
2278 pending. Bind redisplay-dont-pause to t during the redisplay.
2279 in case input is pending.
2280
2281 * dispnew.c (Qredisplay_dont_pause): New variable.
2282 (syms_of_display): Initialize and staticpro it.
2283 (update_frame_1): Don't interrupt the display for pending input if
2284 redisplay_dont_pause is set.
2285
43028b7e
GM
2286 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
2287
41e757a6
GM
2288 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
2289
2f2174fa
KH
22902000-08-09 Miles Bader <miles@lsi.nec.co.jp>
2291
2292 * callproc.c (Fcall_process): Terminate the unwind-protect around
2293 the post-read-conversion of coding system.
2294
0a6fd67e
MB
2295 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
2296 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
2297 * buffer.h (overlays_at): Update prototype.
2298 * xdisp.c (next_overlay_change): Update call to overlays_at.
2299 * xfaces.c (face_at_buffer_position): Likewise.
2300 * textprop.c (Fget_char_property): Likewise.
2301 * xterm.c (note_mouse_highlight): Likewise.
2302
0c80756e
MB
2303 * minibuf.c (do_completion): Don't consider a simple change of
2304 case as `completion'.
2305
975f250a
KR
23062000-08-08 Ken Raeburn <raeburn@gnu.org>
2307
b347b3fd
KR
2308 * keyboard.c (syms_of_keyboard): Initialize
2309 last_point_position_buffer.
2310 * undo.c (record_delete): Make sure last_point_position_buffer is
2311 a buffer before comparing pointers.
2312
2313 * coding.h (decode_coding_string): Declare.
2314
2315 * intervals.h (Fprevious_single_char_property_change): Declare.
2316
2317 * textprop.c (Fprevious_single_char_property_change): Don't do
2318 arithmetic directly on lisp objects.
2319
25ad1371 2320 * editfns.c (find_field): Use EQ, not ==, to compare Lisp
b347b3fd
KR
2321 objects.
2322
2323 * keyboard.h (menu_item_eval_property): Declare.
2324
2325 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
2326 reuse as buffer name, instead of recreating (and discarding) every
2327 time a message is logged.
2328 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
2329 (current_message_1, truncate_message_1, set_message_1)
2330 (display_echo_area_1, resize_mini_window_1): Signatures changed.
2331 (current_message, truncate_echo_area, display_echo_area)
2332 (resize_echo_area_axactly): Changed calls.
b347b3fd 2333
975f250a 2334 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 2335 Lisp object.
975f250a 2336 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 2337 must be an integer, not a Lisp object.
975f250a 2338
46dc9912
KH
23392000-08-08 Kenichi Handa <handa@etl.go.jp>
2340
2341 * charset.c (Fchar_width): Doc fix.
2342
9f6d1a6c
GM
23432000-08-08 Gerd Moellmann <gerd@gnu.org>
2344
2345 * charset.c (Fstring_width): Doc fix.
2346
ff3d9573
GM
23472000-08-07 Gerd Moellmann <gerd@gnu.org>
2348
41e757a6 2349 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
2350 line, clear ascent and descent members of the iterator structure;
2351 the height of the continued line does not affect the height of the
2352 continuation line.
2353 (make_cursor_line_fully_visible): Do nothing if cursor is on a
2354 line taller than the window.
2355 (redisplay_window) <forced window start>: Handle case that the
2356 middle of the window is not found in any row.
2357 (dump_glyph_row): Show more information.
2358 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
2359 first text line in a glyph matrix.
2360
2361 * xterm.c (x_draw_image_foreground): Avoid drawing outside
2362 of the clip area when image doesn't have a mask.
2363
70fc58b3
GM
2364 * fns.c (sweep_weak_table): Fix survival conditions for
2365 key-or-value and key-and-value weakness.
2366
2367 * .gdbinit (xhashtable): New command.
2368
ac0e96ee
GM
2369 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
2370 tables out of the list of all weak hash tables.
2371
ff3d9573
GM
2372 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
2373 a new buffer is created, make sure echo_area_buffer[] references
2374 the new buffer.
2375
e0d8827b
EZ
23762000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
2377
2378 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
2379 the doc string.
2380
c6f35378
KH
23812000-08-07 Kenichi Handa <handa@etl.go.jp>
2382
2383 * syntax.c (skip_chars): Fix previous change. Make the handling
2384 of unibyte string consistent with that of regex search.
2385
1fd4c450
GM
23862000-08-05 Gerd Moellmann <gerd@gnu.org>
2387
e49aa397
GM
2388 * xmenu.c (popup_get_selection): Use xfree instead of free.
2389
2390 * fileio.c (Finsert_file_contents): Use xfree instead of free.
2391
2392 * editfns.c (Ftranspose_regions): Use xfree instead of free.
2393
2394 * callproc.c (child_setup): Use xfree instead of free.
2395
2396 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
2397 instead of malloc.
2398 (run_mac_command, closedir): Use `xfree' instead of `free'.
2399
2400 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
2401
2402 * eval.c (error): Use xfree instead of free.
2403
1fd4c450
GM
2404 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
2405
2406 * fns.c: Replace `illegal' with `invalid'.
e49aa397 2407 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 2408
82d497fc
KH
24092000-08-05 Kenichi Handa <handa@etl.go.jp>
2410
2411 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
2412 conversion.
2413
59f953a2
NF
24142000-08-04 Noah Friedman <friedman@splode.com>
2415
2416 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
2417 docstring.
2418
688351f2
GM
24192000-08-04 Gerd Moellmann <gerd@gnu.org>
2420
2421 * syntax.c (skip_chars): Fix typo in error message.
2422
2dad51cc
AS
24232000-08-04 Andreas Schwab <schwab@suse.de>
2424
2425 * m/ia64.h: Moved from s/ia64.h.
2426
99bb2c60
KH
24272000-08-04 Kenichi Handa <handa@etl.go.jp>
2428
082a1df2
KH
2429 * process.c (read_process_output): Big simplification. Handle
2430 composition and post-read-conversion of coding system correctly.
2431 (send_process): Handle composition correctly.
2432
2433 * callproc.c (Fcall_process): Handle post-read-conversion of
2434 coding system if any.
2435
99bb2c60
KH
2436 * coding.c (decode_coding_iso2022): More strict check for handling
2437 single shifting.
082a1df2
KH
2438 (coding_restore_composition): Pay attention to the case that
2439 cmp_data is not set properly (because of invalid code in the
2440 source text).
2441 (run_pre_post_conversion_on_str): Include text properties in the
2442 resulting string.
2443 (decode_coding_string): Set members of coding correctly.
99bb2c60 2444
f4988be7
GM
24452000-08-03 Gerd Moellmann <gerd@gnu.org>
2446
2447 * s/ia64.h: New file.
2448
2449 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
2450 Use NULL instead of 0 at the end of variable argument list of
2451 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
2452 sizeof (int) < sizeof (void *).
2453
2454 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
2455 of variable argument lists of XtVaGetValues and XtVaSetValues.
2456
2457 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
2458 variable argument lists of XtVaGetValues and XtVaSetValues.
2459
ead53494
GM
24602000-08-02 Gerd Moellmann <gerd@gnu.org>
2461
2462 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
2463 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
2464
2465 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
2466 prototype.
2467
2468 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
2469 in call to Fsingle_key_description.
2470
2471 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
2472 Callers changed.
2473
24742000-08-02 Colin Walters <walters@cis.ohio-state.edu>
2475
2476 * window.c (display_buffer_reuse_frames): New variable.
2477 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
2478 frames displaying BUFFER.
2479 (syms_of_window): Define Lisp variable
2480 display-buffer-reuse-frames.
2481
10b0f752
MB
24822000-08-01 Miles Bader <miles@gnu.org>
2483
2484 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
2485 when to constrain NEW_POS (they were pretty screwed up before).
2486
16425c4a
EZ
24872000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
2488
2489 * msdos.c (run_msdos_command): Save and restore the master
2490 environment, for the case that child_setup signals an error.
2491 When mirroring slashes in DOS shell commands, don't fail when
2492 argv[2] has embedded blanks.
da288c14
EZ
2493 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
2494 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
2495 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
2496
2497 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
2498 using alloca; free it after run_msdos_command returns.
2499
27f73852
DL
25002000-07-27 Dave Love <fx@gnu.org>
2501
2502 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't
2503 define.
2504 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently
2505 working.
2506
2507 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
2508
c0261b5e
EZ
25092000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
2510
2511 * editfns.c (lisp_time_argument): Fix last change.
2512
b548072f
GM
25132000-07-27 Gerd Moellmann <gerd@gnu.org>
2514
3ab82477
GM
2515 * fns.c (Fdelete): Make it work on vectors and strings in addition
2516 to lists.
2517
b548072f
GM
2518 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
2519 (syms_of_fns): Initialize new variables.
2520 (sweep_weak_table): Handle weakness `key-or-value' and
2521 `key-and-value'.
2522 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
2523 weakness, with t meaning the same as `key-and-value'.
2524
91ae8751
KH
25252000-07-27 Kenichi Handa <handa@etl.go.jp>
2526
2527 * coding.h (struct coding_system): Member safe_charset deleted.
2528
2529 * coding.c (Qsafe_charsets): This variable deleted.
2530 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system): New
2531 variables.
2532 (coding_safe_chars): New function.
2533 (CODING_SAFE_CHAR_P): New macro.
2534 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
2535 checking safe_charsets member of the coding system. Caller
2536 changed.
2537 (detect_coding_iso2022): New local variable safe_chars.
2538 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
2539 safe_charsets member of the coding system.
2540 (decode_coding_iso2022): New local variable safe_chars.
2541 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
2542 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
2543 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
2544 (ENCODE_UNSAFE_CHARACTER): New macro.
2545 (encode_coding_iso2022): New local variable safe_chars. Check
2546 unsafe chars.
2547 (setup_coding_system): Delete the code to initialize
2548 coding->safe_charses
2549 (intersection, find_safe_codings): New functions.
2550 (Ffind_coding_systems_region_internal): New function.
2551 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
2552 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
2553 variable and initialize it.
2554
2555 * fns.c (char_table_ref_and_index): New function.
2556
2557 * lisp.h (char_table_ref_and_index): Add prototype.
2558
34a7a267
SS
25592000-07-26 Sam Steingold <sds@gnu.org>
2560
2561 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 2562 (Ffloat_time): New built-in Lisp function.
34a7a267 2563
a95cb10a
GM
25642000-07-26 Gerd Moellmann <gerd@gnu.org>
2565
3353ef5a
GM
2566 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
2567 for the character code.
2568
2569 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
2570 GNU/Linux.
2571
a95cb10a
GM
2572 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
2573 if called for a popup menu.
2574 (xmenu_show): Store help string in widget values.
2575
b4a12321
DL
25762000-07-26 Dave Love <fx@gnu.org>
2577
2578 * syswait.h: Move some definitions.
2579 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
2580 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
2581 perspicuous definitions.
2582 (WTERMSIG): Fix bit pattern used.
2583
13f5ad37
KH
25842000-07-26 Kenichi Handa <handa@etl.go.jp>
2585
2586 * print.c (print_object): If vector printing is truncated, print
2587 "..." to indicate it as well as the case of list printing.
2588
070fe99c
GM
25892000-07-25 Gerd Moellmann <gerd@gnu.org>
2590
969065c3
GM
2591 * xdisp.c (next_element_from_display_vector): Improve comments.
2592
2593 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
2594 for the character code, and the rest for the face id as in 20.x.
2595 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
2596
2597 * window.c (window_display_table): Cleaned up.
2598
070fe99c
GM
2599 * syntax.c (Fforward_word): Add last arg nil in call of
2600 Fconstrain_to_field.
2601
bad77ef7
EZ
26022000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
2603
969065c3 2604 * fileio.c (Frename_file) [DOS_NT]: If the file names are
bad77ef7
EZ
2605 identical but for the letter-case, don't call
2606 barf_or_query_if_file_exists.
2607
c28da489
MB
26082000-07-25 Miles Bader <miles@gnu.org>
2609
2610 * editfns.c (find_field): Honor special `boundary' fields.
2611 (Qboundary): New variables.
2612 (syms_of_editfns): Initialize Qboundary.
2613 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
2614 Use scan_buffer instead of find_before_next_newline, because it
2615 allows us to detect the boundary case where there's a newline at
2616 the search limit.
2617 * lisp.h (Fconstrain_to_field): Update external declaration.
2618
e3c31fd5
GM
26192000-07-24 Gerd Moellmann <gerd@gnu.org>
2620
2621 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
2622 if that is nil.
c28da489 2623
c66c29a2
DL
26242000-07-24 Dave Love <fx@gnu.org>
2625
2626 * s/sunos4-0.h, s/sol2.h:
2627 (LIBS_TERMCAP): Move from m/sparc.h.
2628
2629 * m/sparc.h (TERMINFO): Moved to system files (probably only
2630 relevant for sunos4 judging by its vintage).
2631 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
2632 __arch64__.
2633
fbe0a958
EZ
26342000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
2635
2636 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
2637 name to single_keymap_panes.
2638
7d88e5c9
AS
26392000-07-24 Andreas Schwab <schwab@suse.de>
2640
2641 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
2642
e024b101
GM
26432000-07-24 Gerd Moellmann <gerd@gnu.org>
2644
2645 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
2646 parameters instead of using int parameters. Expect FN to accept
2647 EMACS_INT parameters.
2648 (display_echo_area, resize_echo_area_axactly, current_message)
2649 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
2650 with new argument list.
2651 (resize_mini_window_1): New callback function.
2652 (current_message_1, truncate_message_1, set_message_1): Change
2653 parameter lists to the new format expected by
2654 with_echo_area_buffer.
2655
25c1a9ce
KH
26562000-07-24 Kenichi Handa <handa@etl.go.jp>
2657
2658 * fontset.c (fontset_ref): Remove INLINE declaration.
2659 (fontset_ref_via_base): Likewise.
2660 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
2661 to downcase.
2662
7f987ac0
EZ
26632000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
2664
2665 * msdos.c (IT_note_mouse_highlight): Process overlays in the
2666 correct order of priority. If help echo was found in an overlay,
2667 use that overlay as the object in which the help echo was found.
2668
e2db3069
MB
26692000-07-22 Miles Bader <miles@gnu.org>
2670
2671 * textprop.c (Fprevious_single_char_property_change): The initial
2672 property value should be from the position preceding POSITION, not
2673 following it.
2674
5e3203e4
EZ
26752000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
2676
2677 * coding.c (syms_of_coding): Doc fix for
2678 inhibit-iso-escape-detection.
2679
62145073
GM
26802000-07-21 Gerd Moellmann <gerd@gnu.org>
2681
c20aeb83
GM
2682 * xterm.c (note_mouse_highlight): Process overlays in the right
2683 order of priority.
34a7a267 2684
743934db
GM
2685 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
2686
2687 * xterm.c (note_mouse_highlight): If help-echo was found in an
2688 overlay, use that overlay as the object in which the help was
2689 found.
2690
d1dc7e43 2691 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 2692
62145073
GM
2693 * window.c (foreach_window): Instead of a fake variable argument
2694 list, take one USER_DATA argument.
2695 (foreach_window_1): Likewise, and call callback functions with two
2696 args, the window and USER_DATA.
2697 (struct check_window_data): New struct.
2698 (check_window_containing): Use it.
2699 (window_from_coordinates): Set up a struct check_window_data for
2700 foreach_window.
2701 (add_window_to_list, freeze_window_start): Change parameters
2702 according to new calling convention.
2703
2704 * window.h (foreach_window): Change prototype.
2705
2706 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
2707
27082000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
2709
2710 * xmenu.c (menu_help_callback): Call show_help_echo with
2711 additional arguments OBJECT and POS.
2712
11270583
KH
27132000-07-21 Kenichi Handa <handa@etl.go.jp>
2714
07b14857
KH
2715 * data.c (Faset): Allow storing any multibyte character in a
2716 string. Convert unibyte string to multibyte if necessary.
2717
11270583
KH
2718 * xfns.c (x_encode_text): New function.
2719 (x_set_name): Use x_encode_text.
2720 (x_set_title): Likewise.
2721
2722 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
2723
2724 * xterm.h (x_encode_text): Add prototype.
2725
bc75b4fd
DL
27262000-07-20 Dave Love <fx@gnu.org>
2727
2728 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
2729 xfree, not free.
2730
48c14970
EZ
27312000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
2732
2733 * msdos.c (help_echo_window): New variable.
2734 (syms_of_msdos): Initialize and staticpro it.
2735 (IT_note_mode_line_highlight): Set help_echo_window.
2736 (IT_note_mouse_highlight): Ditto.
2737 (dos_rawgetc): Store help_echo_window in the second event produced
2738 for HELP_EVENTs.
2739
2740 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
2741 Record the object that generated the help echo and the position of
2742 that object in help_echo_object and help_echo_pos. Record that
2743 some glyphs in a row are displayed in mouse-face.
2744 (IT_update_begin): Don't clear mouse highlight unless one of the
2745 enabled glyph rows is marked as being displayed in mouse-face.
2746 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
2747 and position recorded in help_echo_object and help_echo_pos to the
2748 event queue.
2749 (IT_menu_display): Accept a new argument PN: the pane number of
2750 the current menu pane. Record the pane number and the item
2751 number of the item which has associated help string.
2752 (XMenuActivate): Update the prototype for help_callback in
2753 function declaration. Call IT_menu_display with the current menu
2754 pane number as an additional argument. Call help_callback with
2755 two additional arguments: the pane number and the item number of
2756 the menu item associated with the help text.
2757 (help_echo_object, help_echo_pos): New variables.
2758 (syms_of_msdos): Initialize them and staticpro help_echo_object.
2759
2760 * msdos.h (XMenuActivate): Update prototype.
2761
4279296d
GM
27622000-07-19 Gerd Moellmann <gerd@gnu.org>
2763
47db06aa
GM
2764 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
2765 Add some more prototypes.
2766
2767 * xterm.c, xterm.h: Add some more prototypes.
2768
2769 * lisp.h (Fnext_single_char_property_change): Add prototype.
2770
2771 * dispnew.c (direct_output_for_insert): Remove confusing
2772 outer local variable mouse_face_overwritten_p.
2773 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
2774
4279296d
GM
2775 * alloc.c (allocate_string_data): Don't copy old string contents.
2776
670acd62
KH
27772000-07-19 Kenichi Handa <handa@etl.go.jp>
2778
2779 * coding.c (code_convert_region): Delete text properties before
2780 shrinking the conversion region.
2781
7cea38bc
GM
27822000-07-18 Gerd Moellmann <gerd@gnu.org>
2783
dc1cac59
GM
2784 * dispnew.c (update_text_area): Write the whole row if it
2785 has mouse-face in it.
2786
85a8aca9
GM
2787 * xfaces.c (face-alternative-font-family-alist): Remove
2788 DEFVAR_LISP; staticpro instead.
2789
34a7a267 2790 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
2791 new arguments.
2792
2793 * keyboard.c (show_help_echo): Add parameter WINDOW.
2794 (read_char): Call show_help_echo with window extracted from Lisp
2795 help event.
2796 (gen_help_event): Add parameter WINDOW.
2797
2798 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
2799
2800 * xterm.c (help_echo_window): New variable.
2801 (note_mouse_highlight, note_tool_bar_highlight): Set
2802 help_echo_window.
2803 (XTread_socket): Pass help_echo_window to gen_help_event.
2804 (syms_of_xterm): Initialize and staticpro help_echo_window.
2805
f8276b77
DL
28062000-07-18 Dave Love <fx@gnu.org>
2807
2808 * Makefile.in: Fix dependencies of blockinput.h on atimer.h,
2809 systime.h.
2810
088831a6
GM
28112000-07-18 Gerd Moellmann <gerd@gnu.org>
2812
3d6cd763
GM
2813 * alloc.c (allocate_string_data): If string had already data
2814 assigned, copy old contents to new string data.
2815
2816 * coding.c (syms_of_coding): Fix typo in spelling of variable
2817 `inhibit-iso-escape-detection'.
2818
088831a6
GM
2819 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
2820
2821 * Makefile.in: Add dependencies on dispextern.h.
2822 (alloca.o): Don't define malloc and define EMACS_FREE instead of
2823 `free'; both can conflict with system header files.
2824
bc8a8d55
KH
28252000-07-18 Kenichi Handa <handa@etl.go.jp>
2826
2827 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
2828 undefined.
2829
069f5950
DL
28302000-07-18 Dave Love <fx@gnu.org>
2831
2832 * window.c (Fwindow_list): Declare arg `window'.
2833
aa96c820
KH
28342000-07-18 Kenichi Handa <handa@etl.go.jp>
2835
2836 * coding.c (setup_coding_system): Don't override the explicitly
2837 specified designations.
2838
06be8d32
MB
28392000-07-15 Miles Bader <miles@gnu.org>
2840
2841 * editfns.c (char_property_eq, char_property_stickiness): Renamed
2842 from `text_property_eq' and `text_property_stickiness', respectively.
2843 (find_field, Fconstrain_to_field, char_property_eq)
2844 (char_property_stickiness): Changed to call char-property functions
2845 instead of text-property-only ones.
2846
2847 * textprop.c (Fnext_single_char_property_change): Made a subr (was
2848 `next_single_char_property_change'). Do more error checking, and
2849 cleanup limit behavior.
2850 (Fprevious_single_char_property_change): New function.
2851 (syms_of_textprop): Initialize new subrs.
2852
2853 * xdisp.c (display_prop_end, invisible_text_between_p):
2854 Call Fnext_single_char_property_change instead of
2855 next_single_char_property_change.
2856
3fddcdc3
JR
28572000-07-15 Jason Rumney <jasonr@gnu.org>
2858
2859 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
2860 after menu is finished with.
2861 (add_menu_item): Only consider wv->title as a menu title.
2862 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
2863
2864 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
2865 null title.
2866 (FONT_REGEXP): Remove unused macro, and its sub-components.
2867 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
2868
2869 * w32term.c (help_echo_object, help_echo_pos): New variables.
2870 (note_mode_line_highlight): Store additional information about the
2871 help-echo in help_echo_object and help_echo_pos. Check both
2872 `local-map' and `keymap' properties for changing the cursor
2873 (note_mouse_highlight): Store additional information about the
2874 help-echo in help_echo_object and help_echo_pos.
2875 (note_tool_bar_highlight): Set help_echo_object to nil and
2876 help_echo_pos to -1.
2877 (w32_read_socket): Use gen_help_event instead of filling
2878 input_events manually.
2879 (syms_of_w32term): Staticpro help_echo_object.
2880 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
2881 set, arrange for a mouse-highlight redisplay in
2882 XTframe_up_to_date.
2883 (x_clear_mouse_face): New function.
2884 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
2885 (x_update_window_begin): No need to turn off the mouse
2886 highlight here.
2887 (show_mouse_face): Set the mouse_face_p flag of glyph rows
2888 depending on whether they contain glyphs highlighted in
2889 mouse-face.
2890 (x_fill_stretch_glyph_string): Consume runs of stretch
2891 glyphs instead of a single one.
2892 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
2893 with new argument list.
2894 (x_set_glyph_string_gc): Make sure the face's GC is valid.
2895 (x_append_glyph, x_append_composite_glyph)
2896 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
2897 changes in struct glyph starting 1999-12-27. See comments for
2898 xterm.c on 2000-07-05.
2899
178c5d9c
SS
29002000-07-14 Sam Steingold <sds@gnu.org>
2901
2902 * xfaces.c (realize_x_face): Fix the last patch:
2903 check `default_face' before dereferencing.
2904
6fe533f6
DL
29052000-07-14 Dave Love <fx@gnu.org>
2906
069f5950 2907 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 2908
dd7b81cf
KH
29092000-07-14 Kenichi Handa <handa@etl.go.jp>
2910
0693904a 2911 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 2912 default_face's fontset, not using the default fontset.
0693904a 2913
dd7b81cf
KH
2914 * coding.c (inhibit_iso_escape_detection): New variable.
2915 (syms_of_coding): Make it a Lisp variable.
2916 (detect_coding_iso2022): If inhibit_iso_escape_detection is
2917 nonzero, ignore ISO2022's escape sequence.
2918
d5aa31d8
GM
29192000-07-14 Gerd Moellmann <gerd@gnu.org>
2920
e5acf0ca
GM
2921 * alloca.c (malloc) [emacs]: Define as xmalloc.
2922
bd23a692
GM
2923 * xfns.c (Fx_show_tip): If frame parameters contain a position,
2924 use that instead of the mouse position. Add parameters DX and DY.
2925
2926 * dispextern.h (Fx_show_tip): Adjust number of parameters
2927 in prototype.
2928
9662da0b
GM
2929 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
2930 if HELP is a function, call it with OBJECT and POS as parameters
2931 to get the help to display.
2932 (gen_help_event, kbd_buffer_store_help_event): New functions.
2933 (kbd_buffer_get_event): Construct the Lisp help-event differently.
2934 (read_char): Call show_help_echo with new parameters.
2935
178c5d9c 2936 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
2937 Add prototypes.
2938
2939 * xterm.c (help_echo_object, help_echo_pos): New variables.
2940 (note_mode_line_highlight): Store additional information about the
2941 help-echo in help_echo_object and help_echo_pos. Check both
2942 `local-map' and `keymap' properties for changing the cursor
2943 (note_mouse_highlight): Store additional information about the
2944 help-echo in help_echo_object and help_echo_pos.
2945 (note_tool_bar_highlight): Set help_echo_object to nil and
2946 help_echo_pos to -1.
2947 (XTread_socket): Use gen_help_event instead of filling
2948 input_events manually.
2949 (syms_of_xterm): Staticpro help_echo_object.
2950
2951 * xmenu.c (menu_highlight_callback): Use
2952 kbd_buffer_store_help_event instead of setting up and input_event
2953 structure manually.
2954
2955 * xdisp.c (eval_form): GCPRO argument sexpr.
2956 (call_function): New function.
2957 (handle_single_display_prop): Use call_function and FUNCTIONP
2958 instead of checking whether if font_height is a symbol and
2959 using eval_form.
2960
2961 * eval.c (internal_condition_case_2): New function.
2962
2963 * lisp.h (FUNCTIONP): New macro.
2964 (internal_condition_case_2, call_function): Add prototypes.
2965
d5aa31d8
GM
2966 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
2967 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
2968 Always set `arg' member of input_events.
2969 (construct_menu_click): Unused function removed.
2970
2971 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
2972
2973 * w32term.c (construct_mouse_click, construct_mouse_wheel)
2974 (construct_drag_n_drop, x_scroll_bar_handle_click)
2975 (w32_read_socket): Always set `arg' member of input_events.
2976
2977 * keyboard.c (show_help_echo): Use eval_form. Add comment.
2978
2979 * lisp.h (eval_form): Add prototype.
2980
2981 * xdisp.c (eval_form): Make it externally visible.
2982
0f1a9b23
GM
29832000-07-13 Gerd Moellmann <gerd@gnu.org>
2984
2985 * xterm.c (x_handle_tool_bar_click): Store the frame in the
2986 frame_or_window slot of TOOL_BAR_EVENT input events instead of
2987 consing. For prefix events, store the frame in the `arg' slot of
2988 the event, otherwise store the key there.
2989 (XTread_socket): Instead of consing, use the frame_or_window slot
2990 of HELP_EVENTs for the frame, and the `arg' slot for the help
2991 string.
2992
2993 * xmenu.c (menu_highlight_callback): Store help string in the
2994 `arg' member of the input event; don't cons.
2995 (menubar_selection_callback): Use the `arg' slot of input events
2996 to queue additional information, instead of consing.
2997
2998 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
2999
3000 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
3001 TOOL_BAR_EVENTs.
3002 (w32_read_socket): Adapt to changes in HELP_EVENTs.
3003
3004 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
3005 input events to queue additional information, instead of consing.
3006
3007 * keyboard.c (kbd_buffer_gcpro): Renamed from
3008 kbd_buffer_frame_or_window. Now used for all Lisp objects
3009 referenced from the input queue.
3010 (kbd_buffer_store_event): Always use structure assignment for
3011 copying input events. Record all Lisp objects referenced from
3012 events in kbd_buffer_gcpro.
3013 (kbd_buffer_get_event): Construct Lisp `help-echo' events
3014 differently from input events. Test for prefix menu_bar_events
3015 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
3016 event in kbd_buffer_gcpro to nil.
3017 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
3018 frame_or_window is equal to its arg member as prefix events.
3019 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
3020 used by an input event to nil.
3021 (init_keyboard): Use two times the size of the input queue
3022 for kbd_buffer_gcpro.
3023 (syms_of_keyboard): Likewise.
3024
3025 * emacs.c (handle_USR2_signal, handle_USR1_signal): Use
3026 USER_SIGNAL_EVENT.
3027
3028 * termhooks.h (struct input_event): Add member `arg'.
3029 (MENU_BAR_EVENT): Renamed from menu_bar_event.
3030 (USER_SIGNAL_EVENT): Renamed from user_signal.
3031
3032 * xfaces.c (ASET): Remove definition.
3033
3034 * lisp.h (AREF, ASET, ASIZE): New macros.
3035
3036 * fontset.c (AREF, ASIZE): Remove definitions.
3037
3038 * fns.c (AREF): Remove definition.
178c5d9c 3039
0f1a9b23
GM
3040 * composite.c (AREF): Remove definition.
3041
712eaef2
GM
30422000-07-12 Gerd Moellmann <gerd@gnu.org>
3043
d8ee7803
GM
3044 * dispnew.c (redraw_overlapped_rows): Add missing local.
3045 (scrolling_window): Remove debug code.
3046
712eaef2
GM
3047 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
3048 Before scrolling, turn off a mouse-highlight in the window
3049 being scrolled.
3050
3051 * xterm.c (x_update_window_end): Add parameter
3052 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
3053 redisplay in XTframe_up_to_date.
3054 (x_clear_mouse_face): New function.
3055 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
3056
3057 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
3058 current glyph row.
3059 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
3060 it when any row is written to that contains glyphs highlighted in
3061 mouse-face.
3062 (update_window): Call the window update end hook with new
3063 parameter MOUSE_FACE_OVERWRITTEN_P.
3064 (direct_output_for_insert): Give up if row contains mouse-face.
3065
3066 * dispextern.h (struct redisplay_interface): Add parameter
3067 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
3068 (clear_mouse_face): New function pointer member.
3069
02010917
SM
30702000-07-11 Stefan Monnier <monnier@cs.yale.edu>
3071
3072 * syntax.c (back_comment): Use one switch rather than a few `if's.
3073 Obey open_paren_in_column_0_is_defun_start.
3074 When reverting to the `slow' method, try to nicely handle the case
3075 of nested comments by checking that the comment-starter we found
3076 does indeed match the comment-ender.
3077 (scan_sexps_forward, scan_sexps_forward):
3078 Ignore excessive opening parenthesis rather than throwing an error.
3079
d76c03ea
GM
30802000-07-11 Gerd Moellmann <gerd@gnu.org>
3081
3082 * doc.c (Fsubstitute_command_keys): Handle case that a GC
3083 in Fwhere_is_internal or get_keymap_1 relocates string contents.
3084
3085 * dispnew.c (direct_output_forward_char): Give up if currently
3086 displaying a message instead of the minibuffer contents.
3087
3088 * xterm.c (x_update_window_begin): No need to turn off the mouse
3089 highlight here.
3090 (show_mouse_face): Set the mouse_face_p flag of glyph rows
3091 depending on whether they contain glyphs highlighted in
3092 mouse-face.
3093
3094 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
3095 compare the mouse_face_p flags of both rows.
3096
3097 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
3098
d55ead18
EZ
30992000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
3100
3101 * keyboard.c (show_help_echo): Accept additional parameter
3102 ok_to_overwrite_keystroke_echo.
3103 (read_char): Call show_help_echo with a zero
3104 ok_to_overwrite_keystroke_echo argument.
3105 * keyboard.h (show_help_echo): Update prototype of
3106 show_help_echo.
3107 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
3108 ok_to_overwrite_keystroke_echo argument.
3109 * w32menu.c (w32_menu_display_help): Call show_help_echo with
3110 non-zero ok_to_overwrite_keystroke_echo argument.
3111
df75b1a3
GM
31122000-07-10 Gerd Moellmann <gerd@gnu.org>
3113
4b92c49a
GM
3114 * xdisp.c (try_window_id): If changes are all below what is
3115 displayed in the window, and point is in the window, we still
3116 might have to find point on the display.
3117
3118 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
3119 glyphs instead of a single one.
3120 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
3121 with new argument list.
3122 (x_set_glyph_string_gc): Make sure the face's GC is valid.
3123
df75b1a3
GM
3124 * keymap.c (get_keymap_1): Add comment that this function can GC.
3125 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
3126 comment that functions can GC.
3127 (Fset_keymap_parent): GCPRO arg KEYMAP.
3128
4314cf3e
EZ
31292000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
3130
3131 * msdos.c (XMenuActivate): After exiting the menu, restore the
3132 echo area message and erase it.
3133
ab49ce15
KH
31342000-07-10 Kenichi Handa <handa@etl.go.jp>
3135
3136 * fontset.c (Ffontset_info): Make the return value more compatible
3137 with that of Emacs 20.
3138
090a072f
GM
31392000-07-07 Gerd Moellmann <gerd@gnu.org>
3140
3141 * eval.c (Fsignal): Handle case that backtrace_list is null.
3142
f92de4a6
KH
31432000-07-07 Kenichi Handa <handa@etl.go.jp>
3144
3145 * ccl.c (Fccl_execute): Typo fixed.
3146
dd8888a1
GM
31472000-07-06 Gerd Moellmann <gerd@gnu.org>
3148
e5c81191 3149 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 3150
dd8888a1
GM
3151 * window.c (Fwindow_list): Reverse list at the end.
3152 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
3153 means allow windows on OWINDOW's frame, only.
3154 (window_loop): Simplified; use Fwindow_list.
3155
3156 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
3157
485266d0
GM
31582000-07-05 Gerd Moellmann <gerd@gnu.org>
3159
3160 * xterm.c (XTread_socket): Increment handling_signal at the start,
3161 decrement it at the end.
3162
3163 * eval.c (handling_signal): New variable.
3164 (Fsignal): Abort if handling_signal is non-zero.
3165
3166 * lisp.h (handling_signal): External declaration.
178c5d9c 3167
485266d0
GM
3168 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
3169
80fcd514
KR
31702000-07-05 Ken Raeburn <raeburn@gnu.org>
3171
3172 Sound support for NetBSD through "Linux emulation" support:
3173 * config.in (HAVE_SOUNDCARD_H): Undef.
3174 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
3175 * Makefile.in (LIBSOUND): New variable.
3176 (LIBES): Include it.
3177 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and
3178 <soundcard.h>.
3179 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined
3180 elsewhere.
3181 (vox_open): Use DEFAULT_SOUND_DEVICE.
3182 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
3183
d5c5cddd
GM
31842000-07-05 Gerd Moellmann <gerd@gnu.org>
3185
3186 * print.c (print_error_message): If Vsignaling_function is set,
3187 show it in *Messages*.
3188
3189 * lisp.h (Vsignaling_function): External declaration.
3190
3191 * eval.c (Vsignaling_function): New variable.
3192 (Fsignal): Compute it.
3193 (syms_of_eval): Staticpro it.
3194
65171e3a
DL
31952000-07-05 Dave Love <fx@gnu.org>
3196
3197 * syswait.h: Use the autoconf recommended approach. Old code
3198 #if'd out in case we need to revert.
3199
178c5d9c 3200 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 3201
e2c46326
AI
32022000-07-05 Andrew Innes <andrewi@gnu.org>
3203
3204 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
3205 when non-NULL instead of __morecore, to take account of buffer
3206 memory. This also solves a problem with spurious memory warnings
3207 on Windows.
3208
3209 * ralloc.c: Make real_morecore non-static.
3210
3211 * eval.c (internal_condition_case): Comment out abort if
3212 interrupt_input_blocked is not zero.
3213
3214 * makefile.nt: Add support for `bootstrap' and related targets.
3215 Include minimal debug info in emacs.exe in release build.
3216 Remove all dependencies on lisp.h, and fixup some others.
3217
3218 * w32.c (init_environment): Install code from 20.7 for providing
3219 default values for environment variables, based on the
3220 executable's own location.
3221 (map_w32_filename): Handle filenames that are longer than
3222 MAX_PATH.
3223 (sys_socket): Install socket inheritance bug fix from 20.7.
3224
3225 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
3226 here via blockinput.h).
3227
a027a91b
SM
32282000-07-05 Stefan Monnier <monnier@cs.yale.edu>
3229
e4b31601
SM
3230 * w32menu.c (w32_menu_display_help):
3231 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
3232
3233 * keyboard.h (show_help_echo): Declare.
3234
3235 * keyboard.c (show_help_echo): New function, extracted from read_char.
3236 Feval its `msg' argument if it's a cons cell.
3237 (read_char): Use it.
4cf8d9d5 3238 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 3239
178c5d9c 3240 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 3241 (note_tool_bar_highlight, XTread_socket):
178c5d9c 3242 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
3243 (dos_rawgetc):
3244 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
3245 (note_tool_bar_highlight, w32_read_socket):
3246 Do not gratuitously ignore non-string `help-echo' properties.
3247
88d75730
GM
32482000-07-05 Gerd Moellmann <gerd@gnu.org>
3249
969f7e79
GM
3250 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
3251
71201b00
GM
3252 * window.c (delete_all_subwindows): Reset Vwindow_list.
3253
88d75730
GM
3254 * xterm.c (x_append_glyph, x_append_composite_glyph)
3255 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
3256 changes in struct glyph starting 1999-12-27. Some bit-fields of
3257 struct glyph were not set, which made glyphs unequal when compared
3258 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
3259 effects were the result. This also depended on the contents of
3260 memory returned by xmalloc. If flickering happens again, activate
3261 the code in clear_glyph_row that's in #if 0. If the flickering is
3262 gone with that, chances are that it is caused by something
3263 similar.
3264
3265 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 3266
88d75730
GM
3267 * dispextern.h: Add some comments.
3268
3269 * window.c (add_window_to_list): Add parameter LIST.
3270 (window_list): Order list so that, for each frame, windows are
3271 in canonical order, and so that frames appear in the list in
3272 the order given by Vframe_list.
3273 (next_window): Reverse the handling of NEXT_P.
3274
53654733
GM
32752000-07-04 Gerd Moellmann <gerd@gnu.org>
3276
87efd256
GM
3277 * window.c (Vwindow_list): New variable.
3278 (make_window, delete_window): Set Vwindow_list to nil.
3279 (check_window_containing): New function.
3280 (window_from_coordinates): Rewritten.
3281 (add_window_to_list, window_list, candidate_window_p)
3282 (decode_next_window_args, next_window): New functions.
3283 (Fnext_window, Fprevious_window): Rewritten in terms of
3284 next_window.
3285 (Fwindow_list): New function.
3286 (Fother_window): Cleaned up.
3287 (foreach_window): Add a longer "variable argument list". Let
3288 callback function return 0 to indicate that cycling over windows
3289 should stop.
3290 (foreach_window_1): Likewise.
3291 (freeze_window_start): Return int.
3292 (init_window): New function.
3293 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
3294
3295 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
3296 input_event with bzero.
3297 (main): Call init_window.
3298
53654733
GM
3299 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
3300 a menu filter.
3301
4a8c194f
KH
33022000-07-04 Kenichi Handa <handa@etl.go.jp>
3303
3304 * composite.h (make_composition_value_copy): Extern it.
3305
3306 * composite.c (make_composition_value_copy): New function.
3307
3308 * editfns.c (Fformat): While copying text properties, make each
3309 composition property value a copy.
3310
3311 * fns.c (concat): While copying text properties, make each
3312 composition property value a copy.
3313
831a6cb0
GM
33142000-07-03 Gerd Moellmann <gerd@gnu.org>
3315
2f516940
GM
3316 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
3317
178c5d9c 3318 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
3319 marked already.
3320
831a6cb0
GM
3321 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
3322 include those frames as candidates which have their focus
3323 redirected to the minibuffer frame.
3324
d9c4f922
SM
33252000-07-03 Stefan Monnier <monnier@cs.yale.edu>
3326
3327 * fns.c (Fputhash): Return `value' rather than nil.
3328
3780bc22
GM
33292000-06-30 Gerd Moellmann <gerd@gnu.org>
3330
97d176db
GM
3331 * frame.c (next_frame): Don't check focus redirection in case
3332 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
3333 unless their focus is redirected, which contradicts the
3334 specification of next-frame, and leads to infinite loops in
3335 certain situations when cycling through windows with next-window.
3336
dca9961d
KH
33372000-06-30 Kenichi Handa <handa@etl.go.jp>
3338
3339 * coding.c (code_convert_region): Even if the length of text is
3340 zero, try to convert it if coding->type is coding_type_ccl.
3341 (decode_coding_string, encode_coding_string): Likewise.
3342
d5483ab1
GM
33432000-06-28 Gerd Moellmann <gerd@gnu.org>
3344
af5c25e1 3345 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 3346 the display if windows_or_buffers_changed.
af5c25e1
GM
3347
3348 * dispnew.c (struct row_entry): New structure.
3349 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
3350 (row_table_size, old_lines, new_lines, old_lines_size)
3351 (new_lines_size, run_pool, runs_size, runs): New variables.
3352 (add_row_entry): New function.
3353 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 3354 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
3355 holding them in local variables. Use a larger hash table whose
3356 size depends on glyph matrix sizes. Don't use bzero to clear the
3357 hash table; instead, clear used slots only.
3358
3359 * fns.c (next_almost_prime): Make it externally visible.
3360
3361 * lisp.h (next_almost_prime): Add prototype.
3362
d5483ab1
GM
3363 * s/isc4-0.h (sigunblock): Define.
3364
3365 * s/sco5.h (sigunblock): Define.
3366
93e40f40
DL
33672000-06-27 Dave Love <fx@gnu.org>
3368
3369 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
3370 (moved to osf5-0.h).
3371 [!NOT_C_CODE]: Protect string.h stuff.
3372
3373 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
3374 (sys_siglist, NSIG): Definitions moved here from osf1.h.
3375
3c4b7685
GM
33762000-06-27 Gerd Moellmann <gerd@gnu.org>
3377
97d176db 3378 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
3379 below the last line from the needed window height.
3380
32cad0aa
SM
33812000-06-26 Stefan Monnier <monnier@cs.yale.edu>
3382
3383 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
3384 (Fwidget_get): Use it.
3385 (syms_of_fns): Defsubr it.
3386
2c69ced2
GM
33872000-06-26 Gerd Moellmann <gerd@gnu.org>
3388
178c5d9c 3389 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
3390 display info for XIM.
3391 (xim_open_dpy): Likewise.
3392 (xim_close_dpy): Don't free the display info's XIM.
3393
3394 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
3395
3396 * config.in (USE_XIM): New define.
3397
3fc720e4
GM
3398 * keymap.c (get_keyelt): For menu-items containing a `:filter
3399 FILTER', apply FILTER to the menu-item's definition to get the
3400 real definition to use.
3401
3402 * lisp.h (QCfilter): External declaration.
3403
2c69ced2
GM
3404 * xfns.c (Fimage_size): New function.
3405 (syms_of_xfns): Defsubr it.
3406
f978b2a2
AS
34072000-06-26 Andreas Schwab <schwab@suse.de>
3408
3409 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
3410 Fstring_as_unibyte.
3411
94cc7892
DL
34122000-06-25 Dave Love <fx@gnu.org>
3413
3414 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag,
3415 tgetnum.
3416
3417 * Makefile.in (blockinput.h): Depend on atimer.h.
3418 (atimer.h): Depend on systime.h.
3419
3420 * blockinput.h: Protect against multiple inclusion. Include
3421 atimer.h.
3422
3423 * atimer.h: Protect against multiple inclusion. Include
3424 systime.h.
3425
3426 * lisp.h (swap_in_global_binding): Declare.
3427
b8c24556
KR
34282000-06-24 Ken Raeburn <raeburn@gnu.org>
3429
3430 * process.c (Fopen_network_stream): Turn off atimers for duration
3431 of call to connect. (Patch from Gerd.)
3432
8cf8560b
DL
34332000-06-23 Dave Love <fx@gnu.org>
3434
511c7541
DL
3435 * ralloc.c: Maybe include unistd.h
3436
8cf8560b
DL
3437 * emacs.c (setgrp): Undefine before defining.
3438 (malloc_warning, set_time_zone_rule, index): Prototype.
3439
3440 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
3441 HAVE_STRUCT_TIMEZONE.
3442
3443 * s/osf1.h: Move string.h hack here from alpha.h and make it
3444 conditional.
3445 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
3446 _XOPEN_SOURCE.
3447 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
3448 (SOCKLEN_TYPE): Don't define.
3449
3450 * m/alpha.h: Remove string.h hack.
3451
3452 * s/osf5-0.h: New file.
3453
3454 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
3455 include time.h, done by systime.h.
3456 [__FreeBSD__]: Remove redundant includes.
3457
3fc720e4 3458 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
3459 (delete_temp_file): Return Qnil to avoid warning.
3460
3461 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
3462
3463 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
3464 HAVE_X_WINDOWS.
3465
3466 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
3467
3468 * composite.h (compose_text): Declare.
3469
3470 * xterm.c: Don't include sys/types.h unconditionally. Don't
3471 protect its inclusion with !USG (following xmenu.c).
3472
ea055732
GM
34732000-06-23 Gerd Moellmann <gerd@gnu.org>
3474
3475 * xfns.c (x_create_tip_frame): Initialize frame's colors like
3476 in x_create_frame.
3477
74b01b80
EZ
34782000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
3479
3480 * coding.c (decode_eol_post_ccl): Special handling for undecided
3481 and inconsistent EOL types.
3482
64f3a166
GM
34832000-06-22 Gerd Moellmann <gerd@gnu.org>
3484
16cf31f7
GM
3485 * xrdb.c (x_load_resources): Add default resource for scroll bar's
3486 trough color and main window's background color.
3487
178c5d9c 3488 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events
16cf31f7
GM
3489 differently.
3490
3491 * xterm.h (Xt_app_con): External declaration.
3492
3493 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 3494
486a103d
GM
3495 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
3496
64f3a166
GM
3497 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
3498 (handle_invisible_prop): Record the start of invisible text in
3499 it->add_overlay_start.
3500 (struct overlay_entry): Add member `overlay'.
3501 (handle_overlay_change): Simplify.
3502 (next_overlay_string): After having processed overlay strings at the
3503 end of the buffer, record that fact in
3504 it->overlay_strings_at_end_processed_p.
3505 (compare_overlay_entries): If before- and after-strings come
3506 from the same overlay, let before-strings come first.
3507 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
3508 (load_overlay_strings): Take it->add_overlay_start into account
3509 when adding overlay strings.
3510
3511 * dispextern.h (struct it): Add member add_overlay_start.
3512
bb746ea6
DL
35132000-06-22 Dave Love <fx@gnu.org>
3514
3515 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
3516
3517 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
3518
a8f573f3
KH
35192000-06-22 Kenichi Handa <handa@etl.go.jp>
3520
3521 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
3522 is greater than 0.
3523
9f2bbc92
DL
35242000-06-21 Dave Love <fx@gnu.org>
3525
178c5d9c 3526 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 3527
3ee5041c
SM
35282000-06-21 Stefan Monnier <monnier@cs.yale.edu>
3529
3530 * syntax.c (back_comment): Simplify string-parity counting (with
3531 the added benefit of handling multiple string-styles as long as
3532 they are not intertwined).
3533 Jump to the slow code as soon as a comment starter is found in
3534 a "string_lossage" position. Fixes the case: " /* " /* " */.
3535
4c343001
DL
35362000-06-21 Dave Love <fx@gnu.org>
3537
3538 * Makefile.in: Use GETLOADAVG_LIBS.
3539
3540 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
3541 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
3542
e6365855
SM
35432000-06-20 Stefan Monnier <monnier@cs.yale.edu>
3544
3545 * syntax.c (describe_syntax): Recognize the `n'estable bit.
3546 (Fforward_comment, scan_lists):
3547 Check the comstyle of single-char comment-starters.
3548 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
3549 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
3550 Check the comstyle of single-char comment-starters.
3551 Clarify control-flow around the Scomment case.
e6365855 3552
5700d2cc
DL
35532000-06-20 Dave Love <fx@gnu.org>
3554
d355bd8a
SM
3555 * fns.c (make_hash_table, maybe_resize_hash_table):
3556 Cast arg of next_almost_prime.
5700d2cc 3557
178c5d9c 3558 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
3559
3560 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
3561 and unistd.h.
3562
4a27bdfb
GM
35632000-06-20 Gerd Moellmann <gerd@gnu.org>
3564
a61d762c
GM
3565 * keyboard.c (adjust_point_for_property): Check if display
3566 property should be treated as intangible by looking at its
3567 value.
3568
178c5d9c 3569 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
3570 (display_prop_intangible_p): New functions.
3571
3572 * dispextern.h (display_prop_intangible_p): Add prototype.
3573
3574 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 3575
4a27bdfb
GM
3576 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
3577 argument to sigprocmask.
3578
3579 * s/sco5.h (sigblock): Redefined to pass a pointer as second
3580 argument to sigprocmask.
3581
3582 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
3583 sigprocmask_set, and pass a pointer to it to sigprocmask.
3584
3585 * sysdep.c (sigprocmask_set): New variable.
3586
3587 * fileio.c (make_temp_name): Don't use `%s' in string passed to
3588 report_file_error.
3589
427ec082
SS
35902000-06-20 Sam Steingold <sds@gnu.org>
3591
3592 * xrdb.c: Don't declare xmalloc, xrealloc.
3593
8972fe79 35942000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
3595
3596 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
3597 (re_comp): Cast gettext return value to avoid complaints when
3598 !HAVE_LIBINTL.
3599
074b6efe
DL
36002000-06-20 Dave Love <fx@gnu.org>
3601
f85c008a
DL
3602 * m/stride.h, m/mips.h: Don't define HAVE_GETWD,
3603 HAVE_GETTIMEOFDAY.
3604
5700d2cc 3605 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 3606
d355bd8a 3607 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
3608
3609 * m/alpha.h: Don't declare xmalloc, xrealloc.
3610
0af4f205
DL
3611 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
3612
3613 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
3614
3615 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
3616
3617 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
3618 HAVE_GETWD.
3619
074b6efe
DL
3620 * keyboard.h (poll_for_input_1): Declare.
3621
3622 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
3623
3624 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
3625
3626 * doprnt.c: Don't declare xmalloc, xrealloc.
3627
3628 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
3629 (getenv, ctime, getwd): Removed.
3630 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
3631
3632 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
3633 x_set_tool_bar_lines.
3634
3635 * config.in: Add HAVE_GETWD. Move some definitions above
3636 machine/system includes.
3637
68a5e97b
KH
36382000-06-20 Kenichi Handa <handa@etl.go.jp>
3639
95417e1e
KH
3640 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
3641
68a5e97b
KH
3642 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
3643 contain information about ENCODING.
3644
3645 * fontset.c (FONTSET_ASCII): Use the first element of char table
3646 for an ASCII font, not defalt slot.
3647 (fontset_ref_via_base): If FONTSET doesn't contain information for
3648 C, try the default fontset.
3649 (make_fontset): Don't copy the default fontset.
3650 (fontset_font_pattern): Likewise.
3651 (accumulate_font_info): If ELT is nil, use the corresponding
3652 element in the default fontset.
3653
3b4fa1b2
DL
36542000-06-19 Dave Love <fx@gnu.org>
3655
943e731c
DL
3656 * syntax.c (Fparse_partial_sexp): Doc fix.
3657
3658 * regex.h: Test PROTOTYPES as well as __STDC__.
3659
3b4fa1b2
DL
3660 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
3661 errno, strerror. Put text after #endif in comment.
3662
3663 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for
3664 pcc).
3665
3666 * xterm.c (x_frame_of_widget): Likewise.
3667
cdf0357b
GM
36682000-06-19 Gerd Moellmann <gerd@gnu.org>
3669
3670 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
3671 to Vfundamental_mode_abbrev_table.
3672
3673 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
3674 bogus objects are marked. This slows down GC by ~80 percent, but
3675 it might be worth trying when debugging GC-related problems.
3676 This feature requires conservative stack marking to be enabled.
3677
3678 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
3679 returns XLookupChars, reset `modifiers' to zero.
3680
998e9f8c
DL
36812000-06-19 Dave Love <fx@gnu.org>
3682
3683 * mktime.c: Unprotoized.
3684
18e21ce8 36852000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
3686
3687 * data.c (set_internal): If variable is frame-local,
3688 store the new value immediately into the frame parameter alist.
3689
140c4ac6
KR
36902000-06-19 Ken Raeburn <raeburn@gnu.org>
3691
14358466
KR
3692 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
3693 in the custom handler pointer.
3694
140c4ac6
KR
3695 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
3696 value, or checks for CHAR_META can fail when Lisp_Object is a
3697 union type.
3698 * keymap.c (get_keyelt): Likewise.
3699
10d7bf84
KH
37002000-06-19 Kenichi Handa <handa@etl.go.jp>
3701
3702 * ccl.h (struct ccl_program): New member eol_type.
3703 (struct ccl_spec): New member cr_carryover.
3704
3705 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
3706 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
3707
3708 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
3709 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
3710 (decode_eol_post_ccl): New function.
3711 (decode_coding): Don't detect EOL format here for CCL based coding
3712 systems.
3713 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
3714 decode_eol_post_ccl after running the CCL program.
3715 (code_convert_region): Don't detect EOL format here for CCL based
3716 coding systems.
3717 (decode_coding_string): Likewise.
3718
52e386c2
KR
37192000-06-18 Ken Raeburn <raeburn@gnu.org>
3720
3721 * charset.c (update_charset_table): Use XINT on "iso_final_char"
3722 when treating it as an integer.
3723
3724 * coding.h (encode_coding_string): Declare.
3725
3726 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
3727 it as an integer.
3728
3729 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
3730 "xkeymap" to avoid shadowing the "enum map_type" value that needs
3731 to be passed to get_local_map.
3732
3733 * sound.c (Fplay_sound): Don't call make_number on
3734 Frun_hook_with_args count argument.
3735
3736 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
3737 for lisp objects in X event structure data field, when lisp
3738 objects are represented with unions.
3739 (x_scroll_bar_to_input_event): Ditto.
3740
b357b9d4
KR
37412000-06-16 Ken Raeburn <raeburn@gnu.org>
3742
3743 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
3744 termination of string. Fix sense of test whether
3745 Vline_number_display_limit is an integer.
b357b9d4 3746
a871441d
GM
37472000-06-16 Gerd Moellmann <gerd@gnu.org>
3748
a9021acd
GM
3749 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
3750 only if HAVE_X_WINDOWS.
3751
6344985d
GM
3752 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
3753 of titles.
3754
427ec082 3755 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
3756 out of bounds.
3757
228b083e
EZ
37582000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
3759
3760 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
3761 of its headers.
3762
c25b53a2
KH
37632000-06-15 Kenichi Handa <handa@etl.go.jp>
3764
3765 * coding.c (decode_coding_emacs_mule): Always set src_base at the
3766 start of the while loop.
3767
a6981b11
GM
37682000-06-15 Gerd Moellmann <gerd@gnu.org>
3769
e9924e52
GM
3770 * atimer.c (alarm_signal_handler): Add forward declaration.
3771
a6981b11
GM
3772 * data.c (set_internal): Remove debug code.
3773
25fa6deb
GM
37742000-06-14 Gerd Moellmann <gerd@gnu.org>
3775
dce6b995
GM
3776 * Makefile.in (bootstrap-temacs): Add `-I../src'.
3777
9f817ea4
GM
3778 * unexec.c (toplevel) [COFF]: Include coff.h.
3779
3780 * s/lynxos.h: New file.
3781
3782 * keymap.c (Fsingle_key_description): Enclose function key and
3783 event symbol names in angle brackets.
3784
8a4e3c0c
GM
3785 * xdisp.c (setup_echo_area_for_printing): Call
3786 message_log_maybe_newline if message_buf_print is not set.
3787
3788 * print.c (printchar, strout): Don't check message_buf_print
427ec082 3789 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
3790 function does something useful even when message_buf_print is
3791 already set.
3792
25fa6deb
GM
3793 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines): New
3794 variables.
3795 (ensure_echo_area_buffers): Initialize echo buffer's
3796 truncate lines setting to nil.
3797 (with_echo_area_buffer): Don't set the echo buffer's truncate
3798 lines setting here.
8a4e3c0c 3799 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
3800 of message_truncate_lines.
3801 (resize_mini_window): Handle case that lines are truncated.
3802 (syms_of_xdisp): Initialize Qmessage_truncate_lines. DEFVAR_BOOL
3803 message-truncate-lines.
3804
3805 * keyboard.c (read_char): Bind message-truncate-lines to t
3806 while displaying a help-echo.
3807
3808 * lisp.h (Qmessage_truncate_lines): External declaration.
3809
163dcff3
GM
38102000-06-13 Gerd Moellmann <gerd@gnu.org>
3811
1681ead6
GM
3812 * xdisp.c (Vline_number_display_limit): Renamed from
3813 line_number_display_limit.
3814 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
3815 Extend documentation string. Initialize
3816 Vline_number_display_limit to nil meaning no limit.
3817 (decode_mode_spec): Use Vline_number_display_limit with its new
3818 meaning.
3819
163dcff3
GM
3820 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
3821
18e21ce8 38222000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
3823
3824 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 3825
163dcff3
GM
3826 * xfns.c (x_set_frame_parameters): Comment fix.
3827
3828 * frame.c (store_frame_param): Call swap_in_global_binding if the
3829 variable's current binding was chosen based on this frame.
3830
3831 * data.c (swap_in_global_binding): New function.
3832
a704139d
EZ
38332000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
3834
3835 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
3836 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
3837
9b6610db
EZ
38382000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
3839
3840 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
3841
c68833d2
JR
38422000-06-12 Jason Rumney <jasonr@gnu.org>
3843
3844 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
3845
3846 * w32.h (EMACS_W32_H): Renamed from _NT_H_
3847
3848 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
3849
3850 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
3851
ed1056b3
GM
38522000-06-12 Gerd Moellmann <gerd@gnu.org>
3853
3854 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
3855 (syms_of_xfaces): Defsubr Sdump_colors.
3856 (x_free_colors): Don't treat b&w specially on default visual.
3857 (x_free_dpy_colors): New function.
3858 (free_face_colors): Don't check visual class; it's done
3859 in x_free_colors.
3860
3861 * xterm.c (x_frame_of_widget): New function.
3862 (x_alloc_nearest_color_for_widget): Use it.
3863 (x_copy_dpy_color): New function.
3864 (x_destroy_window): Free various colors.
3865
5050a2ef
KH
38662000-06-12 Kenichi Handa <handa@etl.go.jp>
3867
3868 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
3869
3870 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
3871
3872 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
3873
3874 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
3875
3876 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
3877
fb1b041d
DL
38782000-06-11 Dave Love <fx@gnu.org>
3879
3880 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
3881
ff96b5f4
EZ
38822000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
3883
3884 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
3885
db8eeecd
GM
38862000-06-11 Gerd Moellmann <gerd@gnu.org>
3887
ed1056b3 3888 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
3889 to `XEvent *'.
3890
49b71c5f
KH
38912000-06-10 Kenichi Handa <handa@etl.go.jp>
3892
c479bd55
KH
3893 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
3894 (regex_compile): Fix the code for handling the case of single byte
3895 char and multibyte char being mixed in a range within [...].
3896
ff6a65c2
KH
3897 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
3898 and dst_multibyte members of coding.
3899
49b71c5f
KH
3900 * charset.c (update_charset_table): Update the table
3901 bytes_by_char_head.
3902 (init_charset_once): Initialize elements of bytes_by_char_head to
3903 1 except for leading codes for private charases.
3904
3905 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
3906 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte
3907 sequence.
3908
9e80b57d
KR
39092000-06-09 Ken Raeburn <raeburn@gnu.org>
3910
3911 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
3912 access the data it doesn't point to.
3913
f83fe4b4
GM
39142000-06-08 Gerd Moellmann <gerd@gnu.org>
3915
3916 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 3917 will be translated to a switch-frame event when reading the
f83fe4b4
GM
3918 event queue. This is necessary because Emacs otherwise won't
3919 perform a switch-frame to a new frame until some other event, for
3920 example a keystroke event, forces it to do so. This has various
3921 effects, one visible being that the cursor of a frame created with
3922 C-x 5 2 or switched to with a window manager key binding like
3923 A-TAB stays hollow because selected_window isn't on the newly
3924 focused frame until the switch-frame is performed.
3925
3926 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
3927 generating a switch-frame event if necessary.
3928
3929 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
3930
3931 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
3932 it's an integer.
3933
0890801b
KH
39342000-06-08 Kenichi Handa <handa@etl.go.jp>
3935
3936 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a
3937 charset.
3938
173cbca8
GM
39392000-06-07 Gerd Moellmann <gerd@gnu.org>
3940
3091c2a6
GM
3941 * window.c (displayed_window_lines): Take empty lines at
3942 the bottom of a window into account.
427ec082 3943
f38952fe
GM
3944 * window.c (displayed_window_lines): New function.
3945 (Fmove_to_window_line): Use displayed_window_lines to determine
3946 the number of lines to move, instead of using the window's height.
3947
3948 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
3949 to stop reading, even if the form read sets point to a different
3950 value when evaluated.
3951
427ec082 3952 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
3953 put the cursor.
3954
6ba6c818
KH
39552000-06-07 Kenichi Handa <handa@etl.go.jp>
3956
3957 * fileio.c (e_write): Free composition data if stored in
3958 coding->cmp_data.
3959
5f1aea9a
GM
39602000-06-06 Gerd Moellmann <gerd@gnu.org>
3961
666852af
GM
3962 * xdisp.c (display_line): Set row's and iterator's
3963 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
3964 Set cursor even if row ends in the middle of a character.
3965 (dump_glyph_row): Print values of new flags.
3966 (redisplay_window) <cursor movement in unchanged window>: When
3967 point has been moved forward, and PT is at the end of the cursor
3968 row, don't place the cursor in the next row if the cursor row ends
3969 in the middle of a character or at ZV.
3970
3971 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
3972 (struct glyph_row): Add starts_in_middle_of_char_p and
3973 ends_in_middle_of_char_p.
3974 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
3975 ends_in_middle_of_char_p flag.
3976 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
3977
d13f3e2e
GM
3978 * term.c (append_glyph): Revert change of 2000-06-06.
3979
3980 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
3981 padding glyph not fitting on line as whole character not
3982 fitting on line.
3983
5f1aea9a
GM
3984 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
3985 this isn't true for images with `:ascent 100'.
3986
10cda9b0
KH
39872000-06-06 Kenichi Handa <handa@etl.go.jp>
3988
ed00559d
KH
3989 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
3990 as modified if it is originally unmodified.
3991
10cda9b0
KH
3992 * term.c (encode_terminal_code): Change the way to check if
3993 terminal coding does any conversion.
3994 (append_glyph): Set glyph->pixel_width correctly.
3995
3996 * xdisp.c (display_line): While checking line continuation, pay
3997 attention to a padding glyph.
3998
1969fae2
GM
39992000-06-05 Gerd Moellmann <gerd@gnu.org>
4000
4001 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
4002
162ccef4
DL
40032000-06-05 Dave Love <fx@gnu.org>
4004
f19f32dd
DL
4005 * xdisp.c: Include fontset.h.
4006
4007 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
4008
4009 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
4010
4011 * dispnew.c: Conditionally include term.h.
4012
4013 * coding.h: Declare code_convert_string_norecord.
4014
4015 * frame.h (struct frame): Use volatile unconditionally.
4016
4017 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
4018
4019 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
4020
4021 * systime.h: Protect against multiple inclusion.
4022 (timezone) [USG5_4]: Define as time_t.
4023
4024 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
4025 (Foptimize_char_table, make_temp_name): Declare.
4026
4027 * Makefile.in (xdisp.o): Depend on fontset.h.
4028
4029 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
4030
4031 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
4032 (Foptimize_char_table, make_temp_name): Declare.
4033
427ec082 4034 * s/irix4-0.h:
162ccef4
DL
4035 * s/irix5-0.h:
4036 * s/netbsd.h: Don't define autoconfiscated MATHERR.
4037
2082fe81
DL
40382000-06-02 Dave Love <fx@gnu.org>
4039
4040 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
4041
dcf671d2
GM
40422000-06-02 Gerd Moellmann <gerd@gnu.org>
4043
4044 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 4045 result face, set flags in that face indicating that colors may not
dcf671d2
GM
4046 be freed.
4047
4048 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
4049 glyph, use the ASCII NUL character to determine the face.
4050
d42122a3
DL
40512000-06-02 Dave Love <fx@gnu.org>
4052
4053 * sysdep.c: Conditionally include stdlib.h, unistd.h.
4054 (VFORK_RETURN_TYPE): Remove.
427ec082 4055
d42122a3
DL
4056 * config.in: Add NO_MATHERR.
4057
dd432f16
DL
40582000-06-01 Dave Love <fx@gnu.org>
4059
90aa4ea8
DL
4060 * cmds.c (internal_self_insert): Don't check
4061 Vbefore_change_function, Vafter_change_function.
4062
4063 * insdel.c (signal_before_change, signal_after_change): Likewise.
4064
4065 * buffer.c (Vbefore_change_function, Vafter_change_function):
4066 Variables and their initializations deleted.
4067
2330c9d4
DL
4068 * callint.c (Fcall_interactively): Doc fix.
4069
dd432f16
DL
4070 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
4071
bf9e8804
DL
40722000-05-31 Dave Love <fx@gnu.org>
4073
4074 * textprop.c: Revert last change -- duplicated.
4075
3694b4ab
GM
40762000-05-31 Gerd Moellmann <gerd@gnu.org>
4077
4078 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
4079 in #if 0.
4080
4081 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
4082
f14156cd
JR
40832000-05-31 Jason Rumney <jasonr@gnu.org>
4084
8119aab8
JR
4085 * search.c (Fre_search_forward, Fre_search_backward)
4086 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
4087
f14156cd
JR
4088 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
4089
4aab9be3
JR
40902000-05-30 Jason Rumney <jasonr@gnu.org>
4091
4092 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
4093 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
4094
4095 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type
4096 member.
4097
4098 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
4099 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
4100 expand a nil default_filename.
4101
4102 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
4103 pointer to glyph_to_pixel_coords, not a frame.
4104
4105 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
4106 coding.h to dependencies.
4107
4108 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
4109
4110 * w32console.c (glyph_to_pixel_coords): Change first parameter to
4111 window pointer to be consistent with w32term.c and xterm.c.
4112
4113 * w32fns.c: Format and doc changes to bring closer to xfns.c.
4114 (VIETNAMESE_CHARSET): Define if not defined in system headers.
4115 (Qline_spacing, Qcenter): New variables.
4116 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
4117 (x_set_line_spacing): New function.
4118 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT
4119 macros.
4120 (x_specified_cursor_type): New function.
4121 (x_set_cursor_type): Use it.
4122 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
4123 and icon strings.
4124 (validate_x_resource_name, x_get_resource_string): Measure lengths
4125 of external strings in bytes.
4126 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
4127 GetTextExtentPoint32 with NULL title.
4128 (Fx_create_frame): Initialize Qline_spacing.
4129 (w32_load_system_font): Initialize font->double_byte_p.
4130 (x_to_w32_charset): Use Vw32_charset_info_alist.
4131 (Image, busy cursor, tooltip functions): Merged changes from
4132 xfns.c. Not yet functional on Windows.
4133
4134 * w32gui.h (W32FontStruct): Add double_byte_p member.
4135
4136 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
4137 (emacs_button_translation): Use it.
4138 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
4139 in `mask' to be set.
4140
4141 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
4142 menu strings.
4143
4144 * w32term.c: Format and doc changes to bring closer to xterm.c.
4145 (w32_char_font_type): New enum.
4146 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
4147 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
4148 (w32_encode_char): New function.
4149 (x_encode_char): Removed.
4150 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
4151 x_encode_char and w32_font_is_double_byte.
4152 (x_produce_image_glyph): Use image_ascent.
4153 (x_produce_glyphs): Use new version of w32_per_char_metric and
4154 handle NULL return value. Allow extra line spacing.
4155 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
4156 (w32_get_glyph_overhangs): Remove unicode_p param. Use
4157 w32_font_type member of glyph instead.
4158 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
4159 (fast_find_position): Make sure not to consider rows not visible
4160 in the window.
4161 (w32_read_socket) [WM_MENUSELECT]: Cannot call
4162 w32_menu_display_help with input blocked, as it can abort.
4163 (x_display_and_set_cursor): Choose cursor depending
4164 on buffer-local value of cursor_type.
4165 (x_draw_bar_cursor): Add parameter WIDTH.
4166
4167 * w32term.h (CP_DEFAULT): Define.
4168 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
4169
10fc3187
GM
41702000-05-30 Gerd Moellmann <gerd@gnu.org>
4171
4172 * search.c (Fre_search_forward, Fre_search_backward)
4173 (Fposix_search_backward, Fposix_search_forward): Doc fix.
4174
d0555360
KH
41752000-05-30 Kenichi Handa <handa@etl.go.jp>
4176
4177 * coding.c (detect_coding_iso2022): Fix code for checking
4178 CODING_CATEGORY_MASK_ISO_8_2.
4179
f1ad044f
SM
41802000-05-29 Stefan Monnier <monnier@cs.yale.edu>
4181
4182 * regex.c (PREFETCH_NOLIMIT): New function.
4183 (re_match_2_internal): Use it and adjust the end_match_2 logic.
4184
84ec3b4b
GM
41852000-05-29 Gerd Moellmann <gerd@gnu.org>
4186
66254a13
GM
4187 * syntax.c (find_defun_start): Move test for
4188 open_paren_in_column_0_is_defun_start outside of the loop.
4189
49e70dec
GM
4190 * xdisp.c (redisplay_window): Really switch buffers when
4191 displaying mode lines, and temporarily set selected_frame to the
4192 frame of the window that's redisplayed.
4193
84ec3b4b
GM
4194 * xfaces.c (free_realized_faces): Block/unblock input.
4195 (free_realized_multibyte_face): Ditto.
4196
869a3a14
DL
41972000-05-29 Dave Love <fx@gnu.org>
4198
4199 * textprop.c (Qkeymap): New variable.
4200 (syms_of_textprop): Intern it.
4201
4202 * keymap.c: Include intervals.h.
4203 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
4204
4205 * Makefile.in (keymap.o): Depend on intervals.h.
4206
4207 * keyboard.c (menu_bar_items, tool_bar_items)
4208 (Fexecute_extended_command): Deal with `keymap' property.
4209 (read_key_sequence): Track map from `keymap' property as well as
4210 `local_map'.
4211
4212 * intervals.c (get_local_map): Extra arg to allow looking for
4213 `keymap' too.
4214
4215 * intervals.h (map_property): New enum.
4216 (get_local_map): Extra arg using it.
4217 (Qkeymap): Declare.
4218
84ec3b4b 4219 * lisp.h (get_local_map): Don't declare here.
869a3a14 4220
89d0c844
KH
42212000-05-29 Kenichi Handa <handa@etl.go.jp>
4222
4223 * Makefile.in (callproc.o): Depend on composite.h.
4224
4225 * callproc.c: Include composite.h.
4226 (Fcall_process): Handle composition correctly.
4227
4228 * coding.h (coding_allocate_composition_data): Extern it.
4229 (coding_restore_composition): Likewise.
4230
4231 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
4232 yet allocated, finish decoding with result
4233 CODING_FINISH_INSUFFICIENT_CMP.
4234 (coding_allocate_composition_data): Make it non-static.
4235 (coding_restore_composition): Likewise.
4236
797a084a
EZ
42372000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
4238
4239 * charset.c (syms_of_charset): Revert last change.
4240
cf872af5
EZ
42412000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
4242
4243 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
4244 charsets as unibyte, with 1-column screen width. Sent by Kenichi
4245 Handa.
cf872af5 4246
5b1ae051
EZ
42472000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
4248
4249 * charset.c (syms_of_charset): Set width of character sets
4250 eight-bit-control and eight-bit-graphic to 1 column.
4251
34ec9ebe
GM
42522000-05-26 Gerd Moellmann <gerd@gnu.org>
4253
4254 * config.in (HAVE_SPEED_T): New define.
4255
4256 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
4257 `extern speed_t'.
4258
dd854dc2
DL
42592000-05-26 Dave Love <fx@gnu.org>
4260
4261 * coding.c (shrink_decoding_region): Initialize eol_conversion.
4262
4263 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
4264 (Fsubr_arity): New function.
4265 (syms_of_data): Install them.
4266
ba9f8f95
KH
42672000-05-26 Kenichi Handa <handa@etl.go.jp>
4268
0f3e0672
KH
4269 * charset.c (init_charset_once): Set the table bytes_by_char_head
4270 correctly.
4271
cebefb44
KH
4272 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
4273 the default fontset to what Emacs uses by default.
0f3e0672
KH
4274 (check_registry_encoding): This function deleted.
4275 (Fset_fontset_font): Remove the adhoc condition for the default
4276 fontset. Allow cons in FONTNAME.
cebefb44 4277
0f3e0672
KH
4278 * fns.c (map_char_table): Ignore char-table entries for
4279 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 4280
7a18af49
KR
42812000-05-25 Ken Raeburn <raeburn@gnu.org>
4282
4283 * emacs.c (main): Initialize keyboard syms before initializing
4284 window code, so face names are available.
4285
d2af47df
SM
42862000-05-25 Stefan Monnier <monnier@cs.yale.edu>
4287
4288 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
4289 of an anchor at the beginning of a shy-group.
4290
fc6a6a4e
GM
42912000-05-25 Gerd Moellmann <gerd@gnu.org>
4292
4293 * xdisp.c (handle_invisible_prop): Don't try to skip over
4294 invisible text if end of text is already reached.
4295
005f0d35
DL
42962000-05-25 Dave Love <fx@gnu.org>
4297
02513cdd
DL
4298 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
4299
005f0d35
DL
4300 * coding.c (encode_eol): Add null statement after label.
4301
89f6ca4e
EZ
43022000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
4303
4304 * w16select.c (Fw16_set_clipboard_data): Fix the change from
4305 2000-05-20.
4306
a4e1759e
KH
43072000-05-25 Kenichi Handa <handa@etl.go.jp>
4308
4309 * ccl.c (ccl_driver): Fix previous change.
4310
eacfd7fe
KH
43112000-05-25 Kenichi Handa <handa@etl.go.jp>
4312
46ab33a9
KH
4313 * coding.c (run_pre_post_conversion_on_str): Set point to the
4314 beginning of buffer before calling coding->post_read_conversion.
4315 (decode_coding_string): Give correct args to
4316 run_pre_post_conversion_on_str.
4317 (encode_coding_string): Likewise.
4318
eacfd7fe
KH
4319 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
4320 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
4321 eight-bit-graphic correctly.
4322
f8569325
DL
43232000-05-24 Kenichi HANDA <handa@etl.go.jp>
4324
4325 * fileio.c (Finsert_file_contents): Even if a file is not found,
4326 execute codes for setting up coding system. Call
4327 after-insert-file-functions unconditionally.
4328
04545643
GM
43292000-05-24 Gerd Moellmann <gerd@gnu.org>
4330
4331 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
4332 BSD_PGRPS are not defined.
4333
747d90ea
KH
43342000-05-24 Kenichi Handa <handa@etl.go.jp>
4335
4336 * charset.c (update_charset_table): Accept nil in LONG_NAME and
4337 DESCRIPTION.
4338 (syms_of_charset): Avoid building same strings.
4339
716e3b88
GM
43402000-05-23 Gerd Moellmann <gerd@gnu.org>
4341
4342 * lread.c (Fload): Add a comment about the meaning of
4343 Vuser_init_file being t.
4344
4345 * puresize.h (BASE_PURESIZE): Increase to 675000.
4346
4347 * s/gnu-linux.h (setpgrp): Don't define it here because this
4348 prevents compilation on GNU/Linux systems with glib 2.2.
4349
4350 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
4351 as setpgid.
427ec082 4352
9aeb39fa
EZ
43532000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
4354
4355 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
4356 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
4357 version.
4358 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
4359
29ced61b
KH
43602000-05-23 Kenichi Handa <handa@etl.go.jp>
4361
0574a2ed
KH
4362 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE
4363 unconditionally.
4364
3d80f24d
KH
4365 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
4366
4367 * term.c (encode_terminal_code): Set coding->src_multibyte
4368 properly.
4369
29ced61b
KH
4370 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
4371
d7e00792
KH
43722000-05-22 Kenichi Handa <handa@etl.go.jp>
4373
c9d80d38
KH
4374 * keyboard.c (read_char): Allow character codes 128..255 to be
4375 handled by input-method-function.
4376
d7e00792
KH
4377 * insdel.c (adjust_markers_for_replace): Fix previous change.
4378 (adjust_after_replace): If PREV_TEXT is nil, call
4379 adjust_markers_for_insert, not adjust_markers_for_replace.
4380
087121cc 43812000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 4382
087121cc
GM
4383 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
4384 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
4385 [HAVE_GRANDPT]: Define.
4386 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
4387
4388 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
4389 like SYSV_PTYS.
4390
4391 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
4392
4393 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
4394
c9671f81
KH
43952000-05-20 Kenichi Handa <handa@etl.go.jp>
4396
4397 The following changes are to handle 8-bit characters in a
4398 multibyte buffer/string without facing with byte combining
4399 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
4400 eight-bit-graphic (for 0xA0..0xFF) are introduced.
4401
4402 * Makefile.in (fns.o): Depend on charset.h.
4403
4404 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
4405 convert it to unibyte.
4406 (make_string): Use parse_str_as_multibyte, not chars_in_text.
4407
4408 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
4409 apparent char boundary.
4410 (Fset_buffer_multibyte): Convert 8-bit characters in the range
4411 0x80..0x9F to/from multibyte form.
4412
4413 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
4414 to unibyte.
4415
4416 * callproc.c (Fcall_process): Always encode an argument string if
4417 it is multibyte. Setup src_multibyte and dst_multibyte members of
4418 process_coding properly.
ce75fd23 4419
c9671f81
KH
4420 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
4421 SPLIT_NON_ASCII_CHAR.
4422
4423 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
4424 as is.
4425 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
4426
4427 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New
4428 variables.
4429 (SPLIT_CHARACTER_SEQ): This macro deleted.
4430 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is
4431 valid.
4432 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
4433 and eight-bit-graphic.
4434 (char_to_string): Likewise. Signal an error for too large
4435 character code.
4436 (char_printable_p): Return 0 for 8-bit characters.
4437 (update_charset_table): Update iso_charset_table only when a final
4438 character is non-negative.
4439 (find_charset_in_text): Renamed from find_charset_in_str.
4440 Arguments and return value changed. Callers changed.
4441 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
4442 be -1 if CHARSET is used only internally.
4443 (Fmake_char_internal): Handle new charsets; eight-bit-control and
4444 eight-bit-graphic.
4445 (Fcharset_after): Simplified.
4446 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
4447 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
4448 (multibyte_chars_in_text): Simplified by assuming there's no
4449 invalid multibyte sequence.
4450 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte,
4451 str_as_unibyte): New functions.
4452 (Fstring): Simpified by assuming that byte combining never
4453 happens.
4454 (init_charset_once): Initialization for
4455 LEADING_CODE_8_BIT_CONTROL.
4456 (syms_of_charset): Intern and staticpro Qeight_bit_control and
4457 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
4458 eight-bit-control and eight-bit-graphic.
4459
4460 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL,
4461 CHARSET_8_BIT_GRAPHIC): New macros.
4462 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
4463 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
4464 (CHARSET_REVERSE_CHARSET): Likewise.
4465 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
4466 eight-bit-graphic.
4467 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
4468 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
4469 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
4470 encounter an invalid multibyte sequence.
4471 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
4472 sequence is always valid.
4473 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
4474 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New
4475 macros.
4476 (CHAR_STRING): For 8-bit characters, call char_to_string.
4477 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
4478 multibyte sequence is always valid.
4479 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
4480 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte,
4481 str_as_unibyte): Extern them.
4482 (BCOPY_SHORT): Fix a bug.
4483 (CHAR_LEN): This macro deleted. Callers changed to use
4484 CHAR_BYTES.
4485 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
4486 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
4487 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
4488
bd4bde7f 4489 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81
KH
4490 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
4491 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE,
4492 EMIT_BYTES): New macros.
4493 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII,
4494 DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
4495 macros deleted.
4496 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
4497 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
4498 check the validity of multibyte sequence.
4499 (decode_coding_emacs_mule): New function.
4500 (encode_coding_emacs_mule): New macro.
4501 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
4502 the source.
4503 (DECODE_ISO_CHARACTER): Just return a character code.
4504 (DECODE_COMPOSITION_START): Set coding->result instead of result.
4505 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
4506 EMIT_CHAR to produced decoded characters. Exit the loop only by
4507 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
4508 block here.
4509 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
4510 only position codes for an invalid character.
4511 (encode_designation_at_bol): Return new destination pointer. 5th
4512 arg DSTP is changed to DST.
4513 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
4514 from the source by ONE_MORE_CHAR. Don't handle the case of last
4515 block here.
4516 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
4517 macros deleted.
4518 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8,
4519 detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
4520 TWO_MORE_BYTES to fetch a byte from the source.
4521 (encode_eol): Pay attention to coding->src_multibyte.
4522 (detect_coding, detect_eol): Preserve members src_multibyte and
4523 dst_multibyte.
4524 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
4525 (encoding_buffer_size): Set magnification to 3 for all coding
4526 systems that require encoding.
4527 (ccl_coding_driver): For decoding, be sure that the result is
4528 valid multibyte sequence.
4529 (decode_coding): Initialize coding->errors and coding->result.
4530 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
4531 and raw-text, always call decode_eol. Handle the case of last
4532 block here. If not coding->dst_multibyte, convert the resulting
4533 sequence to unibyte.
4534 (encode_coding): Initialize coding->errors and coding->result.
4535 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
4536 and raw-text, always call encode_eol. Handle the case of last
4537 block here.
4538 (shrink_decoding_region, shrink_encoding_region): Detect cases
4539 that we can't skip data more rigidly.
4540 (code_convert_region): Setup src_multibyte and dst_multibyte
4541 members of coding. For decoding, if the buffer is multibyte,
4542 convert the source sequence to unibyte in advance. For encoding,
4543 if the buffer is multibyte, convert the resulting sequence to
4544 multibyte afterward.
4545 (run_pre_post_conversion_on_str): New function.
4546 (code_convert_string): Deleted and divided into the following two.
4547 (decode_coding_string, encode_coding_string): New functions.
4548 (code_convert_string1, code_convert_string_norecord): Call one of
4549 above.
4550 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
4551 MAKE_NON_ASCII_CHAR.
4552 (Fset_terminal_coding_system_internal,
4553 Fset_safe_terminal_coding_system_internal): Setup src_multibyte
4554 and dst_multibyte members.
4555 (init_coding_once): Initialize iso_code_class with new enum
4556 ISO_control_0 and ISO_control_1.
4557
4558 * coding.h (enum iso_code_class_type): Member ISO_control_code is
4559 devided into ISO_control_0 and ISO_control_1.
4560 (struct coding_system): New members src_multibyte, dst_multibyte,
4561 errors, and result. Delete member fake_multibyte.
4562 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
4563 nonzero.
4564 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
4565 nonzero.
4566
4567 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
4568 (Faset): Likewise.
4569
4570 * editfns.c (Fformat): Be sure to convert 8-bit characters to
4571 multibyte form.
4572 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
4573 combining occurs.
4574 (Ftranspose_region): Delete codes for handling byte combining.
4575
4576 * fileio.c (Finsert_file_contents): Setup src_multibyte and
4577 dst_multibyte members of coding. On handling REPLACE on unibyte
4578 buffer, convert the result of decode_coding to unibyte. On
4579 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 4580 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
4581 multibyteness of the source (buffer or string).
4582
4583 * fns.c (concat): Handle 8-bit characters correctly.
4584 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
4585 unibyte in the result.
4586 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
4587 valid multibyte form in the result.
4588 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
4589 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
4590 return -1, signal an error.
4591 (base64_encode_1): New arg MULTIBYTE. Get each character by
4592 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
4593 character is found, return -1.
4594 (Fbase64_decode_region): Delete codes for handling byte-combining.
4595 Treat each decoded byte as a unibyte character.
4596 (Fbase64_decode_string): Return unibyte string.
4597 (Fcompare_strings, concat, string_byte_to_char): Use
4598 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
4599 FETCH_STRING_CHAR_ADVANCE.
4600 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
4601 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
4602
4603 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
4604 SPLIT_NON_ASCII_CHAR.
4605 (fontset_ref_via_base, fontset_set): Likewise
4606
4607 * insdel.c (adjust_markers_for_record_delete): Deleted.
4608 (adjust_markers_for_insert): Argument changed. Caller changed.
4609 (adjust_markers_for_replace): Likewise.
4610 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error,
4611 CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
4612 (copy_text): Delete unused local varialbe c_save. For converting
4613 to multibyte, be sure to make all 8-bit characters in valid
4614 multibyte form.
4615 (count_size_as_multibyte): Handle 8-bit characters correctly.
4616 (insert_1_both, insert_from_string_1, insert_from_buffer_1,
4617 adjust_after_replace, replace_range, del_range_2)
4618 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
4619 (insert_1_both, insert_from_string_1, insert_from_buffer_1,
4620 adjust_after_replace, replace_range, del_range_2) Delete codes for
4621 handling byte combining.
4622 (adjust_before_replace): Deleted.
427ec082 4623
c9671f81
KH
4624 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
4625 SPLIT_NON_ASCII_CHAR.
4626 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
4627 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE
4628 unconditionally.
4629 (Fkey_description): Likewise.
4630
4631 * lread.c (read1): On reading multibyte string, be sure to make
4632 all 8-bit chararacters in valid multibyte form.
4633 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
4634
4635 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
4636 unconditionally.
4637
4638 * process.c (Fstart_process): GCPRO current_dir before calling
4639 Ffind_operation_coding_system. Encode arguments here.
4640 (create_process): Don't encode arguments here. Setup
4641 src_multibyte and dst_multibyte members of struct coding.
4642 (read_process_output): Setup src_multibyte and dst_multibyte
4643 members of struct coding. If the output is to multibyte buffer,
4644 always decode the output of the process. Adjust the
4645 representation of 8-bit characters to the multibyteness of the
4646 output.
4647 (send_process): Setup coding->src_multibyte according to the
4648 multibyteness of the source.
4649
4650 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE
4651 unconditionally.
4652 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
4653 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
4654
4655 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of
4656 CHAR_LEN.
4657
4658 * w16select.c (Fw16_set_clipboard_data): Setup members
4659 src_multibyte and dst_multibyte of coding. Adjusted for the
4660 change for find_charset_in_str.
4661 (Fw16_get_clipboard_data): Likewise.
4662
4663 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
4664 dst_multibyte of coding.
4665 (x_to_w32_font): Likewise.
4666
4667 * w32select.c (Fw32_set_clipboard_data): Setup members
4668 src_multibyte and dst_multibyte of coding. Adjusted for the
4669 change for find_charset_in_str.
4670 (Fw32_get_clipboard_data): Likewise.
4671
4672 * xdisp.c (get_next_display_element): Handle 8-bit characters
4673 correctly.
4674 (next_element_from_display_vector): Use CHAR_BYTES instead of
4675 CHAR_LEN.
4676 (disp_char_vector): Use SPLIT_CHAR instead of
4677 SPLIT_NON_ASCII_CHAR.
4678
4679 * xselect.c (selection_data_to_lisp_data): Setup members
4680 src_multibyte and dst_multibyte of coding. Adjusted for the
4681 change for find_charset_in_str.
4682 (lisp_data_to_selection_data): Likewise.
4683
5f64c9e0
GM
46842000-05-19 Gerd Moellmann <gerd@gnu.org>
4685
2b63d473
GM
4686 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed
4687 buffer.
4688
5f64c9e0
GM
4689 * dispextern.h (Vimage_types): Add extern declaration.
4690
4691 * xdisp.c (Vimage_types): Moved here from xfns.c.
4692 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
4693
4694 * xfns.c (Vimages_types): Moved to xdisp.c.
4695 (syms_of_xfns): Move `image-types' to xdisp.c.
4696
4697 * w32fns.c (Vimage_types): Removed.
4698 (syms_of_w32fns): Remove `image-types'.
4699
813086ea
KH
47002000-05-18 Kenichi Handa <handa@etl.go.jp>
4701
4702 * fns.c (map_char_table): Pay attention to character number of
4703 charset. Check the validity of charset at the first level. For
4704 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
4705 the default value.
4706
4707 * fontset.c: Include "buffer.h".
4708 (fs_load_font): If the face has fontset, record the face ID in
4709 that fontset.
4710 (Finternal_char_font): New function.
4711 (accumulate_font_info): New function.
4712 (Ffontset_info): Rewritten for the new fontset implementation.
4713 (syms_of_fontset): Register Vdefault_fontset in the first element
4714 of Vfontset_table. Include Vdefault_fontset in
4715 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
4716 function.
4717
bdaebbf0
DL
47182000-05-16 Dave Love <fx@gnu.org>
4719
4720 * m/iris5d.h: Deleted -- unused.
4721
cb613bb8
GM
47222000-05-16 Gerd Moellmann <gerd@gnu.org>
4723
b15f3b77
GM
4724 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
4725 `invalid' instead of `illegal'.
4726
4727 * indent.c (Fmove_to_column): When ending within a tab, insert
4728 spaces first so that markers at the end of the tab get adjusted.
4729
835c1b36
GM
4730 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
4731 buffer list that wasn't selected in that frame.
4732
cb613bb8
GM
4733 * filelock.c (get_boot_time): To obtain an 8 char file name, which
4734 is needed on mescaline, use a 2 char prefix, and call
4735 make_temp_name with second arg non-zero.
4736
4737 * fileio.c (make_temp_name): New function, extracted from
4738 Fmake_temp_name.
4739 (Fmake_temp_name): Use it.
4740
f685bea9
EZ
47412000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
4742
4743 * window.c (coordinates_in_window): Subtract 1 when computing
4744 right_x.
4745
a1b8d58b
GM
47462000-05-15 Gerd Moellmann <gerd@gnu.org>
4747
4748 * Makefile.in (lisp): Add env.elc.
4749
4750 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
4751
a265079f
GM
47522000-05-12 Gerd Moellmann <gerd@gnu.org>
4753
4754 * search.c (Freplace_match): Handle case of `\N' in the
4755 replacement when there's no group N.
4756
da4496b6
GM
47572000-05-11 Gerd Moellmann <gerd@gnu.org>
4758
0ace421a
GM
4759 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
4760 of the message to message_dolog.
4761
1172eb8d
GM
4762 * keyboard.c (read_char): Don't clear current message for help
4763 events; let the code handling help events handle this. Change
4764 code detecting help events that should be ignored.
4765
da4496b6
GM
4766 * xdisp.c (handle_single_display_prop): Don't try to set PT if
4767 we're interating over a string.
4768
0623e40f
DL
47692000-05-09 Dave Love <fx@gnu.org>
4770
4771 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
4772 that offset before writing. Move gcpro region past call of
4773 Ffile_regular_p.
4774
bae2503b
DL
47752000-05-04 Dave Love <fx@gnu.org>
4776
4777 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
4778
ec82fb2f
GM
47792000-05-04 Gerd Moellmann <gerd@gnu.org>
4780
4781 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
4782 of inserted characters when BUF equals the current buffer, and PT
4783 is in front of or equal to FROM.
4784
cbf18892
GM
47852000-05-03 Gerd Moellmann <gerd@gnu.org>
4786
4ff40dd0
GM
4787 * xdisp.c (handle_single_display_prop): If display property value
4788 is invalid, or something not supported on the frame, restore
4789 iterator's position to what it was initially. Make sure to return
4790 0 for invalid and unsupported property values.
4791
cbf18892
GM
4792 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
4793 that x_per_char_metric returns null.
4794
1b0672c3
GM
47952000-05-02 Gerd Moellmann <gerd@gnu.org>
4796
576da55d
GM
4797 * xterm.h (struct face): Add forward declaration.
4798 (struct image): Ditto.
4799 (image_ascent): Add prototype.
4800
4801 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
4802 (x_draw_image_relief, x_draw_image_foreground_1): Call function
4803 image_ascent instead of using IMAGE_ASCENT.
4804
4805 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
4806 (IMAGE_ASCENT): Removed.
4807
4808 * xfns.c (Qcenter): New variable.
4809 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
4810 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
4811 (image_ascent): New function.
4812 (lookup_image): Recognize `:ascent center'.
4813 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4814 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
4815 (xbm_load): Don't set image's ascent here.
4816 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
4817 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
4818 check ascent values here.
4819 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
4820 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
4821 (syms_of_xfns): Initialize Qcenter.
4822
1b0672c3
GM
4823 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
4824 to the limits, increase the limits.
4825
0d7811ed
KH
48262000-05-01 Kenichi Handa <handa@etl.go.jp>
4827
4828 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
4829 Check Vfont_encoding_alist against the full name of the opened
4830 font.
4831
a943a5ca
GM
48322000-04-28 Gerd Moellmann <gerd@gnu.org>
4833
4834 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
4835 taller than the window.
4836
5dba1e29
KH
48372000-04-28 Kenichi Handa <handa@etl.go.jp>
4838
4839 * xfaces.c (realize_x_face): Fix the argument of the second
4840 xassert. BASE_FACE may not be a face for ASCII.
4841
353964e3
GM
48422000-04-27 Gerd Moellmann <gerd@gnu.org>
4843
c76e04a8
GM
4844 * print.c (print_object): Treat print-length < 0 as nil.
4845
4846 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
4847
4848 * s/freebsd.h (TERMCAP_OBJ): Removed.
4849 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
4850
4851 * lread.c (read1): Don't treat period followed by certain
4852 characters as symbol start.
4853
4854 * xfns.c (slurp_file): New function.
4855 (xbm_image_p): Handle case of in-memory XBM files.
4856 (xbm_scan): Rewritten to work on memory buffers instead of files.
4857 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
4858 Work on memory buffers instead of files. If DATA is null test
4859 if buffer looks like an in-memory XBM file.
4860 (xbm_load_image): Renamed from xbm_load_image_file. Work on
4861 memory buffers instead of files.
4862 (xbm_file_p): New function.
4863 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
4864
353964e3
GM
4865 * lread.c (end_of_file_error): New function.
4866 (read1): Call it instead of signaling `end-of-file' directly.
4867
427ec082 4868 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
4869 with Fprinc instead of Fprin1.
4870
24d744ac
KR
48712000-04-26 Ken Raeburn <raeburn@gnu.org>
4872
4873 * window.c (freeze_window_start): Check that minibuffer scroll
4874 window isn't nil before extracting the window structure pointer
4875 from it.
4876
4877 * undo.c (record_delete): If we hit the end of the undo list, stop
4878 picking elements apart.
4879
7464346d
GM
48802000-04-26 Gerd Moellmann <gerd@gnu.org>
4881
4882 * xdisp.c (display_line): If lines are continued, restore
4883 iterator's ascent/descent information to the values before the
4884 first glyph not fitting on the line.
4885
612839b6
GM
48862000-04-25 Gerd Moellmann <gerd@gnu.org>
4887
4888 * xdisp.c (try_window_id) <all changes above window start>: Adjust
4889 positions in glyph matrix. Don't compute new window end
4890 positions.
4891
4892 * dispnew.c (increment_matrix_positions): Renamed from
4893 increment_glyph_matrix_buffer_positions.
4894 (increment_row_positions): Renamed from
4895 increment_glyph_row_buffer_positions.
4896
4897 * dispextern.h: Change names of renamed functions from dispnew.c
4898 in prototypes.
4899
cc181e95
GM
49002000-04-24 Gerd Moellmann <gerd@gnu.org>
4901
abfcc168
GM
4902 * fileio.c (Fdo_auto_save): Create directories for auto-save
4903 list file if necessary.
4904
cc181e95
GM
4905 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
4906 from buffer or frame.
4907 (automatic_hscrolling_p): New variable.
4908 (hscroll_windows): Scroll windows horizontally only if automatic
4909 hscrolling is allowed.
4910 (syms_of_xdisp): New variable `automatic-hscrolling'.
4911
4912 * frame.h (struct frame): Add member extra_line_spacing.
4913
4914 * xfns.c (x_set_line_spacing): New function.
4915 (Fx_create_frame): Set line spacing from resources.
4916 (Qline_spacing): New variable.
4917 (syms_of_xfns): Initialize Qline_spacing.
427ec082 4918
cc181e95
GM
4919 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
4920
4921 * buffer.c (init_buffer_once): Handle extra_line_spacing.
4922 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 4923 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
4924 extra_line_spacing from default value.
4925 (init_buffer_once): Initialize default value of extra_line_spacing.
4926
4927 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
4928 and extra3.
4929
4930 * xterm.c (x_produce_glyphs): Remove reference to struct it's
4931 prompt_width. Add extra line spacing.
4932
4933 * term.c (produce_glyphs): Remove reference to struct it's
4934 prompt_width.
4935
4936 * dispextern.h (struct it): Remove member prompt_width, add
4937 extra_line_spacing.
4938
58827478
GM
49392000-04-22 Gerd Moellmann <gerd@gnu.org>
4940
4941 * dispnew.c (update_frame_line): When writing a whole line, make
4942 sure cursor is in the right row afterwards, otherwise a use of
4943 capability `ch' in cmgoto might leave the cursor in the row below.
4944
25a87f42
GM
49452000-04-21 Gerd Moellmann <gerd@gnu.org>
4946
4947 * lisp.h (struct Lisp_Buffer_Cons): Remove.
4948
4949 * keyboard.c (timer_check): Fix typo in comment.
4950
54edf5c2
KH
49512000-04-21 Kenichi Handa <handa@etl.go.jp>
4952
4953 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
4954 name change: ch -> character.
4955
3a64eef5
GM
49562000-04-20 Gerd Moellmann <gerd@gnu.org>
4957
4958 * keyboard.c (echo_message_buffer): New variable.
4959 (echo_now): Set echo_message_buffer to the echo area buffer used
4960 to display the echo.
4961 (cancel_echoing): Reset echo_message_buffer to nil.
4962 (read_char): Code rewritten that handles canceling an echo or
4963 echoing a dash, respectively.
4964
4965 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
4966 directory doesn't exist.
4967
6142fdcb
DL
49682000-04-19 Dave Love <fx@gnu.org>
4969
4970 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
4971 (concat): Don't allow numeric args.
4972 (Fconcat): Doc change.
6142fdcb 4973
ac6b5352
SM
49742000-04-19 Stefan Monnier <monnier@cs.yale.edu>
4975
4976 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
4977 instead define end_match(1|2) more carefully.
4978 Use GET_CHAR_BEFORE_2 for `begline'.
4979
cb9215e4
GM
49802000-04-19 Gerd Moellmann <gerd@gnu.org>
4981
5e3dac3f
GM
4982 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
4983 on 64-bit systems where NULL is defined as `0'.
4984
4985 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
4986 the `variable argument list' to make it work on Alpha.
4987
cb9215e4
GM
4988 * m/alpha.h (_LP64) [!_LP64]: Define.
4989 (ORDINARY_LINK): Define for NetBSD.
4990
4991 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 4992
f532dca0
DL
49932000-04-19 Dave Love <fx@gnu.org>
4994
c750667e
DL
4995 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
4996 change.
4997
4998 * Makefile.in (LIBS): Don't use.
4999 (GETLOADAVG_OBJ): Define again.
5000 (otherobj): Add GETLOADAVG_OBJ.
5001
f532dca0
DL
5002 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
5003
1c7e22fd
GM
50042000-04-18 Gerd Moellmann <gerd@gnu.org>
5005
f6d3257b
GM
5006 * lread.c (read_filtered_event): Cancel and start busy cursor.
5007
427ec082 5008 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
5009 that the per-character metrics may be null.
5010
e10f64e7
GM
50112000-04-17 Gerd Moellmann <gerd@gnu.org>
5012
0daee095
GM
5013 * buffer.c (clone_per_buffer_values): New function.
5014 (Fmake_indirect_buffer): Add optional argument CLONE. Call
5015 clone_per_buffer_values if CLONE is not nil.
5016
e10f64e7
GM
5017 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
5018
38687d43
DL
50192000-04-16 Dave Love <fx@gnu.org>
5020
5021 * Makefile.in: Remove obsolete localcpp stuff.
5022 (GETLOADAVG_OBJ): Don't define.
5023 (obj): Move LIBOBJS...
5024 (otherobj): ... to here.
5025 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
5026 whitespace-only lines after the continuation (Irix).
5027
c21c7262
GM
50282000-04-14 Gerd Moellmann <gerd@gnu.org>
5029
5030 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
5031
5032 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
5033
314767c0
DL
50342000-04-14 Dave Love <fx@gnu.org>
5035
5036 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
5037 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
5038 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
5039 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
5040 NLIST_STRUCT.
5041
5042 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
5043 autoconfiscated HAVE_GETLOADAVG.
5044
5045 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
5046 BROKEN_MKTIME.
5047
a2522dca
GM
50482000-04-14 Gerd Moellmann <gerd@gnu.org>
5049
5050 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
5051 (fill_in_lock_file_name): Avoid existing files that aren't
5052 links.
5053
33744b5d
DL
50542000-04-14 Dave Love <fx@gnu.org>
5055
c21c7262 5056 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
5057 (INTERVAL_SRC): Convert to make variable.
5058 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
5059 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
5060 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
5061 add LIBOBJS.
5062 (SOME_MACHINE_OBJECTS): Remove interval stuff.
5063 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
5064 (shortlisp): Add facemenu, float-sup, frame.
5065 (SOME_MACHINE_LISP): Remove them from here.
5066 (LIBES): Change unused LDLIBS to autoconf LIBS.
5067
5068 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
5069
9d3d5916
KH
50702000-04-14 Kenichi Handa <handa@etl.go.jp>
5071
5072 * composite.c (update_compositions): If FROM and TO are not in a
5073 valid range, do nothing.
5074
198e3c7a
GM
50752000-04-13 Gerd Moellmann <gerd@gnu.org>
5076
5077 * tparam.c (tparam1): Abort when encountering an unknown
5078 `%'-specifier.
5079
5080 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as
5081 terminfo.o.
5082
5083 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
5084 as TERMCAP_OBJ.
5085
055a28c9
EZ
50862000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
5087
5088 * fileio.c (a_write): Remove redundant semi-colons.
5089 (e_write): Return -1 if failed to write all the data.
5090 This fixes the changes made at 1999-12-15.
5091
f5c75033
DL
50922000-04-12 Dave Love <fx@gnu.org>
5093
5094 * fns.c (mapcar1): Test for null vals to support mapc.
5095 (Fmapc): New function.
5096
0c3cfc51
EZ
50972000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
5098
5099 * msdos.c (NUM_MOUSE_BUTTONS): Define.
5100 (IT_frame_up_to_date): Support the buffer local value of
5101 cursor-type, if defined.
5102
33465a31
DL
51032000-04-10 Dave Love <fx@gnu.org>
5104
5105 * editfns.c (preceding-char, following-char): Doc fix.
5106
6ed56568
KR
51072000-04-10 Ken Raeburn <raeburn@gnu.org>
5108
5109 * Makefile.in (temacs): Revert 2000-03-12 change.
5110
7cf80d4e
JR
51112000-04-10 Jason Rumney <jasonr@gnu.org>
5112
5113 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
5114
34f3f342
GM
51152000-04-10 Gerd Moellmann <gerd@gnu.org>
5116
1a1b1895
GM
5117 * xdisp.c (setup_echo_area_for_printing): Choose an echo
5118 area buffer, if it's not set up yet.
5119
34f3f342
GM
5120 * indent.c (compute_motion): Set immediate_quit.
5121
be0dbdab
GM
51222000-04-09 Gerd Moellmann <gerd@gnu.org>
5123
c45be9ac
GM
5124 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New
5125 variable.
5126 (realize_tty_face): Suppress boldness if colors are the inverse of
5127 the default colors, and tty_suppress_bold_inverse_default_colors_p
5128 is set.
5129 (Ftty_suppress_bold_inverse_default_colors): New function.
5130 (syms_of_xfaces): Defsubr it.
5131
be0dbdab
GM
5132 * buffer.c (Frestore_buffer_modified_p): New function.
5133 (syms_of_buffer): Defsubr it.
5134
e8413c3b
KR
51352000-04-08 Ken Raeburn <raeburn@gnu.org>
5136
87f67317
KR
5137 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
5138 charset id (int) argument, not a charset (Lisp_Object).
5139
e8413c3b
KR
5140 * coding.h (code_convert_string): Declare.
5141 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
5142 object, as the fourth argument to code_convert_string.
5143
5144 * fontset.c (make_fontset_for_ascii_face): Use XINT on return
5145 value.
5146 (Fset_fontset_font): Use EQ to compare lisp objects.
5147
7c752c80
KR
51482000-04-05 Ken Raeburn <raeburn@gnu.org>
5149
c0333abc
KR
5150 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
5151 a pointer that looks like a lisp object.
5152 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
5153 zero, instead see whether it's an integer object, since they can't
5154 have intervals.
5155 (GET_INTERVAL_OBJECT): Simply assign to the destination.
5156
7c752c80
KR
5157 * dispnew.c (allocate_matrices_for_frame_redisplay,
5158 direct_output_forward_char): Use X(U)INT and make_number as needed
5159 to convert between (unsigned) int values and lisp integers.
5160 * keyboard.c (read_key_sequence): Likewise.
5161 * lread.c (substitute_object_recurse): Likewise.
5162 * fns.c (concat, hash_lookup, hash_remove): Likewise.
5163 * minibuf.c (do_completion, Fminibuffer_complete_word,
5164 Fminibuffer_completion_help): Likewise.
5165 * term.c (produce_special_glyphs): Likewise.
5166
5167 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
5168 * print.c (print_preprocess, print_object): Likewise.
5169
5170 * search.c (compile_pattern): Use NILP when checking for nil.
5171
74e49b38
KR
5172 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
5173 __OPTIMIZE__]: Provide a GNU C macro version that handles
5174 lisp-object unions.
5175 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
5176 field, to better cope with ENABLE_CHECKING and calls that modify a
5177 Lisp_Object using its old value.
5178
685e5ed2
GM
51792000-04-04 Gerd Moellmann <gerd@gnu.org>
5180
c407c570
GM
5181 * window.c (compare_window_configurations): Signal an error
5182 if parameters C1 or C2 aren't window configurations.
5183
685e5ed2
GM
5184 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
5185 AFTER_POTENTIAL_GC calls around calls to functions that can
5186 signal an error and thus invoke the debugger.
5187
587a49ab
GM
51882000-04-03 Gerd Moellmann <gerd@gnu.org>
5189
62f20204
GM
5190 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
5191 an error if decoding fails.
5192
587a49ab
GM
5193 * keyboard.c (lispy_mouse_names): Variable removed.
5194 (Vlispy_mouse_stem): New variable.
5195 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
5196 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
5197 for any mouse button number. Increase size of mouse_syms and
5198 button_down_location as needed. Call modify_event_symbol with
5199 different arguments.
5200 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
5201 Call modify_event_symbol with different arguments.
5202 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
5203 for any button number. Call modify_event_symbol with different
5204 arguments.
5205 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
5206 Accept a string for NAME_ALIST_OR_STEM.
5207
5208 * lisp.h (larger_vector): Add prototype.
5209
5210 * fns.c (larger_vector): Make externally visible.
5211
5212 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
5213
2d1675e4
SM
52142000-04-02 Stefan Monnier <monnier@cs.yale.edu>
5215
5216 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
5217 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
5218 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
5219 we are between str1 and str2.
5220 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
5221 (PATFETCH): Use `TRANSLATE'.
5222 (PATFETCH_RAW): Fetch multibyte char if applicable.
5223 (PATUNFETCH): Remove.
5224 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
5225 When writing a char, write it directly into the pattern buffer rather
5226 than going needlessly through a temp char-array.
5227 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
5228 multibyte magic and remove the useless `#ifdef emacs'.
5229 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
5230 buffer.
5231
5232 * regex.h (struct re_pattern_buffer): Make field `multibyte'
5233 conditional on `emacs'.
5234
5235 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
5236
cc2d8c6b
KR
52372000-04-01 Ken Raeburn <raeburn@gnu.org>
5238
5239 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
5240 non-union-type versions of XMARK and friends here, because XMARK
5241 and friends won't work on an integer field if NO_UNION_TYPE is not
5242 defined.
5243 (make_number): Define as a function if it's not defined as a
5244 macro.
5245
09654086
KR
5246 * composite.c (run_composite_function): Use NILP when checking for
5247 nil.
5248 (syms_of_composite): Delete local var NARGS, pass an int as first
5249 argument to Fmake_hash_table.
5250
2387b382
KR
5251 * editfns.c (text_property_stickiness): Use NILP to test
5252 Lisp_Object boolean value.
5253 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
5254 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
5255 problems reading from and changing the same lisp value in an
5256 XSETSTRING call.
5257
27660e89
GM
52582000-04-01 Gerd Moellmann <gerd@gnu.org>
5259
5260 * term.c (TN_no_color_video): New variable.
5261 (term_init): Intitialize TN_no_color_video.
5262 (enum no_color_bit): New enumeration.
5263 (MAY_USE_WITH_COLORS_P): New macro.
5264 (turn_on_face): Use it to determine if attributes may be used
5265 combined with colors.
5266
3578db3c
KR
52672000-04-01 Ken Raeburn <raeburn@gnu.org>
5268
5269 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
5270 with int lvalues via casts; instead, just yield lisp object
5271 lvalues.
5272 (enlarge_window): Variable sizep now points to Lisp_Object. Use
5273 proper accessor macros.
5274 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
5275 (grow_mini_window): Fix typo getting int value of root->height.
5276
6fc556fd
KR
5277 * xdisp.c (compute_string_pos): Fix order of arguments to
5278 string_pos_nchars_ahead.
5279 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
5280 count arg to variable-arg routines like Frun_hook_with_args and
5281 Fformat.
587a49ab
GM
5282 (back_to_previous_visible_line_start)
5283 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
5284 fixed-arg routines like Fget_char_property and Fmake_string.
5285 (reconsider_clip_changes): Use XINT when comparing integer lisp
5286 objects, or passing them as int arguments.
587a49ab
GM
5287 (mark_window_display_accurate, insert_left_trunc_glyphs)
5288 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
5289 storing or passing integer values as lisp objects.
5290 (set_cursor_from_row, highlight_trailing_whitespace): Use
5291 INTEGERP, not implicit test against zero, for glyph object.
5292 (try_window_id): Don't use make_number when we want an int value.
5293
5294 * xfaces.c (xlfd_symbolic_value): Make last argument a
5295 Lisp_Object, to be consistent with callers.
5296 (Fbitmap_spec_p): Use XINT to get numeric value of height.
5297 (lface_hash): Apply XFASTINT to lisp values before folding in.
5298
5299 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
5300 fill in window width and height. Pass an int, not a lisp object,
5301 as first arg to Finsert.
5302
6e7b2457
GM
53032000-04-01 Gerd Moellmann <gerd@gnu.org>
5304
610d841e
GM
5305 * xfaces.c (realize_basic_faces): Block input while realizing
5306 the faces.
5307
6e7b2457
GM
5308 * keyboard.c (lispy_mouse_names): Add additional mouse names.
5309
5310 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
5311
aa110c0c
GM
53122000-03-31 Gerd Moellmann <gerd@gnu.org>
5313
5314 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 5315 or ASCII, handle case that per-char metric is null.
aa110c0c 5316
8801a864
KR
53172000-03-30 Ken Raeburn <raeburn@gnu.org>
5318
c6129d7e
KR
5319 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
5320
8801a864
KR
5321 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW,
5322 XSUBR, XBUFFER): Verify correct object type before returning
5323 pointer, using eassert.
5324 * frame.h (XFRAME): Likewise.
5325
5326 * buffer.c (Frename_buffer, Fset_buffer_multibyte,
5327 swap_out_buffer_local_variables, Fmove_overlay): Don't apply
5328 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong
5329 type.
5330 * data.c (set_internal): Likewise.
5331 * dispextern.h (WINDOW_WANTS_MODELINE_P,
5332 WINDOW_WANTS_HEADER_LINE_P): Likewise.
5333 * fileio.c (auto_save_1): Likewise.
5334 * insdel.c (check_markers): Likewise.
5335 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
5336 * undo.c (record_insert): Likewise.
5337 * vmsproc.c (child_sig): Likewise.
5338 * window.c (unshow_buffer, window_loop): Likewise.
5339 * xterm.c (x_erase_phys_cursor): Likewise.
5340
8e7af858
GM
53412000-03-30 Gerd Moellmann <gerd@gnu.org>
5342
5343 * xfns.c (free_image_cache): Free the cache structure itself
5344 last, after all its members have been freed.
5345
5346 * lisp.h (xstrdup): Add prototype.
5347
5348 * alloc.c (xstrdup): Moved here from xfaces.c.
5349 (allocating_for_lisp): Variable removed.
5350 (lisp_malloc): Block input around the calls to malloc and
5351 mem_insert.
5352
5353 * xfaces.c (realize_tty_face): Use find_symbol_value instead
5354 of Fsymbol_value.
5355 (xstrdup): Moved to alloc.c.
5356
e0b8c689
KR
53572000-03-29 Ken Raeburn <raeburn@gnu.org>
5358
b96f9fb7
KR
5359 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
5360
5361 * emacs.c (main): Fix sense of no-loadup test.
5362
e0b8c689
KR
5363 * config.in (ENABLE_CHECKING): Undef.
5364
5365 * lisp.h (struct interval): Replace "parent" field with a union of
5366 interval pointer and Lisp_Object; add new bitfield to use as
5367 discriminant. Change other flag fields to bitfields.
5368 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
5369 is defined and the supplied test fails, print a message and
5370 abort.
5371 (eassert): New macro. Use CHECK to provide an assert-like
5372 facility.
5373
5374 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
5375 pointers; abort if the value looks like a lisp object.
5376 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT,
5377 SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
5378 Modify for new interval parent definition.
5379
5380 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE,
5381 UNMARK_BALANCE_INTERVALS): Update references that need an
5382 addressable lisp object in the interval structure.
5383 (die): New function.
5384 (suppress_checking): New variable.
5385
5386 * intervals.c (interval_start_pos): Just return 0 if there's no
5387 parent object.
5388
f83c5440
GM
53892000-03-29 Gerd Moellmann <gerd@gnu.org>
5390
5391 * lread.c (read1): Accept `.' (period) as symbol start like in CL
5392 and earlier Emacs versions.
5393
5394 * keyboard.c (Ftop_level): Cancel busy-cursor.
5395
5396 * eval.c (call_debugger): Cancel busy-cursor.
5397
fdce64ff
KH
53982000-03-29 Kenichi Handa <handa@etl.go.jp>
5399
5400 * search.c (Freplace_match): Adjust multibyteness of the current
5401 buffer and NEWTEXT. Free allocated memory before signaling an
5402 error.
5403
f6a3f532
SM
54042000-03-28 Stefan Monnier <monnier@cs.yale.edu>
5405
5406 * regex.c (analyse_first): New function obtained by ripping out most
5407 of re_compile_fastmap and generalizing it a little bit so that it
5408 can also just return whether a given (sub)pattern can match the empty
5409 string or not.
5410 (regex_compile): Use `analyse_first' to decide whether the loop-check
5411 needs to be done or not for *, +, *? and +? (the loop check is costly
5412 for non-greedy repetition).
5413 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
5414
e9b309ac
DL
54152000-03-28 Dave Love <fx@gnu.org>
5416
bb15bd9a
DL
5417 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k,
5418 alpha.
5419
e9b309ac
DL
5420 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
5421
ed0767d8
SM
54222000-03-27 Stefan Monnier <monnier@cs.yale.edu>
5423
5424 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
5425 an expression.
5426 (enum re_opcode_t): Update description of succeed_n.
5427 (PATFETCH): Always define.
5428 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
5429 operators, char classes, shy-groups and intervals).
5430 Optimize special cases of intervals so as to only use succeed_n and
5431 jump_n when really needed.
5432 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
5433 that we don't have to handle the special cases any more.
5434 Simplify on_failure_jump handling as well.
5435
e11e7e46
JR
54362000-03-28 Jason Rumney <jasonr@gnu.org>
5437
5438 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
5439
88faab89
GM
54402000-03-27 Gerd Moellmann <gerd@gnu.org>
5441
182ff242
GM
5442 * s/freebsd.h (GC_SETJMP_WORKS): Define.
5443
5444 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 5445
182ff242
GM
5446 * alloc.c (mark_maybe_object): New function.
5447 (mark_memory): Use it.
5448 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
5449 (setjmp_tested_p, longjmp_done): New variables.
5450 (test_setjmp): New function.
5451 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
5452 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
5453
c1005d06
GM
5454 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
5455 to DEC_TEXT_POS and INC_TEXT_POS.
5456
5457 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
5458 with parameter MULTIBYTE_P.
5459
427ec082 5460 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter
c1005d06
GM
5461 MULTIBYTE_P.
5462
7439e5b9 5463 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
5464 buffers because it looks for multibyte character byte sequences
5465 which don't exist in unibyte text.
7439e5b9 5466
d9c545da
GM
5467 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
5468
11fd416e 5469 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
5470 [DEBUG_X_COLORS]: New functions.
5471 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
5472
5473 * xfns.c (x_set_cursor_color): Get color reference counts right.
5474
5475 * xterm.c (x_copy_color): New function.
5476 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
5477
5478 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
5479 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
5480 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
5481 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
5482 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
5483 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
5484 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
5485 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
5486 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
5487 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
5488
11fd416e
GM
5489 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
5490 names for handling per-buffer variables.
d9c545da
GM
5491
5492 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
5493 instead of MAX_BUFFER_LOCAL_VARS.
5494 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
5495
5496 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
5497
88faab89
GM
5498 * xfns.c (x_specified_cursor_type): New function.
5499 (x_set_cursor_type): Use it.
5500
5501 * buffer.h (struct buffer): Add cursor_type.
5502
d80f42b7
SM
55032000-03-26 Stefan Monnier <monnier@cs.yale.edu>
5504
5505 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
427ec082 5506 (print_partial_compiled_pattern, re_compile_fastmap): Handle new
88faab89 5507 opcode.
d80f42b7
SM
5508 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
5509 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
5510 executing it as well as when popping it off the stack to find infinite
5511 loops in non-greedy repetition operators.
5512
89e80928
GM
55132000-03-26 Gerd Moellmann <gerd@gnu.org>
5514
3d4ff2dd
GM
5515 * doc.c (Qfunction_documentation): New variable.
5516 (syms_of_doc): Initialize Qfunction_documentation.
5517 (Fdocumentation): If FUNCTION is a symbol with non-nil
5518 `function-documentation' property, return a documentation derived
5519 from that.
5520
bd96bd79
GM
5521 * buffer.c (syms_of_buffer): Add default-cursor-type.
5522 (init_buffer_once): Don't let cursor_type have a local value
5523 in every buffer.
5524
19d1bc27
GM
5525 * xterm.c (x_display_and_set_cursor): Choose cursor depending
5526 on buffer-local value of cursor_type.
5527 (x_draw_bar_cursor): Add parameter WIDTH.
5528
5529 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
5530 (init_buffer_once): Set default cursor_type value to t.
5531 Mark cursor_type as local everywhere.
5532 (syms_of_buffer): New per-buffer variable cursor-type.
5533
89e80928
GM
5534 * buffer.h (struct buffer): Remove member local_var_flags,
5535 add local_flags.
5536 (MAX_BUFFER_LOCAL_VARS): New macro.
5537 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
5538 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
5539 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
5540 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
5541
5542 * print.c (print_object): Use new macros for per-buffer
5543 variables.
5544
5545 * category.c (Fset_category_table): Use new macros for per-buffer
5546 variables.
5547
5548 * buffer.c (buffer_permanent_local_flags): Make a char array.
5549 (max_buffer_local_idx): New variable.
5550 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
5551 for new handling of per-buffer variables.
5552 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
5553 (init_buffer_once): Initialize per-buffer vars differently.
5554 Set max_buffer_local_idx.
5555
5556 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
5557 variables.
5558
5559 * lread.c (defvar_per_buffer): Use new macros for per-buffer
5560 variables.
5561
5562 * data.c (do_symval_forwarding, store_symval_forwarding)
5563 (find_symbol_value, set_internal, default_value, Fset_default)
5564 (Fkill_local_variable, Flocal_variable_p): Use new macros for
5565 per-buffer variables.
5566
5567 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
5568
9a0dd3dc
GM
55692000-03-24 Gerd Moellmann <gerd@gnu.org>
5570
b68c375f
GM
5571 * xterm.c (x_term_init): Unblock input around call1 of
5572 Qvendor_specific_keysyms.
5573
9a0dd3dc
GM
5574 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
5575 (find_defun_start): Consider an open parenthesis in column 0
5576 a defun start only if open_paren_in_column_0_is_defun_start is set.
5577 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
5578
7973e637
SM
55792000-03-24 Stefan Monnier <monnier@cs.yale.edu>
5580
5581 * eval.c (Fautoload): Add entry in load-history (if after dump).
5582 * lread.c (load-history): Update docstring.
5583
39210e90
GM
55842000-03-24 Gerd Moellmann <gerd@gnu.org>
5585
5586 * indent.c (Fvertical_motion): Always use the current buffer.
5587 Temporarily change the window's buffer, if necessary.
5588
72db3ab5
GM
55892000-03-23 Gerd Moellmann <gerd@gnu.org>
5590
5591 * xterm.c (fast_find_position): Make sure not to consider rows
5592 not visible in the window.
5593
990b2375
SM
55942000-03-22 Stefan Monnier <monnier@cs.yale.edu>
5595
5596 * regex.c (enum syntaxcode): Provide default for non-Emacs.
5597 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
5598
ff4df011
JR
55992000-03-22 Jason Rumney <jasonr@gnu.org>
5600
5601 * w32menu.c (single_submenu): Set help string to NULL if none.
5602 (w32_menu_show): Set help string correctly.
5603 (add-menu-item): Set help string in MIIM_DATA for menu item.
5604 Load SetMenuItemInfoA explicitly.
5605 (w32_menu_display_help): New function.
427ec082 5606
ff4df011
JR
5607 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
5608 (QCdata): Moved to xdisp.c.
5609
5610 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
5611 (Vw32_charset_to_codepage_alist): Removed.
5612 (Vw32_charset_info_alist): New variable.
5613 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312,
5614 chinesebig5, oem, easteurope, turkish, baltic, russian, arabic,
5615 greek, hebrew, thai, johab, mac, unicode]): New symbols.
5616 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
5617 with TODO comment.
5618 (w32_codepage_for_font): Use Vw32_charset_info_alist.
5619 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
5620 Define Vw32_charset_info_alist and w32_charset symbols.
5621
56222000-03-22 Jason Rumney <jasonr@gnu.org>
5623
5624 * makefile.nt (w32bdf.obj): Update dependencies.
5625
5626 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
5627
5628 * w32fns.c: Include fontset.h after dispextern.h.
5629 (Fx_create_frame): Do not create fontset.
5630 (w32_load_system_font): Doc fix.
5631 (Fx_close_connection): Free full_name if it is not shared.
5632
5633 * w32term.c: Include fontset.h after dispextern.h.
5634 (x_get_glyph_face_and_encoding): New parameter two_byte_p. Callers
5635 updated.
5636 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
5637 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
5638 (w32_font_is_double_byte): New function, needs body.
5639 (x_append_glyph): Set glyph->glyph_not_available_p.
5640 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
5641 it->charset. If it->multibyte_p is zero and it->c is a multibyte
5642 character, convert it to a unibyte character.
5643 (struct glyph_string): Delete member `charset'.
5644 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
5645 calculating it is found.
5646 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
5647 the case that per char metric is not available correctly.
5648 (x_fill_glyph_string): Handle the case that the specific glyph is
5649 not available correctly.
5650 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
5651 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
5652 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
5653 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
5654 fontset. Don't call FS_LOAD_FONT.
5655
439d5cb4
KR
56562000-03-22 Ken Raeburn <raeburn@gnu.org>
5657
5658 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
5659 (INT_LISPLIKE): New macro.
5660 (NULL_INTERVAL_P): Use it.
5661 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT,
5662 SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT,
5663 GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
5664
5665 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
5666 explicit references to "parent" field of struct interval and
5667 associated unclean type conversions.
5668 * intervals.c (create_root_interval, root_interval, rotate_right,
5669 rotate_left, balance_possible_root_interval, split_interval_right,
5670 split_interval_left, interval_start_pos, find_interval,
5671 next_interval, previous_interval, update_interval,
5672 adjust_intervals_for_insertion, delete_node, delete_interval,
5673 adjust_intervals_for_deletion, merge_interval_right,
5674 merge_interval_left, reproduce_tree, graft_intervals_into_buffer,
5675 copy_intervals_to_string): Likewise.
5676 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
5677 Likewise.
5678 * syntax.c (update_syntax_table): Likewise.
5679
5680 * intervals.c (reproduce_tree_obj): New function, like
5681 reproduce_tree but takes a Lisp_Object for the parent. Declare
5682 with prototype.
5683 (graft_intervals_into_buffer): Use it when appropriate.
5684 (reproduce_tree): Declare with prototype.
5685 (balance_possible_root_interval): Check that the parent is a lisp
5686 object before trying to examine its type.
5687
ee1c5b21
GM
56882000-03-22 Gerd Moellmann <gerd@gnu.org>
5689
5690 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
5691 as strings only if both are known to be strings.
5692
5693 * s/openbsd.h (LIBS_TERMCAP): Undef.
5694
1fb352e0
SM
56952000-03-21 Stefan Monnier <monnier@cs.yale.edu>
5696
5697 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
5698 definitions for non-Emacs compilation.
5699 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
5700 outside of `#ifdef emacs'.
5701 (print_partial_compiled_pattern): Update.
5702 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
5703 (re_compile_fastmap): Merge handling of charset and charset_not (for
5704 emacs and non-emacs compilation as well).
5705 Similarly for (not)categoryspec and (not)syntaxspec.
5706 Don't use the fastmap when reaching `anychar' since the added
5707 complexity is not justified.
5708 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
5709 and (not)syntaxspec. Merge (not)categoryspec.
5710
fdaa1f77
KH
57112000-03-22 Kenichi Handa <handa@etl.go.jp>
5712
ff1a0d8e
KH
5713 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P,
5714 FACE_FOR_CHAR): Define them differently for the configuration of
5715 --without-x.
fdaa1f77 5716
d152fb46
DL
57172000-03-21 Dave Love <fx@gnu.org>
5718
5719 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
5720 doc string.
5721
d2cafc8c
GM
57222000-03-21 Gerd Moellmann <gerd@gnu.org>
5723
5724 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
5725 (lface_fully_specified_p): Don't check contents of
5726 LFACE_FONT_INDEX because that attribute is optional.
5727 (realize_x_face): Remove now unwarranted xassert.
5728
9111d4b5
KH
57292000-03-21 Kenichi HANDA <handa@etl.go.jp>
5730
5731 The following changes are to make font selection based on
5732 characters, not charset. In addition, they recover fontset
5733 facilities while utilizing the new font selection mechanism.
5734
6c4bfdc0
KH
5735 * Makefile.in (fontset.o): Depend on dispextern.h.
5736
5737 * alloc.c (mark_face_cache): Don't mark face->registry.
5738
9111d4b5
KH
5739 * dispextern.h (struct glyph): New member glyph_not_available_p.
5740 Use 22 bits for face_id.
5741 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
5742 (struct face): Delete member registry, new member ascii_face.
5743 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
5744 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
5745 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
5746 (struct it): Delete member charset, new member
5747 glyph_not_available_p.
5748
5749 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
5750 (struct fontset_info, struct fontset_data): Structs removed.
5751 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset,
5752 Vglobale_fontset_alist, font_idx_temp): Externs removed.
5753 (fs_load_font, fs_query_fontset): Adjusted for new argument.
5754 (fs_free_face_fontset, fontset_font_pattern,
5755 face_suitable_for_char_p, face_for_char,
5756 make_fontset_for_ascii_face): Extern them.
5757 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
5758 (FS_LOAD_FACE_FONT): New macro.
5759
5760 * fontset.c: All codes rewritten or adjusted for the change of
5761 fontset implementation. Now fontset is represented by char table.
5762 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl): Variables
5763 removed.
5764 (my_strcasecmp): Function removed.
5765 (Vfontset_table, next_fontset_id, Vdefault_fontset): New
5766 variables.
5767 (AREF, ASIZE): New macros.
5768 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME,
5769 FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF,
5770 FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
5771 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset,
5772 fontset_id_valid_p, font_family_registry, fontset_name,
5773 fontset_ascii, free_face_fontset, face_suitable_for_char_p,
5774 face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
5775 New functions.
5776 (fs_load_font): New arg FACE. Caller changed.
5777 (fs_query_fontset): Argument changed. Caller changed.
5778 (Fquery_fontset): call fs_query_fontset.
5779 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
5780 Functions removed.
5781 (clear_fontset_elements, check_registry_encoding,
5782 check_fontset_name): New functions.
5783 (syms_of_fontset): Set char-table-extra-slots property of fontset
5784 to 3. Staticpro and initialize Vfontset_table and
5785 Vdefault_fontset. Defsubr fontset_font and fontset_list.
5786
5787 * frame.h (struct frame): Member `fontset_data' removed.
5788 (FRAME_FONTSET_DATA): Macro removed.
5789
5790 * frame.c (make_frame): Don't allocate f->fontset_data.
5791 (Fdelete_frame): Don't free f->fontset_data.
5792
6c4bfdc0
KH
5793 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
5794
9111d4b5
KH
5795 * xdisp.c (charset_at_position): Function removed.
5796 (init_iterator): Don't set member charset of struct `it'.
5797 (handle_face_prop, reseat_to_string, set_iterator_to_next,
5798 next_element_from_display_vector, insert_left_trunc_glyphs):
5799 Likewise.
5800 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
5801 FACE_FOR_CHARSET.
5802 (get_next_display_element, append_space,
5803 extend_face_to_end_of_line): Likewise.
5804
5805 * xfaces.c (Qx_charset_registry, Vface_default_registry):
5806 Variables removed.
5807 (clear_font_table, frame_update_line_height, load_face_font):
5808 Adjusted for the change of fontset implementation.
5809 (load_face_fontset_font): Function removed.
5810 (pixel_point_size): New function.
5811 (font_list): Argument type changed. Caller changed.
5812 (LFACE_FONT): New macro.
5813 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
5814 (set_lface_from_font_name): Type of arg FONTNAME is changed to
5815 Lisp_Object. Determine the font name by actually loading a font
5816 by the specified pattern. Set LFACE_FONT (lface) to the specified
5817 pattern. Even if a font is not found, don't try alternatives.
5818 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
5819 (set_font_frame_param): If `font' is specified in lface, use it.
5820 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
5821 (lface_same_font_attributes_p): Likewise.
5822 (make_realized_face): Arguent changed. Caller changed. Set
5823 face->ascii_face to face itself.
5824 (free_realized_face): Free face->fontset if face is for ASCII.
5825 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p,
5826 deduce_unibyte_registry, x_charset_registry): Functions removed.
5827 (free_realized_multibyte_face): New function.
5828 (lookup_face, lookup_named_face, lookup_derived_face): Argument
5829 changed. Caller changed.
5830 (try_font_list): Argument type changed.
5831 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
5832 (choose_face_font): Argument changed. Handle fontset properly.
5833 (choose_face_fontset_font): Function removed.
5834 (realize_default_face, realize_named_face): Don't remove the
5835 former face here.
5836 (realize_face): Argument changed. Caller changed. Remove face
5837 with the arg former_face_id in advance. Load font for the new
5838 face.
5839 (realize_x_face): Argument changed. Caller changed. For a
5840 multibyte character, share fontset with base_face. For a single
5841 byte character, make a new realized fontset. Don't load a font
5842 here.
5843 (realize_tty_face): Argument changed. Caller changed.
5844 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
5845 (face_at_buffer_position): Don't check multibyte_p for returning
5846 DEFAULT_FACE_ID.
5847 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
5848 FACE_SUITABLE_FOR_CHARSET_P.
5849 (syms_of_xfaces): Remove code for Qx_charset_registry and
5850 Vface_default_registry.
5851
6c4bfdc0
KH
5852 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
5853 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
5854 (x_per_char_metric): Don't try FONT->default_char. Even if
5855 pcm->width is zero, glyph bits may exist.
5856 (x_encode_char): Always initialize char2b->byte1.
5857 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
5858 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller
5859 changed.
5860 (x_append_glyph): Set glyph->glyph_not_available_p.
5861 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
5862 it->charset. Handle the case that per char metric is not
5863 available. If it->multibyte_p is zero and it->c is a multibyte
5864 character, convert it to a unibyte character.
5865 (struct glyph_string): Delete member `charset'.
5866 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
5867 the case that per char metric is not available correctly.
5868 (x_fill_glyph_string): Handle the case that the specific glyph is
5869 not available correctly.
5870 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
5871 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
5872 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
5873 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
5874 fontset. Don't call FS_LOAD_FONT.
5875
5876 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
5877 (x_create_tip_frame): Likewise.
5878 (Fx_close_connection): Free full_name of font_info.
5879
5880 * fns.c (optimize_sub_char_table): New function.
5881 (Foptimize_char_table): New function.
5882 (syms_of_fns): Defsubr Soptimize_char_table.
5883
b33dd3b0
GM
58842000-03-20 Gerd Moellmann <gerd@gnu.org>
5885
5886 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
5887 only if buffer is displayed in some window.
5888
5889 * xdisp.c (handle_single_display_prop): Initialize local `value'.
5890 (try_window_reusing_current_matrix): Don't call scroll run
5891 function if run's current and desired position are the same;
5892 this prevents cursor flickering.
5893
4e8a9132
SM
58942000-03-19 Stefan Monnier <monnier@cs.yale.edu>
5895
5896 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
5897
5898 * regex.c (RE_STRING_CHAR): New macro.
5899 (GET_CHAR_AFER_2): Remove.
5900 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
5901 (enum re_opcode_t): Remove on_failure_jump_exclusive.
5902 (print_partial_compiled_pattern, re_compile_fastmap)
5903 (re_match_2_internal): Remove on_failure_jump_exclusive.
5904 (regex_compile): Turn optimizable P+ loops into PP*, so that the
5905 optimization only need to work for * (ie. can use of_keep_string_jump).
5906 Remove the special case for .*\n since it is now covered by the general
5907 optimization.
5908 (re_search_2): Don't bother with `room'.
5909 (skip_one_char): New function.
5910 (skip_noops): Simplify since `memory' is not needed any more.
5911 (mutually_exclusive_p): Restructure slightly to use `switch' and
5912 add handling for "all" remaining cases.
5913 (re_match_2_internal): Change on_failure_jump_smart to use
5914 on_failure_keep_string_jump (and redirect the end-of-loop jump)
5915 rather than on_failure_jump_exclusive.
5916
2136fdd4
GM
59172000-03-19 Gerd Moellmann <gerd@gnu.org>
5918
5919 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
5920 number of bits per RGB because it's everywhere used as the depth
5921 of the visual.
5922
5923 * term.c (calculate_costs): Remove code dealing with X frames.
5924
18e21ce8 59252000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
5926
5927 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
5928
d7b511c4
GM
59292000-03-18 Gerd Moellmann <gerd@gnu.org>
5930
5931 * lread.c (read_integer): Unread the last char not consumed.
5932
16b5d424
GM
59332000-03-17 Gerd Moellmann <gerd@gnu.org>
5934
5935 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 5936 which are in the process of being deleted.
16b5d424 5937
1fa28578
GM
59382000-03-16 Gerd Moellmann <gerd@gnu.org>
5939
83488cce
GM
5940 * Makefile.in (mostlyclean): Add `*.core'.
5941 (clean): Add `bootstrap-emacs'.
5942
1fa28578
GM
5943 * lread.c (read_integer): New function.
5944 (read1): Support read syntax #o, #x, #b, #r.
5945
99633e97
SM
59462000-03-15 Stefan Monnier <monnier@cs.yale.edu>
5947
1fa28578
GM
5948 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
5949 make sure POINTER_TO_OFFSET gives the same value before and after
5950 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
5951 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
5952 (debug): Now only active if > 0 rather than if != 0.
5953 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
5954 (print_partial_compiled_pattern): Add missing `succeed' case. Use
5955 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
5956 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
5957 (store_op1, store_op2, insert_op1, insert_op2)
5958 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
5959 (group_in_compile_stack): Move to after its arg's types are
5960 declared and add a prototype.
99633e97 5961 (PATFETCH): Define in terms of PATFETCH_RAW.
1fa28578
GM
5962 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)'
5963 wrapper.
99633e97 5964 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
5965 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
5966 indentation of the greedy-op and shy-group code.
99633e97
SM
5967 (at_(beg|end)line_loc_p): Fix argument's types.
5968 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
5969 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
5970 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
5971 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
5972 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
5973 QUIT unconditionally.
99633e97 5974
699238d9
GM
59752000-03-15 Gerd Moellmann <gerd@gnu.org>
5976
5977 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
5978 a sole completion.
5979
5980 * process.c (send_process): Add a hint that the function
5981 can call Lisp code to its comment.
5982
5983 * lread.c (load_dangerous_libraries): New variable.
5984 (Vbytecomp_version_regexp): New variable.
5985 (safe_to_load_p): New function.
5986 (Fload): Handle files not compiled with Emacs specially.
5987 (syms_of_lread): New Lisp variable load-dangerous-libraries.
5988
34e23e5a
GM
59892000-03-14 Gerd Moellmann <gerd@gnu.org>
5990
9c763cca
GM
5991 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
5992
5993 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
5994 support functions only if HAVE_X11R6_XIM is defined.
5995 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
5996
5997 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
5998
5999 * xfns.c (X_I18N_INHIBITED): Don't define.
6000 (create_frame_xic): Remove conditional compilation on
6001 X_I18N_INHIBITED.
6002 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
6003
6004 * config.in (HAVE_X_I18N): Moved here from xterm.h.
6005 (HAVE_X11R6_XIM): Define.
6006
6007 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
6008
34e23e5a
GM
6009 * xterm.c (x_term_init): Add support for X resource `synchronous'.
6010 If set, call XSynchronize.
6011
66f0296e
SM
60122000-03-13 Stefan Monnier <monnier@cs.yale.edu>
6013
34e23e5a
GM
6014 * regex.c: Declare a new type `re_char' used throughout the code
6015 for the string char type. It's `const unsigned char' to match the
6016 rest of Emacs. Consistently make sure all pointers to strings use
6017 it and make sure all pointers into the pattern use `unsigned
6018 char'.
66f0296e 6019 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
6020 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
6021 code duplication.
66f0296e
SM
6022
6023 * charset.h (GET_CHAR_AFTER_2): Remove.
6024 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
6025
854a025c
KR
60262000-03-12 Ken Raeburn <raeburn@gnu.org>
6027
6028 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
6029 variable before the invocation of YMF_PASS_LDFLAGS, in case both
6030 of them try to use backquotes.
6031
b9d2c7e2
DL
60322000-03-12 Dave Love <fx@gnu.org>
6033
6034 * unexelf.c: Restore changes of 1999-10-19.
6035 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
6036 fix its type and alignment; copy it from current process.
6037
5e5dff44
GM
60382000-03-12 Gerd Moellmann <gerd@gnu.org>
6039
9b2f3c38
GM
6040 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
6041 has been found. Fix bug not computing timer's predecessor.
6042
427ec082 6043 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
6044 file name.
6045
e1cff360
GM
6046 * window.c (Fsave_window_excursion): Doc fix.
6047
5e5dff44
GM
6048 * xfns.c (x_defined_color): Rewritten to use
6049 x_allocate_nearest_color.
6050
e411ce4b
EZ
60512000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
6052
6053 * msdos.c (vga_installed): New function, code moved from
6054 dos_set_window_size.
6055 (Qbar, Qcursor_type, outside_cursor): New variables.
6056 (syms_of_msdos): Intern and staticpro them.
6057 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
6058 shape used outside Emacs when called for the first time.
6059 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
6060 cursor shape used outside Emacs.
6061 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
6062 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
6063 type has changed.
6064 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
6065 parameters specify the cursor. Make qreverse a global
6066 variable (renamed to Qreverse).
6067
80460654
GM
60682000-03-09 Gerd Moellmann <gerd@gnu.org>
6069
6070 * fns.c (Fy_or_n_p): Cancel busy-cursor.
6071
95cd4c40
SM
60722000-03-08 Stefan Monnier <monnier@cs.yale.edu>
6073
6074 This is a big redesign of failure-stack and register handling, prompted
6075 by bugs revealed when trying to add shy-groups. Overall, what happened
6076 is that loops are now structured a little differently, groups can be
6077 shy and the code is a little simpler.
6078
6079 * regex.h: Update the copyright.
6080 (RE_SHY_GROUPS): New value.
6081 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
6082 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
6083
80460654
GM
6084 * regex.c (enum re_opcode_t): Remove jump_past_alt,
6085 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
6086 on_failure_jump_(exclusive, loop and smart). Also fix the comment
6087 for (start|stop)_memory since they now only take one argument (the
6088 second has becomes unnecessary).
6089 (print_partial_compiled_pattern): Adjust for changes in
6090 re_opcode_t.
6091 (print_compiled_pattern): Use %ld to printf long ints and flush to
6092 make debugging a little easier.
95cd4c40
SM
6093 (union fail_stack_elt): Make the integer unsigned.
6094 (struct fail_stack_type): Add a `frame' element.
6095 (INIT_FAIL_STACK): Init `frame' as well.
6096 (POP_PATTERN_OP): New macro for re_compile_fastmap.
6097 (DEBUG_PUSH, DEBUG_POP): Remove.
6098 (NUM_REG_ITEMS): Remove.
6099 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
6100 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
6101 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 6102 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
80460654
GM
6103 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP): New
6104 macros.
6105 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
6106 address pushed is not the destination of the jump but the source
6107 of it instead.
95cd4c40
SM
6108 (NUM_FAILURE_ITEMS): Remove.
6109 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
6110 registers before the actual failure point). Don't hardcode any
6111 meaning for str==NULL anymore.
95cd4c40 6112 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
6113 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
6114 Remove.
95cd4c40
SM
6115 (REG_UNSET_VALUE): Use NULL (why not?).
6116 (compile_range): Remove declaration since it doesn't exist.
6117 (struct compile_stack_elt_t): Remove inner_group_offset.
6118 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
6119 (regex_grow_registers): Remove dead code.
6120 (FIXUP_ALT_JUMP): New macro.
80460654
GM
6121 (regex_compile): Add shy-groups Change loops to use
6122 on_failure_jump_smart&jump instead of
6123 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
6124 initial (dummy_failure_)jump. Remove c1_base (looks like unused
6125 variable to me). Use `jump' instead of `jump_past_alt' and don't
6126 bother with push_dummy_failure in alternatives since it is now
6127 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
6128 emacs' for (re)allocating the stack.
6129 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
6130 from loop when bufp->can_be_null rather than jumping to `done'.
6131 Avoid jumping backwards so as to ensure termination. Use
6132 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
6133 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 6134 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
6135 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
6136 improve mutually_exclusive_p to handle ".+\n".
6137 (lowest_active_reg, highest_active_reg,
6138 NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
6139 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
6140 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
6141 variables. Push register (in `start_memory') on the stack rather
6142 than storing it in old_reg(start|end). Remove the cycle detection
6143 from `stop_memory', replaced by the use of on_failure_jump_loop
6144 for greedy loops. Add code for the new on_failure_jump_<foo>.
6145 Remove ad-hoc code in `on_failure_jump' to push more registers in
6146 the case of a loop. Take out code from `maybe_pop_jump' into
6147 separate functions and adapt it to the semantics of
6148 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
6149 and push_dummy_failure. Remove dummy_failure handling and
6150 handling of `failures to jump to on_failure_jump' (this last one
6151 was already dead code, it seems).
6152 (group_match_null_string_p, alt_match_null_string_p)
6153 (common_op_match_null_string_p): Remove.
95cd4c40 6154
7397acc4
DL
61552000-03-08 Dave Love <fx@gnu.org>
6156
6157 * config.in: Don't depend on __STDC__ for volatile.
6158 Add POINTER_TYPE, PTR, PROTOTYPES.
6159
6160 * hftctl.c, strftime.c: Use PROTOTYPES.
6161 * eval.c (find_handler_clause): Likewise.
6162
6163 * mem-limits.h: Use POINTER_TYPE.
6164
6165 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
6166 (memory_warnings): Declare using POINTER_TYPE.
6167
5e91ff9e
GM
61682000-03-08 Gerd Moellmann <gerd@gnu.org>
6169
feab4fba
GM
6170 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
6171
25edb08f
GM
6172 * xdisp.c (display_echo_area): Temporarily inhibit garbage
6173 collection.
6174
5e91ff9e
GM
6175 * xfns.c: Remove obsolete code in #if 0.
6176 (Fx_focus_frame): New function.
6177
a735b7e1
KH
61782000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
6179
6180 * coding.c (coding_category_name): Add coding-category-utf-8,
6181 coding-category-utf-16-be, coding-category-utf-16-le.
6182 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
6183 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
6184 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
6185 (detect_coding_utf_8): New function.
6186 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
6187 UTF_16_LOW_SURROGATE_P): New macros.
6188 (detect_coding_utf_16): New function
6189 (detect_coding_mask): When priorities are specified, skip any
6190 categories that have `nil' coding-system. Fix bug of returning
6191 wrong mask when PRIORITIES is specified and detect_coding_XXX()
6192 returns a mask not set in PRIORITIES.
6193 (detect_eol_type_in_2_octet_form): New function.
6194 (detect_eol): selects detect_eol_type_XXX to call according to
6195 cooding->category_idx.
6196 (detect_coding_system): Remove `nil' coding-system in the result.
6197 (Fupdate_coding_systems_internal): Update all coding-categories.
6198
6199 * coding.h (CODING_CATEGORY_IDX_UTF_8,
6200 CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE): New
6201 macros.
6202 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY,
6203 CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
6204 CODING_CATEGORY_IDX_UTF_16_LE.
6205 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE,
6206 CODING_CATEGORY_MASK_UTF_16_LE): New macros.
6207 (CODING_CATEGORY_MASK_ANY): Include the above macros.
6208 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
6209
9994cc69
GM
62102000-03-07 Gerd Moellmann <gerd@gnu.org>
6211
e9b4e5ff
GM
6212 * doc.c (Fdocumentation_property): If value is not a string,
6213 and doesn't refer to etc/DOC, evaluate it to obtain a string.
6214
f7daf1e1
GM
6215 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
6216 close the display with XtCloseDisplay. This caused a bus error
6217 on OpenWindows.
6218
9994cc69
GM
6219 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
6220 complete but not unique.
6221
4336c705
GM
62222000-03-06 Gerd Moellmann <gerd@gnu.org>
6223
18bb0684
GM
6224 * process.c (send_process): Remove local variable `procname' that
6225 might become invalid when a GC happens. Instead, access the
6226 process name slot directly.
6227
4336c705
GM
6228 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
6229 orig_height if set.
6230
6231 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
6232 orig_height if set.
6233
515d0d0e
EZ
62342000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
6235
6236 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
6237 glyph matrices have been freed.
6238
100b3cbb
GM
62392000-03-05 Gerd Moellmann <gerd@gnu.org>
6240
50df5e5a 6241 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 6242 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
6243
6244 * xfns.c (QCdata): Moved to xdisp.c.
6245
6246 * xdisp.c (QCdata): Moved here from xfns.c.
6247 (syms_of_xdisp): Initialize QCdata.
6248
6249 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
6250
6251 * window.c (coordinates_in_window): Use
6252 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
6253 FRAME_INTERNAL_BORDER_WIDTH.
6254
100b3cbb 6255 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 6256 it is obviously invalid.
100b3cbb
GM
6257
6258 * xterm.c (x_term_init): Create a colormap if not using the
6259 default visual.
6260
6261 * xterm.h (select_visual): Change prototype.
6262
6263 * xfns.c (select_visual): Rewritten. Recognize user-specified
6264 visual classes.
6265 (visual_classes): New variable.
6266
64d739c4
GM
62672000-03-04 Gerd Moellmann <gerd@gnu.org>
6268
6269 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
6270 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
6271 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
6272 (x_decode_color): Don't handle allocation of white and black
6273 specially.
6274 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
6275 XtNcolormap resources.
6276 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
6277 (Fx_create_frame): Initialize color members of x_output structure.
6278 (xpm_load): Pass colormap to XPM lib.
6279
6280 * xfaces.c (x_free_colors): Access colormap of frame using
6281 FRAME_X_COLORMAP. Be paranoid about freeing black and white
6282 when default colormap is used.
6283
6284 * xterm.c (x_term_init): Set Colormap member of x_display_info
6285 structure. Copy colormap if resource `privateColormap' is
6286 specified (PseudoColor only).
6287 (x_setup_relief_color): Access colormap of frame using
6288 FRAME_X_COLORMAP.
6289
6290 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
6291 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
6292
c3cee013
JR
62932000-03-04 Jason Rumney <jasonr@gnu.org>
6294
6295 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
6296 other non-platform-specific equivalents.
64d739c4 6297 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
6298 specific functions and macros as their w32 equivalents where
6299 non-platform-specifics are not available.
6300 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
6301 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
6302 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
6303 (frame_update_line_height): Use macros to access f->output_data.
6304 (defined_color): Remove FIXME comments; fixed.
6305 (x_face_list_fonts, prepare_face_for_display): Put X specifics
6306 into #ifdef blocks. Add WINDOWSNT blocks.
6307 (Fx_list_fonts): Use macros for accessing font data.
6308 (set_lface_from_font_name): Different default fonts for X and
6309 WINDOWSNT.
6310 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
6311 scalable for backward compatibility.
64d739c4 6312 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
6313 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
6314
64d739c4 6315 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
6316 syms_of_w32faces.
6317
6318 * makefile.nt (w32faces.obj): Remove.
6319 (xfaces.obj): Add.
6320
807cc41c
JR
63212000-03-03 Jason Rumney <jasonr@gnu.org>
6322
6323 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
6324 correct parameters.
6325
0007072a
KR
63262000-03-03 Ken Raeburn <raeburn@gnu.org>
6327
6328 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
6329 standard ELF definitions here if the system header does not.
6330
71a6ba55
GM
63312000-03-03 Gerd Moellmann <gerd@gnu.org>
6332
6333 * xterm.c (PER_CHAR_METRIC): Removed.
6334 (x_per_char_metric_1, x_default_char): New functions.
6335 (x_per_char_metric): If font's default char is invalid, return
6336 metrics of a suitably chosen usable default char.
6337 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
6338 char, replace occurrences of unprintable chars with a suitably
6339 chosen usable default char.
71a6ba55 6340
900fa1f1
GM
63412000-03-02 Gerd Moellmann <gerd@gnu.org>
6342
42f55fe0
GM
6343 * xterm.c (note_mouse_highlight): Return quickly if frame's
6344 glyph matrices have been freed.
6345
6346 * dispnew.c (free_glyphs): Block input while freeing matrices.
6347
900fa1f1
GM
6348 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
6349
6350 * xterm.c (x_alloc_lighter_color, x_setup_relief_color): Use
6351 x_free_colors.
6352
6353 * dispextern.h (x_free_colors): Add prototype.
6354
6355 * xfaces.c (x_free_colors): New function.
6356 (unload_color, free_face_colors): Use it.
6357
2f950292
EZ
63582000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
6359
6360 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
6361
6362 * window.c [MSDOS]: Include msdos.h.
6363
54d04320
DL
63642000-03-02 Dave Love <fx@gnu.org>
6365
6366 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
6367
6368 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
6369 set C_OPTIMIZE_SWITCH for gcc.
6370
0ba93ac4
KH
63712000-03-02 Kenichi Handa <handa@etl.go.jp>
6372
6373 * coding.c (coding_save_composition): Be sure to allocate
6374 composition data area in coding even if there's no composition in
6375 the current run.
6376
a2bc11d4
JR
63772000-03-01 Jason Rumney <jasonr@gnu.org>
6378
6379 * w32term.c: Equivalent changes to those made to xterm.c on
6380 2000-02-25 and 2000-02-24.
6381
6382 * w32fns.c: Equivalent changes to those made to xfns.c on
6383 2000-02-25 and 2000-02-21.
6384
6385 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
6386 correct line-end convention is followed.
6387
6388 * w32menu.c [HAVE_BOXES]: Remove #undef.
6389 (single_keymap_panes): Remove code for simulating checkmarks.
6390 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
6391 Remove code for drawing simulated checkmarks.
6392 (w32_menu_show): make unibyte help string correctly.
6393 (add_menu_item): draw standard Windows checkmarks. Draw radio
6394 buttons as radio buttons if possible.
6395
72d19d75
GM
63962000-03-01 Gerd Moellmann <gerd@gnu.org>
6397
2df636f4
GM
6398 * sysdep.c (start_of_text): Don't define this function for NetBSD
6399 with ELF.
6400
427ec082 6401 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
6402 Don't define.
6403 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
6404 (LINKER): Don't undef if __NetBSD__ is defined.
6405
6406 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
6407
6408 * fileio.c [__NetBSD__]: Define `unix'.
6409
72d19d75
GM
6410 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
6411
ed4d0512
GM
64122000-02-29 Gerd Moellmann <gerd@gnu.org>
6413
50b1039f
GM
6414 * atimer.c (start_atimer): Don't abort when timers are stopped.
6415 (append_atimer_lists): New function.
6416 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
6417 arbitrary lists of stopped and running atimers.
6418
ed4d0512
GM
6419 * atimer.c (cancel_atimer): Handle canceling an atimer when
6420 some timers are stopped.
6421
6422 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
6423 after canceling it.
6424
6425 * fns.c (maybe_resize_hash_table): Handle case of new size
6426 coming out as being the same as old size.
6427
387023ee
JR
64282000-02-27 Jason Rumney <jasonr@gnu.org>
6429
6430 * makefile.nt: Add atimer.h to dependencies.
6431 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
6432 * w32console.c: Only disable window system features for dispextern.h
6433 (initialize_w32_display): Build a display info for the console.
6434 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
6435 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
6436 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
6437 as 2 button mice.
6438 * w32gui.h (struct W32FontStruct): Revert last change after change
6439 to xdisp.c.
6440 * w32menu.c (single_submenu): Set up help string.
6441 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
6442 (w32_dialog_show): Set up help string.
6443 * w32term.c (w32_display_info_for_display): Remove unused function.
6444 (w32_draw_bitmap): Use pre-built bitmaps.
6445 (w32_initialize_display_info): New function to initialize parts of
6446 display info that are common to both GUI and console frames.
6447 (w32_term_init): Use w32_initialize_display_info. Do not set
6448 Vw32_num_mouse_buttons here, as it is not called for console
6449 frames. Build bitmaps for indicating truncated lines etc.
6450 (x_delete_display): Destroy pre-built bitmaps.
6451 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
6452 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
6453
4516715a
DL
64542000-02-27 Dave Love <fx@gnu.org>
6455
6456 * lisp.h: Add a bunch of prototypes.
6457
171ca836
KH
64582000-02-26 Kenichi Handa <handa@etl.go.jp>
6459
6460 * keyboard.c (read_char): Set `usec' correctly.
6461
4013921d
KH
64622000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
6463
6464 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
6465 `lambda', set reg[RRR] to the map index.
6466 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
6467 reg[RRR] to 0. Otherwise, set it to -1.
6468
9244a058
GM
64692000-02-25 Gerd Moellmann <gerd@gnu.org>
6470
2df636f4 6471 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 6472
18e21ce8 64732000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 6474
f43d79c1
GM
6475 * fileio.c (Ffile_symlink_p): If result starts with a `/'
6476 and contains a `:', prepend `/:'.
6477
6478 * window.c (select_window_1): If selected_window is nil,
6479 don't "swap out" the buffer's point.
6480 (Fset_window_configuration): Set selected_window to nil
6481 before calling Fselect_window.
6482 (unshow_buffer): Don't set point in buffer from window's point
6483 if another more recently selected window also shows the buffer.
6484
bed0c171
GM
64852000-02-25 Gerd Moellmann <gerd@gnu.org>
6486
449c3c52
GM
6487 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
6488
f5b58615
GM
6489 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
6490 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
6491 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay): New
6492 variables.
6493 (DEFAULT_BUSY_CURSOR_DELAY): New define.
6494 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
6495 (hide_busy_cursor): New functions.
6496 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
6497
6498 * minibuf.c (read_minibuf): Cancel busy-cursor.
6499
6500 * keyboard.c (command_loop_1): Call start_busy_cursor before
6501 Fcommand_execute and cancel_busy_cursor after it.
6502 (timer_check): Remove busy-cursor code.
6503 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
6504 cursor timer.
6505
6506 * process.c (wait_reading_process_input): Remove busy-cursor code.
6507
6508 * eval.c (Fsignal): Call cancel_busy_cursor instead of
6509 Fx_hide_busy_cursor.
6510
6511 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
6512 Remove prototyoes.
6513 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
6514
6515 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
6516
6517 * xterm.c (XTread_socket): Remove busy-cursor code.
6518
4eb8436f
GM
6519 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
6520 (build_frame_matrix_from_leaf_window): Put code handling
6521 glyph row's not being a slice of a frame row in #if 0.
6522 (sync_window_with_frame_matrix_rows): New function.
6523 (frame_row_to_window): New function.
6524 (mirror_line_dance): Handle copies between windows.
6525
3cb65b0e
GM
6526 * lread.c (Fload): Use `xfree' instead of `free'.
6527 (init_obarray): Use `xmalloc' instead of `malloc'.
6528
bed0c171
GM
6529 * window.c (Fset_window_buffer): Set WINDOW to the window
6530 after decoding.
2add4349
GM
6531 (coordinates_in_window): Take frame's internal border width
6532 into account.
bed0c171 6533
42088c12
GM
65342000-02-24 Gerd Moellmann <gerd@gnu.org>
6535
6536 * xterm.c (x_display_and_set_cursor): Display cursor of
6537 non-selected windows depending on the setting of
6538 cursor_in_non_selected_windows.
6539
6540 * xdisp.c (cursor_in_non_selected_windows): New variable.
6541 (syms_of_xdisp): DEFVAR_BOOL it.
6542
d1e103b2
GM
65432000-02-23 Gerd Moellmann <gerd@gnu.org>
6544
723e779c
GM
6545 * data.c (Fstring_to_number): If number is greater than what
6546 fits into an integer, return a float.
6547
d1e103b2
GM
6548 * eval.c (specbind): Remove references to
6549 keyword_symbols_constant_flag.
6550
6551 * data.c (keyword_symbols_constant_flag): Removed.
6552 (Fmakunbound, set_internal, syms_of_data): Remove references to
6553 keyword_symbols_constant_flag.
6554
6555 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
6556
214f877f
KH
65572000-02-23 Kenichi Handa <handa@etl.go.jp>
6558
6559 * syntax.c (multibyte_syntax_as_symbol): New variable.
6560 (syms_of_syntax): Declare it as a Lisp variable.
6561 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
6562 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
6563 nonzero, treat all multibyte characters as symbol.
42088c12 6564 (init_syntax_once): Give syntax `word' to all multibyte
214f877f
KH
6565 characters.
6566
130adcb7
EZ
65672000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
6568
3cb65b0e 6569 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 6570 a deleted frame.
130adcb7 6571
17cbbf95
GM
65722000-02-21 Gerd Moellmann <gerd@gnu.org>
6573
6574 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
6575
6576 * xfns.c (x_window_to_frame, x_any_window_to_frame)
6577 (x_non_menubar_window_to_frame): Check the busy-cursor window.
6578
beb0bc36
DL
65792000-02-21 Dave Love <fx@gnu.org>
6580
6581 * frame.c (Vmouse_position_function): New variable.
6582 (Fmouse_position): Use it.
6583 (syms_of_frame): Install it.
6584
6585 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
6586
1d92afcd
GM
65872000-02-20 Gerd Moellmann <gerd@gnu.org>
6588
6589 * fileio.c (Finsert_file_contents): Unbind the binding of
6590 standard-output done by temp_output_buffer_setup.
329eed9f
GM
6591
6592 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
6593 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
6594 (specbind, unbind_to): Handle most common case of non-constant
6595 symbol with trivial value specially.
6596
6597 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
6598
18e21ce8 65992000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
6600
6601 * data.c (Fmake_variable_buffer_local): Doc fix.
6602 Init found_for_buffer to 0.
6603 (Fmake_variable_frame_local): If the variable has already
6604 been buffer-local, set the check_frame field.
6605
1d4311c3
EZ
66062000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
6607
6608 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
6609 produced for CODING_MODE_LAST_BLOCK requires.
6610
2dc95ddd
DL
66112000-02-18 Dave Love <fx@gnu.org>
6612
6613 * keyboard.c (echo_keystrokes): Remove declaration.
6614 (Vecho_keystrokes) New variable.
6615 (read_char, record_menu_key, read_key_sequence): Use it to allow
6616 use of float value.
6617 (syms_of_keyboard): Change Vecho_keystrokes declaration.
6618
6619 * lread.c: Undef feature selection macros before defining.
6620
f0930f35
GM
66212000-02-18 Gerd Moellmann <gerd@gnu.org>
6622
6623 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
6624 for symbols other than the symbol in question.
6625
e3d4de90
DL
66262000-02-17 Dave Love <fx@gnu.org>
6627
6628 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
6629
0b378936
GM
66302000-02-17 Gerd Moellmann <gerd@gnu.org>
6631
d621caf7
GM
6632 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
6633
0b378936
GM
6634 * alloc.c (enum mem_type): Compile unconditionally.
6635
3b451f74
EZ
66362000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
6637
6638 * xfaces.c (tty_defined_color): Don't return faulire indication
6639 for unspecified-fg and unspecified-bg pseudo-colors.
6640
10689a01
GM
66412000-02-17 Gerd Moellmann <gerd@gnu.org>
6642
1216f5e4
GM
6643 * alloc.c (mark_object): Don't mark symbol names in pure space.
6644 (gc_sweep): Don't unmark symbol names in pure space.
6645
6646 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
6647 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
6648 [GC_MARK_STACK]: New defines.
427ec082 6649 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
6650 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
6651
6652 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
6653
6654 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
6655 allocate_buffer instead of xmalloc.
6656
6657 * alloc.c (toplevel): Include setjmp.h.
6658 (PURE_POINTER_P): New define.
6659 (enum mem_type) [GC_MARK_STACK]: New enumeration.
6660 (Vdead) [GC_MARK_STACK]: New variable.
6661 (lisp_malloc): Add parameter TYPE, call mem_insert if
6662 GC_MARK_STACK is defined.
6663 (allocate_buffer): New function.
427ec082 6664 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
6665 (free_float) [GC_MARK_STACK]: Set type to Vdead.
6666 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
6667 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
6668 (MEM_NIL) [GC_MARK_STACK]: New define.
6669 (struct mem_node) [GC_MARK_STACK]: New structure.
6670 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
6671 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
6672 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
6673 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
6674 (mark_stack) [GC_MARK_STACK]: New functions.
6675 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
6676 (clear_marks): Removed.
6677 (gc_sweep): Set free conses' car, free floats' type, free
6678 symbols' function to Vdead. Use lisp_free to free buffers.
6679 (init_alloc_once): Initialize Vdead.
6680 (survives_gc_p): Return non-zero for pure objects.
6681
6682 * alloc.c: Add comments throughout the file.
6683
2503c8b1
GM
6684 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
6685 that unblocks alarms.
6686
8389e1e2
GM
6687 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
6688 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
6689 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
6690
10689a01 6691 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 6692
bfc17d18
KH
66932000-02-17 Kenichi Handa <handa@etl.go.jp>
6694
4a09dee0
KH
6695 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
6696 avoid infinite error signaling. Allocate sufficient memory for
6697 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 6698
2b927d02
SM
66992000-02-17 Stefan Monnier <monnier@cs.yale.edu>
6700
6701 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
6702 depends on the previous behavior.
6703
b49cb764
GM
67042000-02-16 Gerd Moellmann <gerd@gnu.org>
6705
6706 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
6707
99e95407
GM
67082000-02-15 Gerd Moellmann <gerd@gnu.org>
6709
6710 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
6711
6712 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 6713 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
6714 write(2).
6715
6ffd3cf7
RS
67162000-02-15 Richard M. Stallman <rms@gnu.org>
6717
6718 * data.c (set_internal): Don't make variable buffer-local
6719 if within a let-binding for the same buffer.
6720 (let_shadows_buffer_binding_p): New function.
6721
6722 * eval.c (specbind): For buffer-local value,
6723 record the current buffer also.
6724 (unbind_to): Cope with that change.
6725
cad53475
GM
67262000-02-15 Gerd Moellmann <gerd@gnu.org>
6727
6728 * window.c (Fsave_window_excursion): Doc fix.
6729
1aa963c8
SM
67302000-02-15 Stefan Monnier <monnier@cs.yale.edu>
6731
6732 * syntax.c (back_comment): Make sure we only consider comment-starters
6733 of the relevant style and return -1 in case of a failure to find the
6734 beginning of the comment.
6735 (Fforward_comment): If back_comment fails, go back to the position just
6736 after the comment-end.
6737 (scan_lists): Add comment describing a very minor bug.
6738
b9b84fd3
SM
67392000-02-14 Stefan Monnier <monnier@cs.yale.edu>
6740
6741 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
6742 `completion-regexp-list' in the docstring.
6743
3a28db80
DL
67442000-02-14 Dave Love <fx@gnu.org>
6745
6746 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
6747
fb4a568d
SM
67482000-02-14 Stefan Monnier <monnier@cs.yale.edu>
6749
6750 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
6751 to Emacs' syntax. Also fix the comment about set/not-set meanings
6752 since Emacs syntax is not the value 0 any more.
6753 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
6754 since it's now part of RE_SYNTAX_EMACS.
6755
1063ebb5
DL
67562000-02-12 Dave Love <fx@gnu.org>
6757
6758 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on
6759 Alpha.
6760
fb07a302
GM
67612000-02-12 Gerd Moellmann <gerd@gnu.org>
6762
6763 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
6764
aaf2320c
DL
67652000-02-12 Dave Love <fx@gnu.org>
6766
6767 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
6768
6769 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
6770 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
6771 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
6772
6773 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
6774
6775 * s/nextstep.h: Don't define HAVE_ALLOCA.
6776
6777 * config.in: Add vfork bits.
6778
eedf8bde
GM
67792000-02-12 Gerd Moellmann <gerd@gnu.org>
6780
6781 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
6782 unwind function to undo the effect of stopping atimers.
6783
6784 * keyboard.c (bind_polling_period): Stop all timers except
6785 poll_timer.
6786
6787 * atimer.c (stopped_atimers): New variable.
6788 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
6789 New functions.
6790
6791 * atimer.h (stop_other_atimers, run_all_atimers)
6792 (unwind_stop_other_atimers): Add function prototypes.
427ec082 6793
eedf8bde
GM
6794 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
6795
8476c2f8
KR
67962000-02-11 Ken Raeburn <raeburn@gnu.org>
6797
6798 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
6799 library may depend on jpeg.
6800 (atimer.o): Depends on atimer.c.
6801
0e85e4a3
KH
68022000-02-11 Kenichi Handa <handa@etl.go.jp>
6803
6804 * insdel.c (del_range_1): Call update_compositions.
6805 (del_range_both): Call update_compositions just once..
6806
97fa0cc8
DL
68072000-02-10 Dave Love <fx@gnu.org>
6808
6809 * xfns.c (create_frame_xic): Fix initialization of automatic
6810 aggregates for pcc.
6811
25566a3c
KH
68122000-02-09 Kenichi Handa <handa@etl.go.jp>
6813
6814 * ccl.c (CCL_MAKE_CHAR): New macro.
6815 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
6816 registers by CCL_MAKE_CHAR before calling translate_char.
6817 <CCL_TranslateCharacterConstTbl> Likewise.
6818
69da54ba
DL
68192000-02-08 Dave Love <fx@gnu.org>
6820
6821 * lread.c (__EXTENSIONS__): Define.
6822
f7136ee8
GM
68232000-02-08 Gerd Moellmann <gerd@gnu.org>
6824
6825 * puresize.h (BASE_PURESIZE): Increase to 650000.
6826
7768790b
EZ
68272000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
6828
6829 * msdos.c (XMenuActivate): Turn off the cursor after displaying
6830 the help message.
6831
38fd211b
EZ
68322000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
6833
6834 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
6835 md, mh, mb, mr, and me to the fake termcap entry.
6836
66e4690f
KR
68372000-02-06 Ken Raeburn <raeburn@gnu.org>
6838
6839 * sound.c (sound_cleanup): Don't call device close routine if the
6840 function pointer is null.
6841
a75dfea0
AI
68422000-02-06 Andrew Innes <andrewi@gnu.org>
6843
6844 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
6845 around image definitions and prototypes.
6846 (gamma_correct) [WINDOWSNT]: New prototype.
6847
6848 * w32term.c (x_make_frame_visible): Replace call to
6849 input_poll_signal with poll_for_input.
6850
6851 * window.c [WINDOWSNT]: Include w32term.h.
6852
6853 * xdisp.c [WINDOWSNT]: Include w32term.h.
6854
6855 * makefile.nt: Add dependencies on w32gui.h.
6856 (OBJ1): Include atimer.obj.
6857 ($(BLD)\atimer.obj): New dependency rule.
6858
6859 * w32.c (sigmask): New function (does nothing).
6860 (sigunblock): Ditto.
6861
6862 * frame.c [WINDOWSNT]: Include w32term.h.
6863
6864 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
6865
6866 * lread.c (syms_of_lread): Fix literal newlines.
6867
6868 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
6869 the string constant limit (2048 bytes) in MSVC.
6870 (main): Ditto.
6871
59ddecde
GM
68722000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
6873
6874 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit
6875 area.
6876 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
6877 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
6878 dispatch the event.
6879
07590973
DL
68802000-02-04 Dave Love <fx@gnu.org>
6881
6882 * fileio.c: Remove some unused vars.
6883 (_GNU_SOURCE): Define (for euidaccess).
6884
6885 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
6886
6887 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
6888 gcpro1, gcpro2.
6889 (read_minibuf): Deal with allow_props correctly.
6890
649351f9
EZ
68912000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
6892
6893 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
6894
66e4690f 68952000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
6896
6897 * search.c (compile_pattern): If a cache entry has a nil regexp,
6898 fill in that entry instead of clobbering a previously cached
6899 string regexp.
6900
66e4690f 69012000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
6902
6903 * puresize.h (BASE_PURESIZE): Increase to 610000.
6904
d240a249
GM
69052000-02-02 Gerd Moellmann <gerd@gnu.org>
6906
6907 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
6908 can GC.
6909
ca91fb26
KH
69102000-02-02 Kenichi Handa <handa@etl.go.jp>
6911
25660570
KH
6912 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
6913 instead of incrementing ic directly.
6914 <CCL_WriteExprConst> Likewise.
6915 <ccl_set_expr>: Set ic to jump_address.
6916
ca91fb26
KH
6917 * fileio.c (e_write): Fix the handling of
6918 CODING_FINISH_INSUFFICIENT_SRC.
6919
2ede9689
DL
69202000-02-01 Dave Love <fx@gnu.org>
6921
6922 * editfns.c (Fpropertize): Doc fix.
6923
6924 * process.c (Fstart_process): Doc fix.
6925
6926 * eval.c: Fix various doc strings not to duplicate information
6927 from help-manyarg-func-alist.
6928
6929 * window.c (Fset_window_margins): Don't make interactive. Doc
6930 fix.
6931
6932 * doc.c (Vhelp_manyarg_func_alist): New variable.
6933 (Fdocumentation): Use it.
6934 (syms_of_doc): Define it.
6935
b6680a0e
GM
69362000-01-31 Gerd Moellmann <gerd@gnu.org>
6937
2cb750ba
GM
6938 * xterm.c (xim_open_dpy): Remove unused local variable.
6939
74e9213b
GM
6940 * emacs.c (USAGE): Use term `display options' instead of `X
6941 options'.
6942
6943 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
6944 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
6945
b6680a0e
GM
6946 * fns.c (sweep_weak_table): New function.
6947 (sweep_weak_hash_tables): Use it. Keep on marking until there
6948 is no more change.
6949
994c5afe
GM
69502000-01-30 Gerd Moellmann <gerd@gnu.org>
6951
6952 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
6953 that XTread_socket does not crash by trying to call XNoOp on a
6954 closed display.
427ec082 6955
f00276e3
JR
69562000-01-30 Jason Rumney <jasonr@gnu.org>
6957
6958 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
6959 Change selected_frame to SELECTED_FRAME ().
6960 (w32_console_mouse_position): Remove #ifndef MULE from around
6961 `insist' parameter.
6962
6963 * makefile.nt: Remove dosfns.obj.
6964
6965 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
6966
6967 * w32fns.c (w32_defined_color): Check for valid frame before
6968 applying gamma correction. Eliminate dependency on frame elsewhere.
6969 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
6970 (w32_to_x_font): Use resx and resy not height_in and width_in.
6971 (x_to_w32_font): Doc fix.
6972 (xlfd_strip_height): New function to strip and return font height.
6973 (w32_font_match): Compare height separately from rest of xlfd
6974 spec, using xlfd_strip_height.
6975
6976 * w32term.c (w32_term_init): Swap resx and height_in, resy and
6977 width_in. Use w32_defined_color in place of defined_color.
6978
6979 * w32faces.c: Merge more of DOS and X specifics in preparation for
6980 merge with xfaces.c.
6981 (defined_color): Remove FIXME comment.
6982 (tty_color_name): Provide w32-specific function.
6983 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
6984
6985 * w32console.c (turn_on_face, turn_off_face): Removed.
6986 (w32_face_attributes): New function.
6987 (Global_variables): Reduce scope where possible.
6988 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
6989 fill attribute.
6990 (hl_mode): Don't modify text attributes.
6991 (write_glyphs): Don't do anything if len <= 0. Use
6992 w32_face_attributes to get attributes for drawing. Write
6993 terminating codes using char_attr_normal.
6994 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
6995 (update_begin, update_end): Likewise.
6996 (vga_stdcolor_name): New function.
6997 (initialize_w32_display): Remove char_attr_reverse and char_attr.
6998 (Fset_screen_color): Remove char_attr_reverse.
6999
b08e8bb2
GM
70002000-01-29 Gerd Moellmann <gerd@gnu.org>
7001
7002 * xfns.c (xic_set_preeditarea): Take window parameter and
7003 window-relative pixel-positions.
7004
7005 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
7006 is its frame's selected window.
7007 (xim_instantiate_callback): Likewise.
7008
7009 * xfns.c (x_create_im): Removed.
7010 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
7011 (supported_xim_styles): Renamed from supported_styles.
7012 (best_xim_style): Renamed from best_style.
7013 (create_frame_xic): Renamed from xic_create_frame.
7014 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 7015
b08e8bb2
GM
70162000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
7017
7018 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
7019 our frames, call XFilterEvent with 2nd parameter `None'.
7020 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
7021 returning XBufferOverflow.
7022 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status
7023 area.
7024 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
7025 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
7026 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
7027 (xim_initialize, xim_close)
7028 [HAVE_X_I18N && HAVE_X11R6]: New functions.
7029 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
7030 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
7031 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
7032
7033 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
7034 and `xim_styles'.
7035 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
7036 `xic_style' and `xic_xfs'.
7037 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
7038 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
7039 (FRAME_XIM): Removed.
7040
7041 * xfns.c (supported_styles): New variable.
7042 (DEFAULT_STYLE, DEFAULT_FONT): New macros
7043 (xic_create_xfontset, best_style, xic_create_frame)
7044 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
7045 (xic_set_xfontset): New functions.
7046
142e109c
DL
70472000-01-28 Dave Love <fx@gnu.org>
7048
7049 * s/irix6-5.h: Revert last change after change to irix5-0.h.
7050
7051 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
7052
b02786f9
GM
70532000-01-28 Gerd Moellmann <gerd@gnu.org>
7054
d060bc9f
GM
7055 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
7056 for *scratch* if it already existed.
7057
b02786f9
GM
7058 * emacs.c (USAGE): New macro.
7059 (main): Use it to display usage information.
7060
2c52d7e4
EZ
70612000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
7062
7063 Support for the menu-help feature:
7064
7065 * msdos.h: Change prototypes of XMenuAddSelection and
7066 XMenuActivate.
7067
7068 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
7069 part of the line to the termscript file.
7070 (IT_clear_to_end): Clear the entire line, not just its beginning.
7071 (menu_help_message, prev_menu_help_message): New variables.
7072 (IT_menu_make_room): Make room for the help_text member.
7073 (IT_menu_display): New argument disp_help; all callers changed.
7074 If disp_help is non-zero, store the help text of the active menu
7075 item in menu_help_message.
7076 (XMenuAddPane): Initialize the help_text member to NULL.
7077 (XMenuAddSelection): New argument help_text. Store it in the
7078 XMenu structure.
7079 (XMenuActivate): New argument help_callback. If the value of
7080 menu_help_message has changed since the last time, display the
7081 menu help message text while waiting for the mouse to move. Clear
7082 the echo area before exiting.
7083 (XMenuDestroy): Free the help_text member.
7084
ffe0bcd1
GM
70852000-01-27 Gerd Moellmann <gerd@gnu.org>
7086
7087 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
7088 XMenuAddSelection. Pass help callback to XMenuActivate.
7089 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
7090
50dbd23f
EZ
70912000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
7092
7093 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
7094 and EMACS_SET_USECS.
7095
f5941bf8
GM
70962000-01-26 Dave Love <fx@gnu.org>
7097
6c67ddee
DL
7098 * editfns.c (Fchar_after, Fchar_before): Doc fix.
7099
f5941bf8
GM
7100 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
7101 an error may be signalled.
7102
9e49c990
GM
71032000-01-26 Gerd Moellmann <gerd@gnu.org>
7104
fc3cb460
GM
7105 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
7106 LD_SWITCH_SYSTEM inherited from irix5-0.h.
7107
9e49c990
GM
7108 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
7109
d0c037d8
GM
71102000-01-25 Gerd Moellmann <gerd@gnu.org>
7111
7112 * charset.c (Fstring): If there is a multibyte char among
7113 the args, always return a multibyte string.
7114
e12489f9
GM
71152000-01-25 Gerd Moellmann <gerd@gnu.org>
7116
7117 * sysdep.c (sys_select): Turn atimers off and on instead of
7118 recording and restoring old alarm handler
7119
7120 * process.c (toplevel): Include atimer.h.
7121 (create_process_1): Rewritten.
7122 (create_process): Use atimers instead of alarm.
7123 (wait_reading_process_input) [hpux]: Turn atimers off instead
7124 of turning off SIGALRM.
7125 (wait_reading_process_input): Turn off atimers instead off
7126 calling stop_polling.
7127
7128 * emacs.c (main): Call init_atimer.
7129
7130 * keyboard.c (toplevel): Include systime.h and atimer.h.
7131 (polling_for_input): Removed because unused.
7132 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
7133 (poll_timer): New variable.
7134 (poll_for_input, poll_for_input_1): New functions.
7135 (start_polling, stop_polling): Rewritten.
7136
7137 * keyboard.h (polling_for_input): Removed.
427ec082 7138
e12489f9
GM
7139 * atimer.h, atimer.c: New files.
7140
7141 * Makefile.in (obj): Add atimer.o.
7142 (atimer.o): New target.
7143
7144 * blockinput.h (pending_atimers): Add extern declaration.
7145 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
7146
7147 * lisp.h (popup_activated_flag): Add extern declaration.
7148
7149 * xmenu.c (popup_activated_flag): Make externally visible.
7150 (popup_activate_callback) [USE_MOTIF]: Increment
7151 popup_activated_flag.
7152 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
7153
7154 * xterm.c (toplevel): Include atimer.h.
7155 (toolkit_scroll_bar_interaction): New variable.
7156 (Fxt_process_timeouts): Removed.
7157 (x_process_timeouts): New function.
7158 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
7159 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
7160 (x_make_frame_visible): Call poll_for_input_1 instead of
7161 input_poll_signal. Don't call alarm.
7162 (x_initialize): Install timer calling x_process_timeouts.
427ec082 7163
1e5279b9
DL
71642000-01-24 Dave Love <fx@gnu.org>
7165
6c67ddee 7166 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
7167 Don't use -cckr -- apparently not now necessary.
7168
edf6aeb8
EZ
71692000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
7170
7171 * msdos.c (IT_menu_display): Truncate long menu lines at the right
7172 screen boundary.
7173
9badad41
JR
71742000-01-23 Jason Rumney <jasonr@gnu.org>
7175
7176 * w32fns.c (w32_defined_color): Apply gamma correction before
7177 trying to map to the palette.
7178 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
7179 to w32_clear_rect.
7180
7181 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
7182 here. Callers changed to always pass real device context.
7183 (w32_draw_bitmap): Likewise.
7184 (w32_get_glyph_overhangs): Likewise.
7185 (w32_draw_box_rect): Make use of s->hdc rather than getting a new
7186 one.
7187 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
7188 pfnSetScrollInfo and SetScrollRange.
7189 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
7190 back into MULE characters after decoding them.
7191 (x_get_glyph_face_and_encoding): Likewise.
7192 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
7193 GetCharABCWidthsW fails, since this is defined on Windows 9x.
7194 (x_produce_glyphs): Calculate per char metrics for a character
7195 that we know exists in default font when font_not_found_p is true.
7196
63bd786b
JR
71972000-01-22 Jason Rumney <jasonr@gnu.org>
7198
7199 * makefile.nt (intervals.obj, composite.obj): New modules.
7200 (composite.h): Added as dependency where appropriate.
7201
7202 * w32gui.h (XGCValue): New struct for emulating X GCs.
7203
7204 * w32term.h (XCharStruct): New struct for emulating X.
7205
7206 * w32console.c (turn_on_face, turn_off_face): New functions.
7207 (change_line_highlight): New prototype for new redisplay.
7208 (write_glyphs): Support multibyte text. Support faces.
7209
7210 * w32faces.c: Complete rewrite for new redisplay based on new
7211 xfaces.c.
7212
7213 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
7214 throughout. struct frame * in place of FRAME_PTR.
7215 Skeleton support for images, toolbars, tooltips from xfns.c.
7216 (Fx_create_frame): Use system default for default scroll bar
7217 width.
7218 (w32_get_arg): Renamed from x_get_arg.
7219 (Fx_file_dialog): New function.
7220 (w32_list_fonts): Check cache before asking system.
7221 (Vw32_enable_synthesized_fonts): New variable.
7222 (Vw32_enable_italics): Obsolete, removed.
7223
7224 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
7225 Use SELECTED_FRAME macro.
7226
7227 * w32menu.c: Add skeleton support for help strings on menus.
7228 (add_menu_item): Native checkbox and radio support added, but not
7229 yet enabled due to bugs.
7230 (push_menu_item): Add parameters type, selection and help.
7231 Callers updated.
7232 Formatting changes to reduce unnecessary diffs with xmenu.c.
7233
7234 * w32select.c (Fw32_set_clipboard_data): Update call to
7235 find_charset_in_str.
7236
7237 * w32term.c: Complete rewrite for new redisplay based on new
7238 xterm.c with necessary sections merged back in from old w32term.c.
7239
6ffd3cf7 72402000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
7241
7242 * data.c (set_internal): Further fix in same criterion.
7243
6ffd3cf7 72442000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
7245
7246 * data.c (set_internal): Fix the criteria for whether
7247 to swap out the old cached binding.
7248
60af03f1
DL
72492000-01-19 Dave Love <fx@gnu.org>
7250
7251 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
7252
f9be074f
KH
72532000-01-18 Kenichi Handa <handa@etl.go.jp>
7254
7255 * regex.c (re_compile_fastmap): While checking a range table for
7256 `charset', skip flag bits for a character class correctly.
7257
52b8dbf9
GM
72582000-01-17 Gerd Moellmann <gerd@gnu.org>
7259
d36100c9
GM
7260 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
7261
52b8dbf9
GM
7262 * xfns.c (x_window): Call lw_create_widget with new parameter
7263 list.
7264
7265 * widget.c (EmacsFrameSetCharSize): Change size of children first
7266 because of problems with main window geometry management under
7267 Lesstif.
7268
7269 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
7270 MENU_ITEMS_ITEM_.*.
7271 (MENU_ITEMS_ITEM_HELP): New enumerator.
7272 (push_menu_item): Add parameter HELP. Record help in menu_items.
7273 (single_menu_item, single_submenu, list_of_items): Call
7274 push_menu_item with new parameter.
7275 (single_submenu): Set help string in widget value.
7276 (menu_highlight_callback): New function.
7277 (set_frame_menubar): Call lw_create_widget with new
7278 parameter list.
7279 (xmenu_show, xdialog_show): Ditto.
7280
3139018f
GM
72812000-01-13 Gerd Moellmann <gerd@gnu.org>
7282
7283 * sound.c (Fplay_sound): Improve doc string.
7284
83c8f461
RS
72852000-01-11 Richard M. Stallman <rms@gnu.org>
7286
7287 * lisp.h (set_internal): Enter the new arg.
7288
7289 * eval.c (specbind): Record buffer-local variables specially,
7290 indicating which buffer's binding was saved.
7291 (unbind_to): Restore buffer-local variables specially
7292 in the proper buffer.
7293
7294 * data.c (set_internal): New arg BUF.
427ec082 7295
83c8f461
RS
7296 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
7297 * data.c (Fset): Pass new arg to set_internal.
7298 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 7299
1fab1775
GM
73002000-01-11 Gerd Moellmann <gerd@gnu.org>
7301
7302 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload,
7303 xprintsym.
7304
83c8f461 73052000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
7306
7307 * minibuf.c (Ftry_completion): Doc fix.
7308
7a85e4df
GM
73092000-01-11 Gerd Moellmann <gerd@gnu.org>
7310
7311 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
7312 vector, too.
7313
a970dae4
AS
73142000-01-11 Andreas Schwab <schwab@suse.de>
7315
7316 * coding.c (code_convert_region): Initialize total_skip.
7317
c65d14ee
DL
73182000-01-08 Dave Love <fx@gnu.org>
7319
7320 * eval.c (Fuser_variable_p): Check customizability too.
7321
834938d2
GM
73222000-01-07 Gerd Moellmann <gerd@gnu.org>
7323
7324 * minibuf.c (Fcompleting_read): Doc fix.
7325
e0303cd6
GM
73262000-01-05 Gerd Moellmann <gerd@gnu.org>
7327
8a26744b
GM
7328 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
7329 -L /usr/local/lib.
7330
e0303cd6
GM
7331 * xfns.c (x_create_im): New function to set IM and IC of a frame.
7332 Check that input style is supported before trying to create an
7333 IC for it.
7334 (x_window): Call x_create_im.
427ec082 7335
2e471eb5
GM
73362000-01-04 Gerd Moellmann <gerd@gnu.org>
7337
560a7bd2
GM
7338 * xfns.c (current_gif_memory_src): New variable.
7339 (gif_load): Record the address of the current memory source
7340 in current_gif_memory_src.
7341 (gif_read_from_memory): Use current_gif_memory_src.
7342
f9ee84a3
GM
7343 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
7344 macros statement form.
7345
d1299cde
GM
7346 * sound.c (struct sound): Renamed from struct sound_file.
7347 (struct sound): Add members `data' and `header_size'.
7348 (enum sound_attr): Add SOUND_DATA.
7349 (current_sound, current_sound_device): Variables renamed from
7350 sound_file and sound_device.
7351 (parse_sound): Parse :data.
7352 (parse_sound): Handle sound data in strings.
7353 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 7354 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
7355 needed header size.
7356 (wav_play, au_play): Play sounds from string data.
7357
2e471eb5
GM
7358 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
7359
7360 * lisp.h: Add prototype for allocate_string_data.
7361
7362 * alloc.c (Fgarbage_collect): Return number of live and free
7363 strings.
7364
7365 * alloc.c (mark_buffer): Remove code in #if 0.
7366 (gc_sweep): Ditto.
7367 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
7368 (strings_consed): New variable.
7369 (allocate_string): Set it.
7370 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
7371 (Fmemory_use_counts): Return strings_consed. Use Flist.
7372
7373 * alloc.c: General cleanup in comments etc. Remove conditional
7374 compilation for `standalone'.
7375
7376 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
7377
7378 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
7379 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
7380 (DONT_COPY_FLAG): Removed.
7381 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
7382 (struct sdata, struct sblock): New
7383 (struct string_block): Rewritten.
7384 (STRINGS_IN_STRING_BLOCK): New macro.
7385 (oldest_sblock, current_sblock, total_strings, total_free_strings)
7386 (large_sblocks, string_blocks, string_free_list): New variables.
7387 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
7388 (init_strings): Rewritten.
7389 (allocate_string, allocate_string_data, compact_small_strings)
7390 (free_large_strings, sweep_strings): New functions.
7391 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
7392 (struct string_block_head, current_string_block)
7393 (first_string_block, large_string_blocks, STRING_FULLSIZE)
7394 (STRING_PAD): Removed.
7395 (make_uninit_multibyte_string, make_pure_string): Rewritten.
7396 (Fgarbage_collect): Don't set mark bit in large strings.
7397 (mark_object): Mark strings differently. Mark symbol names
7398 differently.
7399 (survives_gc_p): Test marked strings differently.
427ec082 7400 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
7401 symbol names.
7402 (compact_strings): Removed.
7403
42608ba8
EZ
74042000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
7405
7406 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
7407 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
7408
e0a09e1a
KH
74092000-01-04 Kenichi Handa <handa@etl.go.jp>
7410
dd9f0750 7411 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 7412 in a non-empty buffer.
dd9f0750 7413
3c0f3b15 7414 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 7415
44cd3ae5
GM
74162000-01-03 Gerd Moellmann <gerd@gnu.org>
7417
7418 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
7419 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
7420
7421 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
7422
c182a70f
EZ
74232000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
7424
7425 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
7426 need to test for MSDOS frames.
7427
24480d5b
EZ
74282000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
7429
7430 * dosfns.c (unspecified_colors): Remove.
7431 (msdos_stdcolor_idx): Use global variables unspecified_fg and
7432 unspecified_bg.
7433 (msdos_stdcolor_name): Return strings for unspecified fore- and
7434 back-ground colors.
7435
7436 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 7437 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
7438 (tty_color_name): Return Lisp strings for unspecified fore- and
7439 back-ground colors.
7440 (Finternal_set_lisp_face_attribute): Remove the special treatment
7441 for Qunspecified_{f,b}g.
7442 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp
7443 string.
7444
047f434a
GM
74452000-01-03 Gerd Moellmann <gerd@gnu.org>
7446
7447 * xdisp.c (reseat_at_next_visible_line_start): Position before
7448 newline only if ending up on a newline.
7449 (next_element_from_ellipsis): Return success. Handle case of
7450 displaying no ellipsis. Fix case of ellipsis defined in display
7451 table.
7452 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
7453 returns 0.
7454
d684c676
EZ
74552000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
7456
7457 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
7458 (Fcolor_supported_p): Renamed from face-color-supported-p.
7459
5fe1d139
EZ
74602000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
7461
7462 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
7463 list of colors renamed to tty-defined-color-alist.
7464 (tty_color_name): Pass the frame to tty-color-by-index.
7465 (realize_tty_face): tty-color-alist is now a function which
7466 accepts the frame as argument.
7467
7468 * term.c (Ftty_display_color_p): Accept an optional argument
7469 FRAME.
7470
816be8b8
EZ
74712000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
7472
7473 * term.c (insert_glyphs): Pass glyph, not &glyph, to
7474 encode_terminal_code.
7475
b635321e
EZ
74762000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
7477
7478 * dispnew.c (mode_line_string): Support termcap frames as well.
7479
9b784e96
GM
74802000-01-01 Gerd Moellmann <gerd@gnu.org>
7481
27189709
GM
7482 * syntax.c (Fforward_word): Undo previous change.
7483
7484 * editfns.c (Fconstrain_to_field): Don't constrain if
7485 inhibit-field-text-motion is non-nil.
7486 (Fline_beginning_position): Undo previous change.
7487 (Fline_end_position): Ditto.
7488
7489 * syntax.c (Fforward_word): Notice field boundaries only if
7490 inhibit-field-text-motion is nil.
7491
7492 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
7493
7494 * editfns.c (Vinhibit_field_text_motion): New variable.
7495 (inhibit-field-text-motion): New DEFVAR_LISP.
7496 (Fline_beginning_position, Fline_end_position): Notice field
7497 boundaries only if inhibit-field-text-motion is nil.
7498
45158a91
GM
7499 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
7500 All calls adjusted.
7501 (x_build_heuristic_mask): Likewise.
7502 (xbm_load_image_from_file): Change error output.
7503 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
7504 (gif_load, gs_load, x_kill_gs_process): Ditto.
7505
9b784e96
GM
7506 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
7507 color indices when accessing raster pixels.
63cec32f
GM
7508 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
7509 one of :file or :data.
7510 (enum pbm_keyword_index): Add PBM_DATA.
7511 (pbm_format): Add :data.
7512 (pbm_image_p): Allow either :file or :data.
7513 (pbm_read_file): New function.
7514 (pbm_scan_number): Rewritten to read from string.
7515 (pbm_load): Support :data.
9b784e96 7516
2cb085db 7517See ChangeLog.8 for earlier changes.
6922b018
KH
7518
7519;; Local Variables:
49b3bd82 7520;; coding: iso-2022-7bit
6922b018 7521;; End: