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