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