Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
[bpt/emacs.git] / src / ChangeLog
CommitLineData
eccc05db
GM
12000-11-30 Gerd Moellmann <gerd@gnu.org>
2
3 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
4 #ifndef instead of using #if.
5 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
6 USE_TOOLKIT_SCROLL_BARS is defined.
7
162de750
JR
82000-11-30 Jason Rumney <jasonr@gnu.org>
9
10 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
11 x_display_cursor.
12
693c4692
GM
132000-11-30 Gerd Moellmann <gerd@gnu.org>
14
15 * fns.c (Fmd5): Doc fix.
16
edfb795e
GM
172000-10-07 Simon Josefsson <simon@josefsson.org>
18
19 * fns.c (Fmd5): New function.
20 (syms_of_fns): Defsubr md5.
21
22 * Makefile.in (obj): Add md5.o
23
b02cd40b
GM
242000-11-30 Gerd Moellmann <gerd@gnu.org>
25
edfb795e
GM
26 * md5.h, md5.c: New files, taken from glibc.
27
df3aedcf
GM
28 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
29
b02cd40b
GM
30 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
31 hasn't a font, use that of the frame, as drawing glyphs
32 does.
33
8b5176cd
SM
342000-11-29 Stefan Monnier <monnier@cs.yale.edu>
35
36 * eval.c (Frun_hooks): Allow 0 arguments.
37
346598f1
GM
382000-11-29 Gerd Moellmann <gerd@gnu.org>
39
f9396e03
GM
40 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
41 is over the menu bar widget, say it's not on the frame.
42
4a967a9b
GM
43 * xfns.c (Fx_create_frame): Reintroduce the call to
44 face-set-after-frame-defaults.
45
346598f1
GM
46 * eval.c (Fsignal): Reset handling_signal.
47
222456a1
JR
482000-11-28 Jason Rumney <jasonr@gnu.org>
49
50 * w32menu.c (add_menu_item): Reset menu item text when changing
51 type to radio button.
52
8049ddc0
GM
532000-11-28 Gerd Moellmann <gerd@gnu.org>
54
346598f1 55 * xselect.c: Update copyright.
f4f4ee4d 56
bebe4a2c
GM
57 * window.c (coordinates_in_window): If on a mode or header line,
58 but sufficiently close to its start, return ``on vertical
59 border''. This gives us a way to drag windows horizontally when
60 using toolkit scroll bars.
61
62 * xterm.c (note_mouse_highlight): Change the cursor shape
63 on the vertical border between windows.
64
65 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
66
67 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
68 (syms_of_xfns): DEFVAR_LISP it.
69 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
70
8d2c2642
GM
71 * textprop.c (text_read_only): New function.
72 (verify_interval_modification): Use it instead of signaling
73 `text-read-only'. This makes it easier to catch this error
74 with a breakpoint.:
75
8049ddc0
GM
76 * xdisp.c (forward_to_next_line_start): Check for newlines,
77 not end of line, which includes CR.
78
5a2bae6c
KH
792000-11-28 Kenichi Handa <handa@etl.go.jp>
80
81 * coding.c (Ffind_coding_systems_region_internal): Be sure to
82 include no-conversion.
83
ae31f84d
JR
842000-11-27 Jason Rumney <jasonr@gnu.org>
85
86 * w32fns.c (w32_load_system_font): Always mark font as double byte
87 if codepage is unicode.
88
67f1cf4c
GM
892000-11-27 Gerd Moellmann <gerd@gnu.org>
90
4a74d071
GM
91 * xdisp.c (forward_to_next_line_start): If already on a newline,
92 just consume it to avoid unintended skipping over invisible text
93 below.
94
902ae620
GM
95 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
96 `vertical-line', `mode-line' and `header-line' events.
97
98 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
99 of a character, a TAB for instance. This is easier than to set
100 up the iterator exactly, and it's not a frequent case, so the
101 additional effort wouldn't really pay off.
102
c1e279c2
AC
1032000-11-26 Andrew Choi <akochoi@i-cable.com>
104
67f1cf4c 105 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
106 init_window_once.
107
a609568a
JR
1082000-11-25 Jason Rumney <jasonr@gnu.org>
109
48b21762
JR
110 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]: Args
111 to window_from_coordinates should be pixel coordinates.
112
a609568a
JR
113 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
114 redisplay handles them properly.
115
a658d039
MB
1162000-11-25 Miles Bader <miles@gnu.org>
117
118 * indent.c (compute_motion): Keep pos_byte in sync with pos.
119
d3416cca
JR
1202000-11-24 Jason Rumney <jasonr@gnu.org>
121
122 * w32.c (init_environment): Set LANG environment variable based on
123 locale settings, if not set.
124
125 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
126 making tool bar smaller. When clearing the frame, also
127 clear current matrices. Clear frame when tool bar disappears.
128 Don't use more lines for the tool-bar than is available.
129 (x_change_window_heights): New function.
130
ba193890
GM
1312000-11-24 Gerd Moellmann <gerd@gnu.org>
132
2be8f184
GM
133 * xdisp.c (init_from_display_pos): If POS says we're already after
134 an overlay string ending at POS, make sure to pop the iterator
135 because it will be in front of that overlay string. When POS is
136 ZV, we've thereby also ``processed'' overlay strings at ZV.
137
ba193890
GM
138 * xfaces.c (lface_from_face_name): Function comment fix.
139
1862a24e
MB
1402000-11-24 Miles Bader <miles@gnu.org>
141
142 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
143 apply `mode-line-inverse-video' -- zero means force display using
144 the default face, non-zero means display using the specialized face.
145 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
146
f07fa1b8
KH
1472000-11-23 Kenichi Handa <handa@etl.go.jp>
148
149 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
150 hard coded `4'.
151
2bcdf662
EZ
1522000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
153
154 * coding.c (decode_coding_emacs_mule): Fix the case of
155 CODING_EOL_LF, which used uninitialized value of c.
156
ba8299ff
SM
1572000-11-23 Stefan Monnier <monnier@cs.yale.edu>
158
159 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
160
f4117c4d
GM
1612000-11-22 Gerd Moellmann <gerd@gnu.org>
162
03e757c1
GM
163 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
164 buffer object.
165
f4117c4d
GM
166 * frame.h (struct frame): Replace desired_tool_bar_items,
167 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 168 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
169
170 * frame.c (make_frame): Change initialization of tool bar
171 items accordingly.
172
173 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 174 Change references to members deleted from struct frame to use the
f4117c4d
GM
175 new ones.
176
177 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
cc362d76 178 references to members deleted from struct frame to use the new
f4117c4d
GM
179 ones.
180
181 * dispnew.c (update_frame): Do nothing with frame's tool bar
182 items.
183
184 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
185
186 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 187 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
188 from struct frame to use the new ones.
189
f8e2f3f2
MB
1902000-11-23 Miles Bader <miles@gnu.org>
191
192 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
193 the face's inverse-video attribute, rather than overriding it.
194
60e8e0a5
GM
1952000-11-22 Gerd Moellmann <gerd@gnu.org>
196
197 * xfns.c (x_set_tool_bar_lines): Clear internal border when
198 making tool bar smaller.
199
92dd1b29
DL
2002000-11-22 Dave Love <fx@gnu.org>
201
202 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
203
e672fdce
MB
2042000-11-22 Miles Bader <miles@gnu.org>
205
3a17d6cc
MB
206 * keyboard.c (Vminibuffer_message_timeout): New variable.
207 (command_loop_1): Use it to determine message timeout.
208 (syms_of_keyboard): Initialize it.
209
60e8e0a5 210 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 211
e9655d81
KH
2122000-11-22 Kenichi Handa <handa@etl.go.jp>
213
214 * sysdep.c: Move the code for declaring h_errno after #include
215 <netdb.h>.
216
77270fac
GM
2172000-11-21 Gerd Moellmann <gerd@gnu.org>
218
cd913aae
GM
219 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
220 the menu bar when the tooltip is unmapped.
221
77270fac
GM
222 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
223 sole visible buffer when we're currently in the mini-buffer, and
224 give up if so.
225
556635d6
JR
2262000-11-21 Jason Rumney <jasonr@gnu.org>
227
228 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
229 put on the clipboard.
230 (Fw32_get_clipboard_data): Compare data on clipboard with saved
231 copy of what Emacs last put there. If they are the same, do not
232 use the clipboard copy to avoid losing data due to coding
233 conversions.
234
5b7bde64
MB
2352000-11-22 Miles Bader <miles@gnu.org>
236
237 * minibuf.c (Vminibuffer_prompt_properties): New variable.
238 (syms_of_minibuf): Initialize it.
239 (read_minibuf): Add properties from Vminibuffer_prompt_properties
240 to prompt, don't make read-only.
241
ff23e1dd
GM
2422000-11-21 Gerd Moellmann <gerd@gnu.org>
243
3c64f287
GM
244 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>: Add
245 BEFORE/AFTER_POTENTIAL_GC.
246
7aaf4388
GM
247 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
248
f5f47add 249 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 250
ff23e1dd
GM
251 * term.c, cm.c: Don't try to include termcap.h; see comment there.
252
37c35586
KH
2532000-11-21 Kenichi Handa <handa@etl.go.jp>
254
255 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
256 ... #endif scope.
257
ff9ab414
GM
2582000-11-20 Gerd Moellmann <gerd@gnu.org>
259
c51d2b5e
GM
260 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
261 screen supports it.
262
29a01b72
GM
263 * s/gnu-linux.h: Don't use `#cpu'.
264
09dfdf85
GM
265 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
266 not defined in mman.h.
267
ff9ab414
GM
268 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New
269 variables.
270 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
271 and store an index in the XClientMessageEvent. Storing a
272 Lisp_Object or pointer can fail on a 64 bit system, since X only
273 transfers 32 bits.
274 (x_scroll_bar_to_input_event): Get the window from
275 scroll_bar_windows.
276
81459ac9
DL
2772000-11-20 Dave Love <fx@gnu.org>
278
279 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
280
56c13ae6
GM
2812000-11-20 Gerd Moellmann <gerd@gnu.org>
282
283 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
284
495a6df3
KH
2852000-11-20 Kenichi Handa <handa@etl.go.jp>
286
2bcf3714
KH
287 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
288 by WIDTH.
289
495a6df3
KH
290 * alloc.c (make_string): Fix previous change. Be sure to make
291 unibyte string correctly.
292
6d950f4c
GM
2932000-11-19 Gerd Moellmann <gerd@gnu.org>
294
39b39373
GM
295 * window.c (Fwindow_list): Change parameter list to be XEmacs
296 compatible.
297 (window_list_1): New function.
298 (window_loop): Use it instead of Fwindow_list.
299
b95b34e5
GM
300 * sysdep.c (emacs_ospeed): New variable.
301 (toplevel): Don't declare ospeed extern.
302 (init_baud_rate): Use emacs_ospeed instead of ospeed.
303
304 * termcap.c (ospeed): Remove.
305 (tputs) [!emacs]: Remove unused code.
306 (tgetent): Avoid a compiler warning.
307
e83dc917
GM
308 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
309 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 310 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
311
312 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
313 removed.
314 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
315 Take the X display as additional argument.
316 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
317 `Widget' is a pointer type that's not easily stored in Lisp_Object
318 form in a portable way.
319
6d950f4c
GM
320 * dispnew.c (update_text_area): Fix last change.
321
e47306e6
GM
3222000-11-18 Gerd Moellmann <gerd@gnu.org>
323
fb3cd89b
GM
324 * xdisp.c: Use BINDING_STACK_SIZE throughout.
325
326 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
327 clear current matrices.
328
edaa9aed
GM
329 * buffer.c (mmap_enlarge): Don't print a message on stderr
330 if mapping new memory at the end of the existing region fails.
331
e47306e6
GM
332 * dispnew.c (update_text_area): Don't skip over equal glyphs
333 when the last current glyph overlaps the glyph to its right.
334
509633e3
MB
3352000-11-18 Miles Bader <miles@gnu.org>
336
337 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
338 lines that *end* with "..." too (that's the most common case!).
339
d392e9c5
GM
3402000-11-18 Gerd Moellmann <gerd@gnu.org>
341
67988445
GM
342 * xdisp.c (resize_mini_window): Temporarily change to the
343 mini-window's buffer if necessary.
1bfdbe43 344
d392e9c5
GM
345 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
346 the tooltip obscures less text under it.
347
3482000-11-17 Gerd Moellmann <gerd@gnu.org>
349
350 * puresize.h (BASE_PURESIZE): Increase to 700000.
351
92bb977f
JR
3522000-11-18 Jason Rumney <jasonr@gnu.org>
353
354 * w32term.c (w32_draw_bitmap): Use face to set colors.
355
26fbf20b
DL
3562000-11-17 Dave Love <fx@gnu.org>
357
358 * lread.c (Fload): Fix #ifdef for pcc.
359
100b593b
GM
3602000-11-17 Gerd Moellmann <gerd@gnu.org>
361
362 * xdisp.c (pos_visible_p): Compute the default character height
363 differently.
364
a288d0d1
GM
3652000-11-16 Gerd Moellmann <gerd@gnu.org>
366
cac94de6
GM
367 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
368 knowing the line's height; use the default font's height in that
369 case.
370
a288d0d1
GM
371 * xfaces.c (weight_table): Add `demi' with the same meaning as
372 `demibold'.
373
981fb6f6
KH
3742000-11-16 Kenichi Handa <handa@etl.go.jp>
375
2cca872d 376 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
377 (clear_glyph_row): Delete local static variable null_row.
378
e5fa381b
JR
3792000-11-15 Jason Rumney <jasonr@gnu.org>
380
381 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
382 (w32_alloc_lighter_color): Use new brightness calculations from
383 xterm.c. Scale delta to be in the range expected by W32.
384 (w32_draw_relief_rect): Use frame relief colors.
385
8e42f043
GM
3862000-11-15 Gerd Moellmann <gerd@gnu.org>
387
6d133d1f
GM
388 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
389 (Qinhibit_default_face_x_resources): New variable.
390 (syms_of_frame): Initialize it.
391 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
392
393 * xdisp.c (pos_visible_p): Improve function comment.
394
395 * lisp.h (BINDING_STACK_SIZE): New macro.
396
8e42f043
GM
397 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
398 reading the directory if readdir returns null and errno is EAGAIN
399 or EINTR.
400
e8c87124
SM
4012000-11-14 Stefan Monnier <monnier@cs.yale.edu>
402
403 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
404 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
405 Set amount_to_scroll to max of dx and scroll_step so that
406 scroll-conservatively doesn't defeat scroll-step>1.
407 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
408 scroll-conservatively for line-at-a-time scrolling.
409
5f0c971d
GM
4102000-11-14 Gerd Moellmann <gerd@gnu.org>
411
412 * window.c (Fpos_visible_in_window_p): Call pos_visible with
413 extra argument.
414
415 * xdisp.c (current_mode_line_height, current_header_line_height):
416 New variables.
417 (init_xdisp): Initialize them.
418 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
419 and use exact mode line heights if it is set.
420
421 * lisp.h (pos_visible_p): Change prototype.
422
423 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
424 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
425 and current_header_line_height first.
426 (current_mode_line_height, current_header_line_height): Declare
427 extern.
428
d7361edf
MB
4292000-11-14 Miles Bader <miles@lsi.nec.co.jp>
430
431 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
432 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
433 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
434
ee5e440a
MB
4352000-11-14 Miles Bader <miles@gnu.org>
436
437 * xterm.c (x_alloc_lighter_color): Include an additive component
438 too for dark colors, because FACTOR isn't enough.
439 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
440 New macros.
441
5ca020fc
GM
4422000-11-13 Gerd Moellmann <gerd@gnu.org>
443
444 * keyboard.c (show_help_echo): Call message3_nolog with number of
445 bytes in the help string as 2nd parameter, instead of the number
446 of characters.
447
9d348294
MB
4482000-11-13 Miles Bader <miles@gnu.org>
449
450 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
451 (Fload): Use new openp return protocol.
452 Don't try to use Vload_source_file_function to load .elc files.
453 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
454 openp return protocol.
455 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
456
1729bb9a
KH
4572000-11-11 Kenichi Handa <handa@etl.go.jp>
458
4e677396
KH
459 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
460
461 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
462 Defined these macros.
463 (NLIST_STRUCT): Avoid re-defining it.
464
1729bb9a
KH
465 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
466 -I/usr/contrib/X11R6/include.
467 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
468
a82fe213
JR
4692000-11-10 Jason Rumney <jasonr@gnu.org>
470
471 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
472
473 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
474 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
475
476 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
477 (Qw32_charset_vietnamese): New symbol.
478 (xlfd_charset_of_font): New function.
479 (w32_load_system_font): Use it.
480 (x_to_w32_charset): Use Fassoc to find charset info. Special case
481 when Vw32_charset_info_alist is nil to ensure default face always
482 has font. Use Fcar and Fcdr for safety.
483 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
484 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
485 pseudo-codepages for special cases.
486 (w32_to_x_font): New parameter to allow charset portion to be
487 specified where there is many to one mapping. Callers changed.
488 (w32_list_fonts): Avoid listing fonts that won't display.
489
52d89894
GM
4902000-11-10 Gerd Moellmann <gerd@gnu.org>
491
492 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
493 (font_list_1): Renamed from font_list.
494 (font_list): New function, trying alternative registries from
495 Vface_alternative_font_registry_alist.
496 (Finternal_set_alternative_font_registry_alist): New function.
497 (syms_of_xfaces): Initialize and Staticpro
498 Vface_alternative_font_registry_alist. Defsubr
499 Finternal_set_alternative_font_registry_alist.
500
651cd3da
KR
5012000-11-09 Ken Raeburn <raeburn@gnu.org>
502
503 * lisp.h (Flooking_at): Declare.
504
388ac098
GM
5052000-11-09 Gerd Moellmann <gerd@gnu.org>
506
778fbc46
GM
507 * dired.c (directory_files_internal): Fix a braino.
508
388ac098
GM
509 * dired.c (directory_files_internal): Add missing GCPRO's.
510 Some cleanup.
511
ecaedde1
GM
5122000-11-08 Gerd Moellmann <gerd@gnu.org>
513
f7eb32aa
GM
514 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
515 (resize_mini_window): Return quickly if Vresize_mini_window is
516 nil. Don't return if Vmax_mini_window_height is nil.
517
518 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
519 (syms_of_xdisp): Initialize them.
520 (resize_mini_window): Act according to the setting of
521 Vresize_mini_window.
522 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
523
ecaedde1
GM
524 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
525 scroll bar widget after configuring it, so that it will appear at
526 the right position from the start.
527 (XTredeem_scroll_bar): Cleaned up.
528
3747ef2c
KH
5292000-11-08 Kenichi Handa <handa@etl.go.jp>
530
531 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 532 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
533 division by two.
534
535 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
536
03391420
DL
5372000-11-07 Dave Love <fx@gnu.org>
538
7758f1c1 539 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
540
541 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
542
b5de343d
GM
5432000-11-07 Gerd Moellmann <gerd@gnu.org>
544
acad3c0b
GM
545 * window.c (Fset_window_configuration): Don't try to preserve
546 point in the current buffer, if that buffer is displayed in more
547 than one window.
548
b5de343d
GM
549 * xfaces.c (lookup_named_face): If default face isn't realized,
550 try to realize it. Return -1 if not successful.
551 (Fx_list_fonts): Handle case that face cannot be determined.
552 (Fface_font): Likewise.
553
cdb1fe49
GM
5542000-11-06 Gerd Moellmann <gerd@gnu.org>
555
556 * window.c (displayed_window_lines): Detect partially
557 visible lines at the bottom correctly.
558
d3a67486
SM
5592000-11-06 Stefan Monnier <monnier@cs.yale.edu>
560
561 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
562 when ensuring we don't do visit in indirect buffer.
563
ff8dd5d5
KH
5642000-11-06 Kenichi Handa <handa@etl.go.jp>
565
566 * composite.h (compose_chars_in_text): Add prototype.
567
568 * composite.c (Vcomposition_function_table): New variable.
569 (Qcomposition_function_table): New variable.
570 (run_composition_function): Call
571 Vcompose_chars_after_function with three arguments.
572 (compose_chars_in_text): New function.
573 (syms_of_composite): Modified the doc-string of
574 Vcompose_chars_after_function. Declare composition-function-table
575 as a lisp variable, and initialize it.
576
577 * xfns.c (x_encode_text): Suppress producing escape sequences for
578 composition.
579
580 * xselect.c: Include composite.h.
581 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
582
d1145f85
AI
5832000-11-05 Andrew Innes <andrewi@gnu.org>
584
585 * w32term.c (x_produce_glyphs): Fix typo in enum name.
586
587 * sysdep.c (read_input_waiting): Remove extraneous argument to
588 read_socket_hook.
589
590 * w32fns.c (Fx_server_version): Include w32_build_number in the
591 return list.
592
593 * w32heap.c (w32_build_number): New variable.
594 (cache_system_info): Set it.
595
596 * w32heap.h (w32_build_number): Add extern.
597
598 * emacs.c (syms_of_emacs): Update docstring for
599 system-configuration, to reflect the actual usage on MS-Windows.
600
e85ee976
GM
6012000-10-31 Gerd Moellmann <gerd@gnu.org>
602
26dcb81b
GM
603 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
604 process idle timers while waiting for another event.
605
0a894bad
GM
606 * dispnew.c (update_frame_line): Handle case where spaces in
607 the default face are colored.
608
e85ee976
GM
609 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
610 window height hasn't changed.
611
01b220b6
JR
6122000-10-31 Jason Rumney <jasonr@gnu.org>
613
614 * w32term.c (x_produce_glyphs): Handle composite characters.
615 (x_draw_glyph_string_foreground)
616 (x_draw_composite_glyph_string_foreground): Restore old font.
617
4e6b7204
MB
6182000-10-31 Miles Bader <miles@lsi.nec.co.jp>
619
620 * minibuf.c (read_minibuf): Reset the undo history just before
621 starting the recursive-edit.
622
d4358b37
GM
6232000-10-30 Gerd Moellmann <gerd@gnu.org>
624
563f68f1
GM
625 * xfaces.c (menu_face_change_count): New variable.
626 (Finternal_set_lisp_face_attribute): Increment it for changes
627 of the `menu' face.
628 (realize_basic_faces): Reflect changes in the `menu' faces
629 in menu bars.
630
82e274d1
GM
631 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
632 dy obtained from the iterator's y-position after moving from
633 scroll_margin_pos to PT; see comment there.
634
0dbf9fd2
GM
635 * xdisp.c (safe_eval_handler): Call add_to_log.
636
906b3b14
GM
637 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
638 is not a symbol or string.
639
d4358b37
GM
640 * xdisp.c (echo_area_display): Don't perform a display update from
641 inside redisplay. The update will happen anyway at the end of
642 redisplay, and it can confuse redisplay (GC messages while
643 redisplaying, for instance.)
644
70c825df
SM
6452000-10-30 Stefan Monnier <monnier@cs.yale.edu>
646
cf9b4b0b
SM
647 * xrdb.c (x_load_resources): Use the class name in the defaults.
648
70c825df
SM
649 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
650 (regex_compile): Catch bogus \(\1\).
651
a1d34b1e
GM
6522000-10-30 Gerd Moellmann <gerd@gnu.org>
653
cae71efe
GM
654 * xterm.c (x_alloc_nearest_color): Fix last change to compare
655 RGB values.
656
35efe0a1
GM
657 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
658 we have a color cache, check that the cached color equals the
659 allocated color. If not, clear the color cache.
660
1d3baf74
GM
661 * window.c (displayed_window_lines): Change buffers if necessary.
662 Fix computation of displayed lines.
663
a1d34b1e
GM
664 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
665 update_menu_bindings to DEFVAR_BOOL.
666
70737ea9
KH
6672000-10-30 Kenichi Handa <handa@etl.go.jp>
668
70c825df 669 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 670
fa0cb51d
KH
671 * puresize.h (BASE_PURESIZE): Increase to 680000.
672
70737ea9
KH
673 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
674
0e4c08e8
JR
6752000-10-29 Jason Rumney <jasonr@gnu.org>
676
677 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
678
679 * w32term.c (w32_bdf_per_char_metric): Negate descent.
680 (w32_cache_char_metrics): Handle possibility that 'x' does not
681 exist in a BDF font.
682 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
683
684 * w32bdf.h (bdffont): Add nchars.
685
686 * w32bdf.c (set_bdf_font_info): Set it.
687 (w32_BDF_TextOut): Swap byte order of double byte characters.
688 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
689
45b84006
EZ
6902000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
691
692 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
693 don't override the colors in frame's param_alist, unless they are
694 unspecified.
695
696 * term.c (reassert_line_highlight): If inverse_video is non-zero,
697 reverse the effect of the highlight flag.
698
caf9deee
KR
6992000-10-27 Ken Raeburn <raeburn@gnu.org>
700
701 * window.h (Fwindow_live_p): Declare.
702
ae0b9b46
KR
703 * undo.c (record_delete): Check that last_undo_buffer is really a
704 buffer before applying XBUFFER to it.
705
706 * keymap.c (where_is_internal): Pass lisp object, not integer, to
707 Faref.
708
02067692
SM
7092000-10-27 Stefan Monnier <monnier@cs.yale.edu>
710
711 * lisp.h (KEYMAPP): New macro.
712 (get_keymap): Remove.
713 (get_keymap_1): Rename get_keymap.
714
715 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
716
717 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
718
719 * xmenu.c (single_submenu): Use KEYMAPP.
720 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
721 Use KEYMAPP rather than Fkeymapp.
722
723 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
724
725 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
726 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
727 Use KEYMAPP rather than Fkeymapp.
728 (single_submenu): Use KEYMAPP.
729 (w32_menu_show, w32_dialog_show): Use TRUE.
730
731 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
732
733 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
734 (Fkeymapp): Use KEYMAPP.
735 (get_keymap): Rename from get_keymap_1. Remove old def.
736 Return t when autoload=0 and error=0 and the keymap needs autoloading.
737 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
738 (Fminor_mode_key_binding): Don't raise an error if the binding
739 is not a keymap.
740 (Fuse_global_map, Fuse_local_map): Allow autoloading.
741 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
742
743 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
744 Allow Vspecial_event_map to be autoloaded.
745 (menu_bar_items): Fetch the keymap rather than using keymapp.
746 (menu_bar_one_keymap): No need to follow func-indirect any more.
747 (parse_menu_item): get_keymap_1 -> get_keymap.
748 (tool_bar_items): Fetch the keymap rather than using keymapp.
749 (read_key_sequence): Use KEYMAPP.
750
751 * intervals.c (get_local_map): Use get_keymap rather than following
752 function-indirections explicitly.
753
754 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
755
f9d80af3
JR
7562000-10-27 Jason Rumney <jasonr@gnu.org>
757
758 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
759 point, as Windows has oversized fonts.
760
761 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
762
a3ba27da
GM
7632000-10-27 Gerd Moellmann <gerd@gnu.org>
764
765 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
766 (freehook, reallochook): Handle null pointer arguments.
767 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
768
aa3b80cc
SM
7692000-10-27 Stefan Monnier <monnier@cs.yale.edu>
770
771 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
772 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
773 Giving in to popular pressure to shut up the compiler with casts.
774
e24e84cc
GM
7752000-10-27 Gerd Moellmann <gerd@gnu.org>
776
777 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
778 signed value, and use a default value computed from the font's
779 maximum descent.
780
05ea7ef2
MB
7812000-10-27 Miles Bader <miles@lsi.nec.co.jp>
782
783 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
784 that specify a negative underline position can still use underlines.
785
786 * window.c (Fpos_visible_in_window_p): Make POS default to
787 WINDOW's point, not the current buffer's point.
788
0b95284b
DL
7892000-10-26 Dave Love <fx@gnu.org>
790
791 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
792 when it's necessary.
793
6c5b90af
GM
7942000-10-26 Gerd Moellmann <gerd@gnu.org>
795
8b6d9dc9
GM
796 * window.c (size_window): Compute size difference from sum of old
797 child window sizes instead of from parent's size.
798
6bc92b2e
GM
799 * xdisp.c (pos_visible_p): Change current buffer if necessary.
800 Handle obscured lines at the top of the window.
801
802 * frame.c (Fdelete_frame): Doc fix. Move running the hook
803 down after the last error condition check.
804
6c5b90af
GM
805 * frame.c (Fdelete_frame): Run delete-frame-hook.
806
42f92d4d
KH
8072000-10-26 Kenichi Handa <handa@etl.go.jp>
808
809 * coding.c (decode_coding): Fix previous change (check also
810 CODING_MODE_LAST_BLOCK).
811
d97151cb
SM
8122000-10-25 Stefan Monnier <monnier@cs.yale.edu>
813
e7efc503
SM
814 * regex.c: More `unsigned char' -> `re_char' changes.
815 Also change several `int' into `re_wchar_t'.
816 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
817 (PUSH_FAILURE_POINTER): Don't cast any more.
818 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
819 We want GCC to complain, since this piece of code makes
820 re_match non-reentrant, which *should* be fixed.
821 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
822 (EXTEND_BUFFER): Use RETALLOC.
823 (SET_LIST_BIT): Don't cast.
824 (re_wchar_t): New type.
825 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
826 that those two functions will always properly return.
827 (IMMEDIATE_QUIT_CHECK): Cast to void.
828 (analyse_first): Use recursion rather than an explicit stack.
829 (re_compile_fastmap): Can't fail anymore.
830 (re_search_2): Don't check re_compile_fastmap for failure.
831 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
832 Now also sets the new value (passed in a new argument).
833 (re_match_2_internal): Use it.
834 Also, use a new var `reg' of type size_t when looping through regs
835 rather than reuse the inappropriate `mcnt'.
836
d97151cb
SM
837 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
838 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
839 (where_is_internal): Renamed from Fwhere_is_internal.
840 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
841 (Fwhere_is_internal): New function wrapping where_is_internal.
842 (where_is_internal_1): Handle the case where we're filling the cache.
843 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
844
d5789b65
MB
8452000-10-25 Miles Bader <miles@gnu.org>
846
847 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
848
4ecda532
GM
8492000-10-25 Gerd Moellmann <gerd@gnu.org>
850
851 * window.c (pos_fully_visible_p): Removed.
852 (Fpos_visible_in_window_p): Use pos_visible_p to determine
853 if position is visible and/or fully visible.
854
855 * lisp.h (pos_visible_p): Add prototype.
856
857 * xdisp.c (pos_visible_p): New function.
858
68c3a137
KH
8592000-10-25 Kenichi Handa <handa@etl.go.jp>
860
861 * process.c (send_process): If OBJECT is t, it means that the data
862 is from C string, but we should encode it. Before calling
863 setup_raw_text_coding_system, be sure to flush out data by the
864 previous coding system.
865
7ae1c032
MB
8662000-10-25 Miles Bader <miles@lsi.nec.co.jp>
867
ff4dcd4b
MB
868 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
869 assignment of startpos to prev when startpos == pos.
870
7ae1c032
MB
871 * editfns.c (find_field): Set the field stickiness correctly from
872 overlay fields. Use renamed `text_property_stickiness'.
873 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 874 Only check text properties, not overlays.
7ae1c032
MB
875 * textprop.c (get_char_property_and_overlay): New function.
876 (Fget_char_property): Use it.
877 * intervals.h (get_char_property_and_overlay): Add declaration.
878
49801145
SM
8792000-10-25 Stefan Monnier <monnier@cs.yale.edu>
880
881 * keymap.c: Use AREF, ASET and ASIZE macros.
882 (Fmake_sparse_keymap): Docstring fix.
883 (synkey): Remove.
884 (shadow_lookup): Move up.
885 Handle the case where lookup-key returns an integer.
886 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
887 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
888 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
889 Simplify/rewrite the keymap-finding code.
890 Add check for command shadowing, using shadow_lookup.
891
39e776cd
SM
8922000-10-24 Stefan Monnier <monnier@cs.yale.edu>
893
894 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
895 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
896 a symbol.
897
2488aba5
AI
8982000-10-24 Andrew Innes <andrewi@gnu.org>
899
900 * dired.c (directory_files_internal_unwind): New function.
901 (directory_files_internal): Use it to ensure closedir is called
902 even if expand-file-name or file-attributes throw, eg. because of
903 a user interrupt. Also enable immediate_quit while calling
904 re_search, so that matching can be interrupted as well.
905
b94fdf61
AI
9062000-10-24 Andrew Innes <andrewi@gnu.org>
907
908 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
909 NT-Emacs only.
910 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
911 so that re_search functions only quit when callers expect them to.
912
9132000-10-24 Kenichi Handa <handa@etl.go.jp>
914
915 * regex.c (regex_compile): Change the way of handling a range from
916 a char less than 256 to a char not less than 256.
917
1946f901
GM
9182000-10-24 Gerd Moellmann <gerd@gnu.org>
919
7ae2f10f
GM
920 * window.c (size_window): Prevent setting window's width or
921 height to a negative value (esp. with XSETFASTINT).
922
5dcab13e
GM
923 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
924 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
925 (protect_malloc_state) [GC_MALLOC_CHECK &&
926 GC_PROTECT_MALLOC_STATE]: New function.
927 (PROTECT_MALLOC_STATE): New macro.
928 (__malloc_initialize, morecore, _malloc_internal)
929 (_free_internal) _realloc_internal): Use it to make _heapinfo
930 read-only outside of gmalloc.
931
63e1b552
GM
932 * keymap.c: Update copyright.
933
1946f901
GM
934 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
935 a symbol.
936
4fa09beb
GM
9372000-10-24 Colin Walters <walters@cis.ohio-state.edu>
938
939 * filelock.c (unlock_all_files): Use unlock_file to expand each
940 buffer's file_truename before trying remove its lock file.
941
23afac01
EZ
9422000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
943
944 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
945 or CRLF, decode EOLs.
946
04448b95
KH
9472000-10-24 Kenichi Handa <handa@etl.go.jp>
948
949 * window.c (Fdisplay_buffer): Fix doc.
950
3090a5a5
JR
9512000-10-23 Jason Rumney <jasonr@gnu.org>
952
953 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
954 ASCII font of default fontset on Windows.
955
956 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
957 xterm.c comment below).
958
959 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
960
a83fee2c
GM
9612000-10-23 Gerd Moellmann <gerd@gnu.org>
962
963 * xterm.c (x_connection_closed): Reset handling_signal.
964
965 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing
966 null.
967
6ffdb539
MB
9682000-10-23 Miles Bader <miles@gnu.org>
969
970 * window.c (window_scroll_pixel_based, window_scroll_line_based):
971 Pass nil for FULLY argument to Fpos_visible_in_window_p to
972 maintain old behavior.
973 * minibuf.c (Fminibuffer_complete): Likewise.
974
7f1c969b
MB
9752000-10-23 Miles Bader <miles@lsi.nec.co.jp>
976
977 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
978 that when a font can't be exactly centered, it errs up rather than
979 down.
980
23afac01 9812000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd
SZ
982
983 * fns.c (Fbase64_decode_string): The decoded result should be
984 unibyte.
985
1a578e9b
AC
9862000-10-23 Andrew Choi <akochoi@i-cable.com>
987
988 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
989
990 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 991 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
992
993 * emacs.c (main) [macintosh]: Call syms_of_textprop,
994 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
995 syms_of_search, x_term_init, and init_keyboard before calling
996 init_window_once. Also, call syms_of_xmenu.
997
998 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
999 default fontset to Monaco.
1000
1001 * frame.c [macintosh]: Include macterm.h. Remove declarations of
1002 NewMacWindow and DisposeMacWindow.
1003 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
1004 instead of calling NewMacWindow and setting fields of
1005 f->output_data.mac directly. Call init_frame_faces.
1006 (Fdelete_frame) [macintosh]: Remove unused code.
1007 (Fmodify_frame_parameters) [macintosh]: Call
1008 x_set_frame_parameters instead of mac_set_frame_parameters.
1009
1010 * frame.h [macintosh]: Define menu_bar_lines field in struct
1011 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
1012
1013 * keyboard.c [macintosh]: Include macterm.h.
1014 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
1015 and menu_bar_activate_event type events as for X and NT.
1016 (make_lispy_event) [macintosh]: Construct lisp events of type
1017 MENU_BAR_EVENT as for X and NT.
1018
1019 * sysdep.c [macintosh]: Remove declaration for sys_signal.
1020 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
1021 (sys_subshell) [macintosh]: Remove definition entirely.
1022 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
1023 Vwindow_system_version here. Remove initialization of
1024 Vx_bitmap_file_path.
1025 (read_input_waiting): Correct the number of parameters passed to
1026 read_socket_hook.
1027 Move all Macintosh functions to mac/mac.c.
1028
1029 * term.c [macintosh]: Include macterm.h.
1030
1031 * window.c [macintosh]: Include macterm.h.
1032
1033 * xdisp.c [macintosh]: Include macterm.h. Declare
1034 set_frame_menubar and pending_menu_activation.
1035 (echo_area_display) [macintosh]: Do not return if terminal frame
1036 is the selected frame.
1037 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
1038 Allow only the selected frame to set menu bar.
1039 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
1040 calling FRAME_EXTERNAL_MENU_BAR (f).
1041 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
1042
1043 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
1044 and check_x. Declare XCreateGC. Define x_create_gc and
1045 x_free_gc. Initialize font_sort_order.
1046 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
1047 but call x_list_fonts instead of w32_list_fonts.
1048 (Finternal_face_x_get_resource) [macintosh]: Do not call
1049 display_x_get_resource.
1050 (prepare_face_for_display) [macintosh]: Set xgcv.font.
1051 (realize_x_face) [macintosh]: Load the font if it is specified in
1052 ATTRS.
1053 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed
1054 to Qt.
1055
1ffbabe3
SM
10562000-10-22 Stefan Monnier <monnier@cs.yale.edu>
1057
1058 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
1059 is nil: since we go to the end of submap anyway, we'd end up
1060 setting nil to nil.
1061 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
1062 doesn't obey autoload.
1063
bed43f1d
EZ
10642000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
1065
1ffbabe3 1066 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 1067
ea4233a7
JR
10682000-10-21 Jason Rumney <jasonr@gnu.org>
1069
1070 * w32term.c (w32_cache_char_metrics): Double check that font is
1071 really fixed pitch before trusting tmPitchAndFamily.
1072
f3d3c491
AI
10732000-10-21 Andrew Innes <andrewi@gnu.org>
1074
1075 * w32gui.h (w32_char_font_type): Move enum from w32term.c
1076
1077 * w32term.h: Extern decl for w32_cache_char_metrics.
1078
1079 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
1080
1081 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
1082 (w32_unload_font): Free per_char array if present.
1083
1084 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
1085 cached information in emulated XFontStruct to handle common cases
1086 quickly. Do not allocate XCharStruct for return.
1087 (w32_native_per_char_metric): New function.
1088 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
1089 allocating one.
1090 (x_produce_glyphs): Don't get an HDC. Change calls to
1091 w32_per_char_metric to match arg change above. Remove calls to
1092 free results.
1093 (w32_get_glyph_overhangs): Ditto.
1094 (w32_cache_char_metrics): New function.
1095
1096 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
1097 ($(BLD)/casefiddle.$(O)): Remove compile command.
1098 ($(BLD)/gmalloc.$(O)): Remove compile command.
1099 ($(BLD)/dispnew.obj):
1100 ($(BLD)/keyboard.obj):
1101 ($(BLD)/w32inevt.obj):
1102 ($(BLD)/w32bdf.obj):
1103 ($(BLD)/alloc.obj):
1104 ($(BLD)/buffer.obj):
1105 ($(BLD)/editfns.obj):
1106 ($(BLD)/emacs.obj):
1107 ($(BLD)/fileio.obj):
1108 ($(BLD)/fns.obj):
1109 ($(BLD)/indent.obj):
1110 ($(BLD)/insdel.obj):
1111 ($(BLD)/intervals.obj):
1112 ($(BLD)/minibuf.obj):
1113 ($(BLD)/print.obj):
1114 ($(BLD)/scroll.obj):
1115 ($(BLD)/sysdep.obj):
1116 ($(BLD)/textprop.obj):
1117 ($(BLD)/widget.obj):
1118 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
1119 ($(BLD)/term.obj): Add dependency on dispextern.h.
1120
1121 * makefile.nt ($(BLD)\dispnew.obj):
1122 ($(BLD)\keyboard.obj):
1123 ($(BLD)\w32inevt.obj):
1124 ($(BLD)\w32bdf.obj):
1125 ($(BLD)\alloc.obj):
1126 ($(BLD)\buffer.obj):
1127 ($(BLD)\editfns.obj):
1128 ($(BLD)\emacs.obj):
1129 ($(BLD)\fileio.obj):
1130 ($(BLD)\fns.obj):
1131 ($(BLD)\indent.obj):
1132 ($(BLD)\insdel.obj):
1133 ($(BLD)\intervals.obj):
1134 ($(BLD)\minibuf.obj):
1135 ($(BLD)\print.obj):
1136 ($(BLD)\scroll.obj):
1137 ($(BLD)\sysdep.obj):
1138 ($(BLD)\textprop.obj):
1139 ($(BLD)\widget.obj):
1140 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
1141 ($(BLD)\term.obj): Add dependency on dispextern.h
1142
18ad4821
EZ
11432000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
1144
1145 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
1146 with an additional argument of Qt.
1147
de54681a
MB
11482000-10-21 Miles Bader <miles@gnu.org>
1149
1150 * window.c (pos_fully_visible_in_window_p): New function.
1151 (Fpos_visible_in_window_p): Add FULLY argument.
1152 Use pos_fully_visible_in_window_p.
1153 (window_scroll_pixel_based, window_scroll_line_based): Update
1154 calls to Fpos_visible_in_window_p.
1155 * lisp.h (Fpos_visible_in_window_p): Update prototype
1156
13c844fb
GM
11572000-10-20 Gerd Moellmann <gerd@gnu.org>
1158
1159 * alloc.c (toplevel): Conditionalize compilation of mem_*
1160 functions differently.
1161
d9506268
JR
11622000-10-20 Jason Rumney <jasonr@gnu.org>
1163
1164 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
1165 mem_init where it used to be. mem_z etc not defined otherwise.
1166
8094989b
GM
11672000-10-20 Gerd Moellmann <gerd@gnu.org>
1168
1169 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
1170 GC_MALLOC_CHECK.
1171 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
1172 structure definition and related variabled to the top of the file.
1173 Include this code when GC_MALLOC_CHECK is defined.
1174 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
1175 register/unregister allocated region.
1176 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
1177 which isn't allocated.
1178 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
1179 something which is already in use.
1180 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
1181 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
1182 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
1183 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
1184
1185 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
1186 _malloc_internal instead of malloc.
1187 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
1188 of free.
1189
ea456eb4
AI
11902000-10-20 Andrew Innes <andrewi@gnu.org>
1191
1192 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
1193 Windows.
1194 (my_strftime) <macro>: Don't use macro arg list when redefining as
1195 _strftime_copytm.
1196 (my_strftime) <function>: Supply 0 as ut argument.
1197
e64c3a75
JR
11982000-10-19 Jason Rumney <jasonr@altavista.net>
1199
1200 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
1201 including dispextern.h, as it stops faces from working.
1202
1203 * w32fns.c (Fx_create_frame): Don't bother calling
1204 face-set-after-frame-default since the caller does it for us
1205 anyway. Clean up calls to x_get_arg to be consistent with X.
1206
1207 * w32term.c (x_produce_glyphs): Handle
1208 unibyte_display_via_language_environment correctly.
1209 (w32_draw_box_rect): Fix the calculation of width and height.
1210
1211 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
1212 as it has stopped working.
1213 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
1214 menu-bar.
1215
17401c97
GM
12162000-10-19 Gerd Moellmann <gerd@gnu.org>
1217
1218 * eval.c (skip_debugger): Prevent a compiler warning.
1219 (Fcondition_case): Likewise.
1220 (Fbacktrace_frame): Use a null interactive spec.
1221
773272d8
KH
12222000-10-19 Kenichi Handa <handa@etl.go.jp>
1223
1224 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
1225
a42943e9
GM
12262000-10-18 Gerd Moellmann <gerd@gnu.org>
1227
e50517d9
GM
1228 * strftime.c: Sync with glibc, file version 1.78.
1229 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
1230 should no longer be used according to ISO 8601.
1231
9035a35a
GM
1232 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
1233 no map for meta_prefix_char, don't try to use it as a keymap.
1234 Instead, if T_OK is non-zero, look up a default binding, if any,
1235 otherwise, if T_OK is zero, return nil.
1236
a42943e9
GM
1237 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
1238 (x_to_xcolors, png_load): Use x_query_color.
1239
1240 * xterm.c (x_color_cells, x_query_colors, x_query_color): New
1241 functions.
1242 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
1243 which can be slow.
1244 (x_copy_color, x_alloc_lighter_color): Likewise.
1245
1246 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
1247 (x_query_color, x_query_colors): Add prototype.
1248
1249 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
1250 check_string_bytes only if not noninteractive, increase count to 50.
1251
00de2987
MB
12522000-10-18 Miles Bader <miles@lsi.nec.co.jp>
1253
1254 * insdel.c (adjust_markers_for_delete): Handle before-insertion
1255 markers correctly.
1256
54918e2b
GM
12572000-10-17 Gerd Moellmann <gerd@gnu.org>
1258
1f0b3fd2
GM
1259 * alloc.c (pure_bytes_used): Renamed from pureptr.
1260 (ALIGN): New macro.
1261 (pure_alloc): New function.
1262 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
1263 Use it.
1264 (Fpurecopy): Use PURE_POINTER_P.
1265
68c5d1db
GM
1266 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
1267 PT has moved backward.
1268
9a038881
GM
1269 * xdisp.c (cursor_row_p): Take continued lines into account.
1270
361b097f
GM
1271 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
1272 string's size_byte.
1273 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
1274 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
1275 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
1276 string allocated.
1277
54918e2b
GM
1278 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
1279 of selective display off while searching for the next line start.
1280
03ed0806
KH
12812000-10-17 Kenichi Handa <handa@etl.go.jp>
1282
1283 * Makefile.in (term.o): Depend on dispextern.h.
1284
7e05cdaf
SM
12852000-10-16 Stefan Monnier <monnier@cs.yale.edu>
1286
1287 * keymap.c (keymap_memberp): Ensure that nil is not a member.
1288
a6801fd1
GM
12892000-10-16 Gerd Moellmann <gerd@gnu.org>
1290
483de32b
GM
1291 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
1292 the iterator at the beginning, so that they can be set later on,
1293 for instance in reseat_at_next_visible_line_start, without being
1294 overwritten.
1295
a6801fd1
GM
1296 * xfns.c (pbm_format): Add :foreground and :background keywords.
1297 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
483de32b 1298 (xbm_load): Recognize foreground and background color
a6801fd1
GM
1299 specifications.
1300
dbf1fcc1
EZ
13012000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
1302
1303 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
1304
1305 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern
1306 declaration.
1307
1308 * msdos.c (IT_set_face): Compare highlighted face with the default
1309 face, and invert colors if these faces' colors are identical.
1310 (Fmsdos_remember_default_colors): Don't swap foreground and
1311 background colors in initial_colors[].
1312 (IT_set_frame_parameters): Don't swap frame's foreground and
1313 background pixels. If ALIST includes "(reverse . t)", swap
1314 foreground-color and background-color properties in frame's
1315 param_alist. If the original frame's param_alist doesn't specify
1316 the colors, store unspecified-fg and unspecified-bg, reversed if
1317 required.
1318
1319 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
1320 the colors are unspecified and reversed, reverse fore- and back-
1321 ground in the returned value.
1322 (Fframe_parameter): Ditto.
1323
b41fe2c3
GM
13242000-10-16 Gerd Moellmann <gerd@gnu.org>
1325
3a6b59d9
GM
1326 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
1327 get_last_unchanged_at_beg_row.
1328 (find_first_unchanged_at_end_row): Renamed from
1329 get_first_unchanged_at_end_row.
1330 (find_first_unchanged_at_end_row): Convert assertions to
1331 unconditional tests which abort. When looking for a row in
1332 unchanged text, don't go further back than first_text_row.
1333
b41fe2c3
GM
1334 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
1335 Don't add in the last line's height when deciding if the new
1336 position is below the scroll margin.
9d1af64f 1337
b41fe2c3 13382000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
1339
1340 * editfns.c (Fconstrain_to_field): Check carefully for field
1341 boundaries if either OLD_POS or NEW_POS has a non-nil field
1342 property, even if they're the same.
1343
c412cb7b
KH
13442000-10-16 Kenichi Handa <handa@etl.go.jp>
1345
1346 * xterm.c (x_draw_box_rect): Fix the calculation of width and
1347 height for XFillRectangle.
1348
5586f3eb
SM
13492000-10-15 Stefan Monnier <monnier@cs.yale.edu>
1350
1351 * syntax.c (Fstring_to_syntax): New function extracted from
1352 Fmodify_syntax_entry.
1353 (Fmodify_syntax_entry): Use it and document the ! and | fences.
1354 (skip_chars, Fforward_comment): Remove unused variables.
1355 (syms_of_syntax): Add defsubr for string-to-syntax.
1356 (describe_syntax): Add code for comment and string fences.
1357
db785038
SM
13582000-10-14 Stefan Monnier <monnier@cs.yale.edu>
1359
1360 * keymap.c (access_keymap): Add AUTOLOAD parameter.
1361 Do the meta->esc mapping. Call get_keyelt before returning.
1362 Start scanning from the second element (the first is always `keymap')
1363 to make it easier to detect when we reach a parent map.
1364 Handle the case of inheriting from a symbol whose function is a map.
1365 (Fkeymap_parent): Also handle the `inherit from symbol' case.
1366 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
1367 (get_keyelt, Flookup_key): Update call to access_keymap.
1368 Remove the meta->esc mappings.
1369 (define_as_prefix): Delete old disabled code.
1370 (menu_item_p): New function.
1371 (where_is_internal_1): Skip over the few remaining menu items.
1372 * lisp.h (access_keymap): Update prototype.
1373 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
1374 Update call to access_keymap.
1375 (follow_key, read_key_sequence): Update calls to access_keymap.
1376 Remove the meta->esc mappings.
1377
cafafe0b
GM
13782000-10-13 Gerd Moellmann <gerd@gnu.org>
1379
a2e2a7f6
GM
1380 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
1381 with additional argument.
1382
cafafe0b
GM
1383 * xdisp.c (cursor_row_p): New function.
1384 (try_cursor_movement, display_line): Use it.
1385
1386 * xdisp.c (append_space): Also save/restore iterator's current
1387 character and its length.
1388
1389 * xdisp.c (init_from_display_pos): Add an assertion.
1390 (handle_stop): Don't set iterator's add_overlay_start.
1391 (handle_invisible_prop): Likewise.
1392 (load_overlay_strings): If text under an overlay is invisible,
1393 take both before- and after-strings into account when the iterator
1394 is positioned either at the start or at the end of the overlay.
1395 (forward_to_next_line_start): Rewritten.
1396 (reseat_at_next_visible_line_start): Rewritten.
1397 (set_iterator_to_next): Add parameter RESEAT_P.
1398
1399 * dispextern.h (struct it): Remove member add_overlay_start.
1400 (set_iterator_to_next): Change prototype.
1401
c744452b
KH
14022000-10-13 Kenichi Handa <handa@etl.go.jp>
1403
1404 * coding.c (code_convert_region): Be sure to initialize
1405 coding->category_idx.
e4a3f4e1
KH
1406 (decode_coding_string): Set coding->src_multibyte and
1407 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
1408 (encode_coding_string): Set coding->src_multibyte and
1409 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 1410
321fd26f
SM
14112000-10-12 Stefan Monnier <monnier@cs.yale.edu>
1412
1413 * xfns.c (Fx_create_frame): Don't bother calling
1414 face-set-after-frame-default since the caller does it for us anyway.
1415
76832439
EZ
14162000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
1417
1418 * window.c (coordinates_in_window): Fix detection of vertical line
1419 on character terminals.
1420
2483cf58
GM
14212000-10-12 Gerd Moellmann <gerd@gnu.org>
1422
1423 * editfns.c (save_excursion_save): Additionally record the
1424 selected window.
1425 (save_excursion_restore): If buffer was visible in a window, and a
1426 different window was selected, and the old selected window is
1427 still live, restore point in that window.
1428
eb991b25
KH
14292000-10-12 Kenichi Handa <handa@etl.go.jp>
1430
8a0eba09
KH
1431 * xterm.c (x_produce_glyphs): Handle
1432 unibyte_display_via_language_environment correctly.
1433
20401fcc
KH
1434 * regex.c (regex_compile): Change the way of handling a range from
1435 unibyte char to multibyte char.
1436
1437 * syntax.c (skip_chars): Change the way of handling a range from
1438 unibyte char to multibyte char.
1439
eb991b25
KH
1440 * process.c (read_process_output): Cancel previous change.
1441
365dd325
EZ
14422000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
1443
c1b096cb
EZ
1444 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
1445
365dd325
EZ
1446 * charset.c (Ffind_charset_string): Doc fix.
1447 (Ffind_charset_region): Doc fix.
1448
eb483c2b
KH
14492000-10-11 Kenichi Handa <handa@mule.m17n.org>
1450
1451 * process.c (read_process_output): Fix previous change. Adjust
1452 multibyteness of text to insert in a buffer by
df3c11b9 1453 string_make_unibyte/multibyte instead of
eb483c2b
KH
1454 Fstring_as_unibyte/multibyte.
1455
b40bfb99
AS
14562000-10-10 Andreas Schwab <schwab@suse.de>
1457
1458 * alloc.c (mark_object): Remove all workarounds installed on
1459 1993-08-08.
1460
caff31d4
KH
14612000-10-10 Kenichi Handa <handa@etl.go.jp>
1462
1463 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before
1464 returning.
1465 (base64_encode_1): Make it work for a text of multibyte form.
1466 (Fbase64_decode_region): Allocate sufficient memory for multibyte
1467 case. Don't call str_to_multibyte because base64_decode_1
1468 produces correct multibyte form for eight-bit codes.
1469 (Fbase64_decode_string): Adjusted for the change of
1470 base64_decode_1.
1471 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
1472 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
1473 codes.
1474
1475 * charset.h (CHAR_STRING): Optimized for single byte characters.
1476
cba026ef
AS
14772000-10-09 Andreas Schwab <schwab@suse.de>
1478
1479 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
1480 -1 after socket is closed, to fall through to error processing.
1481
1e21fe48
EZ
14822000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
1483
1484 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 1485 variables. If ALIST includes foreground-color or
1e21fe48
EZ
1486 background-color, change also the colors of the default face for
1487 this frame.
1488
a640322e
EZ
14892000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
1490
1491 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
1492 them extern (they are defined on xfaces.c).
1493 (syms_of_msdos): Don't intern and don't staticpro
1494 Qbackground_color and Qforeground_color.
1495
a115794c
EZ
14962000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
1497
1498 * frame.c (Fframe_parameter): For non-windowed frames, if
1499 f->param_alist says foreground or background color is unspecified,
1500 call tty_color_name to return the color name computed from the
1501 frame's current colors.
1502
f5533b63
DL
15032000-10-06 Dave Love <fx@gnu.org>
1504
1505 * terminfo.c (ospeed): Don't declare.
1506
1507 * sysdep.c: Don't include string.h.
1508 (h_errno): Declare conditional also on TRY_AGAIN.
1509
1510 * charset.c (Ffind_charset_string): Doc fix.
1511
1512 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
1513 (Fbase64_decode_region, Fbase64_decode_string): More explicit
1514 error messages.
1515
2b06561a
DL
15162000-10-05 Dave Love <fx@gnu.org>
1517
1518 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
1519 position like menu-bar.
1520
ca839c85
GM
15212000-10-05 Gerd Moellmann <gerd@gnu.org>
1522
1523 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
1524
1525 * xdisp.c (handle_single_display_prop): Use safe_call1.
1526 (safe_call): Renamed from call_function.
1527 (safe_call1): New function.
1528 (handle_fontified_prop): Use safe_call1 instead of call1.
1529 (safe_eval): Renamed from eval_form.
1530 (safe_eval_handler): Renamed from eval_handler.
1531 (handle_single_display_prop, display_mode_element): Use safe_eval
1532 instead of eval_form.
1533
1534 * xfaces.c (merge_face_heights): Use safe_call instead of
1535 call_function.
1536
1537 * keyboard.c (show_help_echo): Use safe_call instead of
1538 call_function; use safe_eval instead of eval_form.
1539
1540 * lisp.h (safe_call): Renamed from call_function.
1541 (safe_eval): Renamed from eval_form.
1542 (safe_call1): Add prototype.
1543
a3489ece
MB
15442000-10-05 Miles Bader <miles@lsi.nec.co.jp>
1545
1546 * xfns.c (image_ascent): Rearrange ascent calculation for the
1547 has-a-font case.
1548
35810b6f
SM
15492000-10-04 Stefan Monnier <monnier@cs.yale.edu>
1550
1551 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
1552 (where_is_internal_1): Don't bother ignoring menu-items any more.
1553
3dc78168
GM
15542000-10-04 Gerd Moellmann <gerd@gnu.org>
1555
1556 * keyboard.c (update_menu_bindings): New variable.
1557 (parse_menu_item): Use AREF. If update_menu_bindings
1558 is 0, don't update menu bindings.
1559 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
1560
1efc2bb9
EZ
15612000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
1562
1563 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
1564 to `mark_object'.
1565
3f679f55
SM
15662000-10-02 Stefan Monnier <monnier@cs.yale.edu>
1567
1568 * syntax.c (forw_comment): Match nestedness of ender/starter.
1569 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
1570 (prev_char_comstart_first): Remove.
1571 (back_comment): Check two-char comment markers more carefully
1572 to better handle overlapping cases like *//* or /* */* */ ...
1573 Match nestedness of ender/starter.
1574
2021ab61
DL
15752000-10-02 Dave Love <fx@gnu.org>
1576
1577 * config.in (HAVE_GAI_STRERROR): Add undef.
1578
1579 * process.c (Fopen_network_stream): Use it.
1580
1581 * m/alpha.h (NO_REMAP): Don't define.
1582
64e6cc18
GM
15832000-10-02 Gerd Moellmann <gerd@gnu.org>
1584
1585 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
1586 return with a string converted to an integer or vice versa when
1587 Vmocklisp_arguments is t.
1588 (Fsignal): Likewise. The function can return for `quit'.
1589 (struct gcpro): Declare member `var' to point to a volatile
1590 Lisp_Object.
1591
1592 * eval.c (error): Prevent compiler warning.
1593
b1904cd9
SM
15942000-09-30 Stefan Monnier <monnier@cs.yale.edu>
1595
1596 * keymap.c (keymap_memberp): New function.
1597 (Fset_keymap_parent): Use it.
1598 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
1599 Use keymap_memberp to avoid creating cycles.
1600 (access_keymap): Use KEYMAPP.
1601
71c9ec51
GM
16022000-09-30 Gerd Moellmann <gerd@gnu.org>
1603
1604 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
1605 gai_strerror. Make sure xerrno is set if connect fails. Improve
1606 error recovery.
71c9ec51 1607
c70c6b58
JR
16082000-09-29 Jason Rumney <jasonr@gnu.org>
1609
1610 * w32term.c (w32_char_font_type, w32_encode_char)
1611 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
1612 (w32_bdf_per_char_metric): New function.
1613 (w32_per_char_metric): Use it.
1614 (x_draw_glyph_string_background): Always draw background for BDF
1615 glyphs.
1616
1617 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
1618 GDI object which is a scarce resource.
1619
1620 * w32bdf.c (search_file_line): Fix skipping of whitespace.
1621 (get_quoted_string): Fix limit on memchr search.
1622 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
1623 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
1624 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
1625 (get_cached_font_char, cache_char_offset): Use macro
1626 BDF_CODEPOINT_RANGE_COVER_P.
1627 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
1628 (clear_cached_bitmap_slots): New function.
1629 (GET_HEX_VALUE): G-Z, g-z are not hex.
1630 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
1631 (get_bitmap_with_cache): Use new cache implementation.
1632 (create_offscreen_bitmap): New function.
1633 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
1634
1635 * w32term.c (x_produce_glyphs): If the distance from the current
1636 position to the next tab stop is less than a canonical character
1637 width, use the tab stop after that.
1638 (x_draw_glyphs): Handle case START and END are out of bounds more
1639 carefully.
1640 (x_clear_mouse_face): Block/unblock input.
1641 (x_display_and_set_cursor): Don't show a hollow box cursor for
1642 buffers whose cursor_type is nil.
1643
fe01239f
GM
16442000-09-29 Gerd Moellmann <gerd@gnu.org>
1645
1646 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar
1647 disappears.
1648
1649 * dispextern.h (updating_frame): Declare extern.
1650
e7c52f1f
AS
16512000-09-29 Andreas Schwab <schwab@suse.de>
1652
1653 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
1654
de6e1f7c
GM
16552000-09-29 Gerd Moellmann <gerd@gnu.org>
1656
25126faa
GM
1657 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
1658 use its function definition.
1659 (tool_bar_items): Likewise.
1660
de6e1f7c
GM
1661 * lisp.h (fatal): Declare NO_RETURN.
1662
454ee39b
KH
16632000-09-29 Kenichi Handa <handa@etl.go.jp>
1664
1665 * keymap.c: Remove the line "#undef NULL".
1666
96301c5f
GM
16672000-09-28 Gerd Moellmann <gerd@gnu.org>
1668
1669 * xterm.c (x_make_frame_visible): Try harder to make the frame
1670 visible.
1671
efffeeb4
DL
16722000-09-28 Dave Love <fx@gnu.org>
1673
ecb8b666
DL
1674 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
1675
dc3cd20f
DL
1676 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
1677
1678 * .gdbinit (xreload): Note its need on GNU/Linux.
1679
efffeeb4
DL
1680 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
1681 r_alloc, r_alloc_free.
1682
8610d903
KH
16832000-09-28 Kenichi Handa <handa@etl.go.jp>
1684
1685 * syntax.c (skip_chars): Handle negation correctly.
1686
8901d1ac
GM
16872000-09-27 Gerd Moellmann <gerd@gnu.org>
1688
6f22f1ad
GM
1689 * xfaces.c (realize_default_face): Call set_lface_from_font_name
1690 with non-zero FORCE_P argument.
1691
8901d1ac
GM
1692 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
1693 Add assertions.
1694
1695 * xdisp.c (window_box_height): Add an assertion.
1696
1697 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
1698 tool-bar than is available.
1699 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
1700
36f1966f
DL
17012000-09-27 Dave Love <fx@gnu.org>
1702
efffeeb4 1703 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 1704
31d929e5
GM
17052000-09-26 Gerd Moellmann <gerd@gnu.org>
1706
c98863bf
GM
1707 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
1708 instead of BITS_PER_INT.
1709 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
1710 EMACS_UINT, respectively.
1711 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
1712
1713 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
1714
1715 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
1716
77072ab1
GM
1717 * window.c (freeze_window_starts): Construct last argument for
1718 foreach_window differently.
1719
1720 * xfns.c (x_decode_color): Don't return a Lisp_Object.
1721
1722 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
1723 EMACS_UINT instead of `int' and `unsigned int'.
1724 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
1725
1726 * frame.h (struct frame): Make the `nothing' member of union
1727 output_data an EMACS_INT.
1728
31d929e5
GM
1729 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug
1730 hunting.
1731 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
1732 size in the sdata structure.
1733 (SDATA_NBYTES, SDATA_DATA): New macros.
1734 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
1735 differently for the different layout of the sdata structure.
1736 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
1737 in sdata.
1738 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
1739 Check that size recorded in the string size and size recorded in
1740 the sdata structure agree.
1741
3e60b029
DL
17422000-09-25 Dave Love <fx@gnu.org>
1743
1744 * buffer.c: Include stdio.h.
1745
1746 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
1747
1748 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
1749
1750 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
1751 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as
1752 size_t.
1753 (__malloc_extra_blocks): Declare as __malloc_size_t.
1754
8ff16b4e
GM
17552000-09-25 Gerd Moellmann <gerd@gnu.org>
1756
755a2ccd
GM
1757 * alloc.c (mark_image): Use GC_NILP instead of NILP.
1758
d8b4516f
GM
1759 * keyboard.c (show_help_echo): Set help_echo_showing_p.
1760 (read_char): If help-echo is showing, preserve the echo area
1761 when redisplaying.
1762
1763 * xdisp.c (help_echo_showing_p): New variable.
1764 (set_message): Reset it to 0.
1765 (init_xdisp): Initialize help_echo_showing_p.
1766
1767 * dispextern.h (help_echo_showing_p): Declare extern.
1768
1769 * config.in: Fix typo in __GNUC_MINOR__.
1770
1771 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
1772
b11af2dd
GM
1773 * s/freebsd.h (POSIX_SIGNALS): Define.
1774
8ff16b4e
GM
1775 * xterm.c (x_clear_mouse_face): Block/unblock input.
1776
844eb643
DL
17772000-09-24 Dave Love <fx@gnu.org>
1778
1779 * fns.c (base64_encode_1): Fix last change.
1780
b30ab1b3
GM
17812000-09-22 Gerd Moellmann <gerd@gnu.org>
1782
1783 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
1784
1785 * xdisp.c (try_window_reusing_current_matrix): More fixes
1786 for the case window has a header-line.
1787
c6cbe5f0
DL
17882000-09-22 Dave Love <fx@gnu.org>
1789
4c7c1f3f
DL
1790 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
1791 a doc string.
1792
1793 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
1794
c6cbe5f0
DL
1795 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
1796
550a625e
GM
17972000-09-21 Gerd Moellmann <gerd@gnu.org>
1798
4c7c1f3f 1799 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
1800 for GCC >= 2.5.
1801
1802 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error): Declare
1803 NO_RETURN.
1804
80d26f99
GM
1805 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
1806 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
1807 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
1808 warnings.
1809
1810 * marker.c (byte_char_debug_check): Return void.
1811
623a0aae
GM
1812 * xfns.c (Fx_create_frame): Set default frame parameter value
1813 for tool-bar-lines to 1.
1814
1815 * dispnew.c (scrolling_window): Compare y-positions of rows
1816 equal at the start. Some simplification.
1817
1818 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
1819 reused rows' y-position in the case window has a header-line, and
1820 new window start is greater than old window start.
1821
42ac0ae5
GM
1822 * process.c (process_sent_to): New variable.
1823 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
1824 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
1825 Declare more parameters volatile.
1826
550a625e
GM
1827 * lread.c (Vrecursive_load_depth_limit): New variable.
1828 (Fload): Check recursive loads whose recursion depth exceeds
1829 Vrecursive_load_depth_limit.
1830 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
1831
8320414c
GM
18322000-09-20 Gerd Moellmann <gerd@gnu.org>
1833
f46c275e
GM
1834 * fileio.c (Fread_file_name): Doc fix.
1835
1836 * editfns.c (Fmessage_or_box): Doc fix.
1837
1838 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
1839
b7e11c5b
GM
1840 * xfns.c (xbm_scan): Allow C-style comments.
1841
8320414c
GM
1842 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
1843 symbols are specified, add color translations to the cache.
1844 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New
1845 functions.
1846 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
1847 xpm_cache_color.
1848 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
1849 structures to xpm_init_color_cache.
1850
da1608d9
GM
18512000-09-19 Gerd Moellmann <gerd@gnu.org>
1852
1853 * dispnew.c (update_window_line): Make sure to always draw
1854 mode-lines.
1855
6badfa25
AI
18562000-09-19 Andrew Innes <andrewi@gnu.org>
1857
1858 * makefile.nt (bootstrap-emacs): Don't change directory.
1859
3a5f42bb
KH
18602000-09-19 Kenichi Handa <handa@etl.go.jp>
1861
1b7649bd
KH
1862 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
1863
3a5f42bb
KH
1864 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
1865 If output buffer is too small, signal an appropriated error.
1866
9f83cf0b
DL
18672000-09-18 Dave Love <fx@gnu.org>
1868
1869 * keyboard.c (menu_bar_items, tool_bar_items)
1870 (current_active_maps): Remove redundant get_local_map call.
1871
28c7826c
GM
18722000-09-18 Gerd Moellmann <gerd@gnu.org>
1873
5cefa566
GM
1874 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
1875 cursor for buffers whose cursor_type is nil.
1876
6fed3546
GM
1877 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
1878 a feature to implement that is already implemented.
1879 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
1880 warnings.
1881
1882 * xfns.c (x_clear_image_1): New function.
1883 (x_clear_image): Use it.
1884 (x_from_xcolors): Use x_clear_image_1; don't free the image's
1885 mask.
1886
05b1f851
GM
1887 * dispnew.c (update_window): Move test for invisible lines
1888 at the top to update_window_line.
1889 (update_window_line): Handle invisible lines here.
1890
f4779de9
GM
1891 * xfns.c (clear_image_cache): Clear current matrices of all
1892 frames sharing an image cache. Block input while freeing
1893 images. Fix timestamp comparison.
1894 (x_clear_image): Also free the mask.
1895
28c7826c
GM
1896 * xfns.c (lookup_image): Block input while loading the image so
1897 that we won't get interrupted in a state where the image isn't yet
1898 set up completely.
1899 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
1900 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
1901 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
1902 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock
1903 input.
1904
b7412313
GM
19052000-09-16 Gerd Moellmann <gerd@gnu.org>
1906
1907 * dispnew.c (update_window): Make sure to make desired rows
1908 current even if they are completely invisible at the top
1909 of a window.
1910
47e351a3
GM
19112000-09-15 Gerd Moellmann <gerd@gnu.org>
1912
7f8f1edc
GM
1913 * xfns.c (lookup_image): Build mask before applying an algorithm.
1914 Recognize algorithm `disabled'.
1915 (cross_disabled_images): New variable.
1916 (COLOR_INTENSITY): New macro.
1917 (x_detect_edges): Use COLOR_INTENSITY.
1918 (x_disable_image): New function.
1919 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
1920
1921 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
1922 disabled state, don't apply an image transformation algorithm if
1923 the user specified an image for the disabled state. Use
28c7826c 1924 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
1925 user hasn't specified an image.
1926
ebb8f116
GM
1927 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
1928 allocation functions with the XPM lib.
1929 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
1930 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
1931 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
1932 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
1933 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New
1934 functions.
1935 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
1936 functions, if possible, because these handle color allocation
1937 failure more gracefully.
1938 (Fimage_mask_p): New function.
1939
47e351a3
GM
1940 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
1941 (Qedge_detection, Qheuristic): New symbols.
1942 (syms_of_xfns): Initialize new symbols.
1943 (lookup_image): Handle `:mask X', `:algorithm emboss', and
1944 `algorithm (edge-detection ...)'.
1945 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
1946 (tiff_format, gif_format, gs_format): Add `:mask'.
1947 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
1948 (GIF_MASK, GS_MASK): New enumerators.
1949 (x_laplace_read_row, x_laplace_write_row): Functions removed.
1950 (emboss_matrix, laplace_matrix): New variables.
1951 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
1952 (x_edge_detection): New functions.
1953 (x_laplace): Rewritten in terms of x_detect_edges.
1954 (x_build_heuristic_mask): If image has a mask, free it.
1955
fe83b953
AI
19562000-09-14 Andrew Innes <andrewi@gnu.org>
1957
1958 * makefile.w32-in: Revert to Unix line endings.
1959
3021e816
AI
19602000-09-14 Andrew Innes <andrewi@gnu.org>
1961
1962 * makefile.w32-in: Standardize indentation somewhat.
1963 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
1964 cater for differences between shells.
1965
1966 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
1967
2a32b5ea
GM
19682000-09-14 Gerd Moellmann <gerd@gnu.org>
1969
1970 * xterm.c (x_produce_glyphs): If the distance from the current
1971 position to the next tab stop is less than a canonical character
1972 width, use the tab stop after that.
1973
b4331e96
DL
19742000-09-14 Dave Love <fx@gnu.org>
1975
1976 * buffer.c (alloc_buffer_text): Fix xmalloc call.
1977
ef9e4345
GM
19782000-09-14 Gerd Moellmann <gerd@gnu.org>
1979
085536c2
GM
1980 * xdisp.c (handle_fontified_prop): While running fontification
1981 functions, bind `fontification-functions' and
1982 `after-change-functions' to nil.
1983
ef9e4345
GM
1984 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
1985 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
1986
1987 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
1988
1989 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
1990 USE_MMAP_FOR_BUFFERS.
1991
1992 * insdel.c (make_gap): Use enlarge_buffer_text.
1993
1994 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
1995 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
1996 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
1997 from former r_alloc_* functions in ralloc.c.
1998 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New
1999 variables.
2000 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
2001 (mmap_init) [REL_ALLOC_MMAP]: New function.
2002 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
2003 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
2004 BUFFER_FREE.
2005
2006 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
2007 (enlarge_buffer_text): Add prototype.
2008
2009 * ralloc.c: Remove everything having to do with the use of mmap.
2010
f8608968
GM
20112000-09-13 Gerd Moellmann <gerd@gnu.org>
2012
2a494b2d
GM
2013 * sound.c (Fplay_sound): Doc fix.
2014
8c907a56
GM
2015 * keyboard.c: Avoid some more compiler warnings.
2016 (parse_tool_bar_item): Ignore cached key bindings.
2017
f8608968
GM
2018 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
2019 and allocation of Lisp data.
2020
6ab70e9a
GM
20212000-09-12 Gerd Moellmann <gerd@gnu.org>
2022
d12d0a9b
GM
2023 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
2024 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
2025 defaults first.
2026
6ab70e9a
GM
2027 * lread.c (Fload): Put code checking for recursive loads in #if 0.
2028
63c36c3c
KH
20292000-09-12 Miyashita Hisashi <himi@meadowy.org>
2030
2031 * ccl.c: Comment fixed.
2032 (MAX_MAP_SET_LEVEL): Increased to 30.
2033 (PUSH_MAPPING_STACK): Enclose with do-while block.
2034 (POP_MAPPING_STACK): Likewise.
2035 (stack_idx_of_map_multiple): New variable.
2036 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
2037 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
2038 call the corresponding CCL program by
2039 CCL_CALL_FOR_MAP_INSTRUCTION.
2040 (ccl_driver) <CCL_MapSingle>: Likewise.
2041 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
2042 with the case where looking up process reaches to the end of
2043 map-set, and call CCL programs as the above change.
2044
7ee3bd7b
GM
20452000-09-11 Gerd Moellmann <gerd@gnu.org>
2046
8ec8a5ec
GM
2047 * xfns.c (png_load, jpeg_load): Declare some variables volatile
2048 that might be clobbered by longjmp.
2049 (check_x_display_info, x_decode_color, create_frame_xic)
2050 (Fx_display_backing_store, Fx_display_visual_class)
2051 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler
2052 warnings.
2053
f74b0705
GM
2054 * lread.c (init_lread): Set Vloads_in_progress to nil.
2055 (Fload): Show list of recursively loaded files, when signaling an
2056 error.
2057
7ee3bd7b
GM
2058 * lread.c (Vloads_in_progress): New variable.
2059 (record_load_unwind): New function.
2060 (Fload): Check for recursive loads.
2061 (syms_of_lread): Initialize Vloads_in_progress.
2062 (read_integer, read1): Avoid some compiler warnings.
2063
2064 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
2065 compiler warnings.
2066
974e1e5b
MB
20672000-09-11 Miles Bader <miles@gnu.org>
2068
2069 * editfns.c (Fbuffer_string): Doc fix.
2070
9824c4e3
GM
20712000-09-10 Gerd Moellmann <gerd@gnu.org>
2072
2073 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
2074
6a72fdd1
KR
20752000-09-09 Ken Raeburn <raeburn@gnu.org>
2076
2077 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
2078 whether to include other header files.
2079
28e6fb66
GM
20802000-09-09 Gerd Moellmann <gerd@gnu.org>
2081
2082 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 2083 by Fmemq as a boolean.
28e6fb66 2084
7f8b6551
SM
20852000-09-08 Stefan Monnier <monnier@cs.yale.edu>
2086
2087 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
2088
a8710abf
GM
20892000-09-08 Gerd Moellmann <gerd@gnu.org>
2090
d1a02881
GM
2091 * ralloc.c (mmap_fd): Remove initializer which can make it
2092 read-only in a dumped Emacs.
2093 (mmap_fd_1): New variable.
2094 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
2095 restore it from there.
2096 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
2097 unconditionally so that mmap_fd can be initialized there.
2098 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
2099 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
2100 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
2101
c454aac1
GM
2102 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
2103
2104 * xdisp.c (dump_glyph_row): Fix printf format string.
2105 (display_line, move_it_in_display_line_to): Avoid compiler
2106 warnings.
2107
fc653ef2
GM
2108 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
2109
3015eec0
GM
2110 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
2111 inheritance.
2112
bfe0ee88
GM
2113 * xdisp.c (try_window_id): When trying to locate cursor in
2114 unchanged rows at the top, handle the case that we can't find it.
2115
a8710abf
GM
2116 * xterm.c (x_draw_glyphs): Handle case START and END are out
2117 of bounds more carefully.
2118
6b7d4ae4
DL
21192000-09-08 Dave Love <fx@gnu.org>
2120
423193c5
DL
2121 * s/sol2.h (REL_ALLOC_MMAP): Define.
2122 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
2123
2124 * ralloc.c: Don't include string.h (redundant).
2125 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
2126 [!MAP_ANON]: Include fcntl.h.
2127 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
2128 (r_alloc, r_re_alloc, r_alloc_free)
2129 (mmap_enlarge, mmap_set_vars): Use it.
2130 (r_alloc_init_fd): New function.
2131 (__morecore) [SYSTEM_MALLOC]: Don't declare.
2132 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
2133 malloc type.
2134
2135 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
2136 Remove vm-limit.o.
2137
6b7d4ae4
DL
2138 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
2139 change to __NetBSD__.
2140
44d31981
KH
21412000-09-08 Kenichi Handa <handa@etl.go.jp>
2142
2143 * search.c (compile_pattern): Check the multibyteness of cached
2144 string and PATTERN.
2145
aad40737
MB
21462000-09-08 Miles Bader <miles@gnu.org>
2147
2148 * xfaces.c (default_face_vector): Function removed.
2149 (Finternal_merge_in_global_face): Restore old global/local
2150 attribute override order. Use inline loop instead of calling
2151 default_face_vector.
2152
91a211b5
GM
21532000-09-07 Gerd Moellmann <gerd@gnu.org>
2154
2155 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
2156 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
2157 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
2158 where necessary, in case POINTER_TYPE is `void'.
2159
03419440
EZ
21602000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
2161
2162 * frame.c (make_terminal_frame): Initialize frame foreground and
2163 background colors to unspecified, for the initial instance of an
2164 MSDOS frame.
2165
f46f845b
GM
21662000-09-07 Gerd Moellmann <gerd@gnu.org>
2167
24f76fbf
GM
2168 * ralloc.c (mmap_find): Fix overlap computation.
2169 (mmap_enlarge): Compute nbytes before trying to find an
2170 overlapping region.
2171
f46f845b
GM
2172 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
2173 instead of `!='.
2174
2175 * lread.c (syms_of_lread): Change value of regexp
2176 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
2177
2178 * xmenu.c (xdialog_show): When looking up the selection in
2179 menu_items, take `quote' boundaries into account; this corresponds
2180 to a nil ITEM in x-popup-dialog.
2181
3c014385
KH
21822000-09-07 Kenichi Handa <handa@etl.go.jp>
2183
fd6f711b
KH
2184 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
2185 not 0x81.
2186 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
2187
3c014385 2188 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
2189 encoding, not decoding. Fix the handling of latin-jisx0201.
2190 Check for the charset katakana-jisx0201 too.
3c014385 2191 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 2192 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 2193
0da3ecef
GM
21942000-09-07 Gerd Moellmann <gerd@gnu.org>
2195
ab0ee409
GM
2196 * xfaces.c (Vparam_value_alist): New variable.
2197 (syms_of_xfaces): Initialize it.
2198 (Finternal_set_lisp_face_attribute): Avoid more consing.
2199
2200 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
2201 specially.
2202 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
2203 (Qbackground_mode): New variable.
2204 (syms_of_frame_1): Initialize Qbackground_mode.
2205
2206 * lisp.h (Qdisplay): Declare extern.
1091dd67 2207
0da3ecef
GM
2208 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
2209 change face on all frames, and change the default for new frames.
2210
b14654b9
DL
22112000-09-07 Dave Love <fx@gnu.org>
2212
2213 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
2214
d24fd56f
KH
22152000-09-07 Kenichi Handa <handa@etl.go.jp>
2216
794f3670
KH
2217 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
2218
0fddd0dc
KH
2219 * charset.c: Include composite.h
2220 (lisp_string_width): New function.
2221 (Fstring_width): Call lisp_string_width instead of strwidth.
2222
2223 * Makefile.in (charset.o): Depends on composite.h.
2224
d24fd56f
KH
2225 * process.c (read_process_output): Before inserting the decoded
2226 text in the buffer, adjust the multibyteness.
2227
fa0b693c
GM
22282000-09-06 Gerd Moellmann <gerd@gnu.org>
2229
73b77ee5
GM
2230 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
2231 buffer's text buffer is null, map new memory.
2232
0a58f946
GM
2233 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
2234 POINTER_TYPE and size_t.
2235 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
2236 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
2237 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
2238 [REL_ALLOC_MMAP]: New macros.
2239 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
2240 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
2241 [REL_ALLOC_MMAP]: New functions.
2242
2243 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
2244 before and after unexec.
2245
2246 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
2247 text buffers if necessary.
2248
2249 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
2250 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
2251 in prototypes.
2252
fa0b693c
GM
2253 * config.in (HAVE_MMAP): Add #undef.
2254
877055f6
GM
22552000-09-05 Gerd Moellmann <gerd@gnu.org>
2256
08ba3862
GM
2257 * frame.c (Qdisplay_type): New variable.
2258 (syms_of_frame_1): Initialize it.
2259 (Fframe_parameter): New function that avoids consing.
2260 (syms_of_frame): Defsubr it.
2261
66ffe51c
GM
2262 * buffer.c (Fother_buffer): Consider buffers as invisible when
2263 they are displayed in a window on an invisible frame.
2264
877055f6
GM
2265 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
2266 get-largest-window always return nil.
2267
bb970e67
GM
22682000-09-04 Gerd Moellmann <gerd@gnu.org>
2269
2270 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
2271 variable; recognize Emacs 19 elc files.
2272
7a3d0e0e
MB
22732000-09-04 Miles Bader <miles@gnu.org>
2274
2275 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
2276 before initially popping up the menu, so the menu doesn't flash
2277 when the face settings are significantly different from the
2278 defaults.
2279
14473664
SM
22802000-09-04 Stefan Monnier <monnier@cs.yale.edu>
2281
2282 * regex.c (WIDE_CHAR_SUPPORT): New macro.
2283 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
2284 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
2285 (BIT_UNIBYTE): Remove.
2286 (re_match_2_internal): Delete corresponding code and streamline the
2287 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
2288 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
2289 (re_wctype_t): New type.
2290 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
2291 (regex_compile): Use them and fix handling of overly long char classes.
2292
c1174479
AI
22932000-09-03 Andrew Innes <andrewi@gnu.org>
2294
f8803e97
AI
2295 * makefile.w32-in: Change to DOS line endings.
2296
c1174479
AI
2297 * s/ms-w32.h (ORDINARY_LINK): New define.
2298
2299 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
2300 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
2301
2302 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
2303 (distclean): Delete them here instead.
2304
44ef7cf6
AI
2305 * w32proc.c (compare_env): Convert to uppercase for comparison,
2306 not lowercase, to match how the native Windows shell works.
2307
49b3bd82
JR
23082000-09-03 Jason Rumney <jasonr@gnu.org>
2309
2310 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
2311 CVS changes the line-ends when checking in/out on DOS/Windows.
2312
2313 * makefile.nt (emacs): Do not change directory to run temacs, as
2314 the load-path is set relative to current directory.
2315
a3d35a39
MB
23162000-09-03 Miles Bader <miles@gnu.org>
2317
2318 * xterm.c (x_alloc_lighter_color_for_widget): New function.
2319
d276b0cf
GM
23202000-09-02 Gerd Moellmann <gerd@gnu.org>
2321
715e84c9
GM
2322 * xdisp.c (redisplay_mode_lines): New function.
2323 (display_mode_lines): Return number of mode lines displayed.
2324 (echo_area_display): Use redisplay_mode_lines to draw garbaged
2325 mode lines. Don't temporarily bind redisplay-dont-pause to t.
2326
8892f40b
GM
2327 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
2328 string.h and strings.h.
2329 (index) [HAVE_INDEX]: Add prototype.
2330
d276b0cf
GM
2331 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
2332 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
2333
2334 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
2335 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
2336
38404229
GM
23372000-09-01 Gerd Moellmann <gerd@gnu.org>
2338
2339 * lread.c (read1): Accept `?' as symbol constituent, for
2340 compatiblity with XEmacs.
2341
c0f9ea08
SM
23422000-08-31 Stefan Monnier <monnier@cs.yale.edu>
2343
2344 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
2345 (struct re_pattern_buffer): Remove newline_anchor.
2346 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
2347 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
2348 (re_max_failures, fail_stack): Use size_t rather than unsigned.
2349 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
2350 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
2351 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
2352 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
2353 Get rid of references to newline_anchor.
2354 (regcomp): Allocate and precompute a fastmap.
2355
8c0f83fe
GM
23562000-08-31 Gerd Moellmann <gerd@gnu.org>
2357
2358 * lread.c (openp): GCPRO local variable `filename'.
2359
4bb91c68
SM
23602000-08-30 Stefan Monnier <monnier@cs.yale.edu>
2361
2362 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
2363
2364 * regex.c: Merge some changes from GNU libc. Add prototypes.
2365 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
2366 Use memcmp and memcpy instead of bcopy and bcmp.
2367 (init_syntax_once): Use ISALNUM.
2368 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
2369 (REG_UNSET_VALUE): Remove. Use NULL instead.
2370 (REG_UNSET, re_match_2_internal): Use NULL.
2371 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
2372 New macros.
2373 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
2374 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
2375 (regex_compile): In handle_interval, return an error rather than try to
2376 unfetch the interval if we can't find the closing brace.
2377 Obey the RE_NO_GNU_OPS syntax bit.
2378 (TOLOWER): New macro.
2379 (regcomp): Use it.
2380 (regexec): Allocate regs.start and regs.end as one block.
2381
5226a931
GM
23822000-08-30 Gerd Moellmann <gerd@gnu.org>
2383
868dd24b
GM
2384 * xdisp.c (echo_area_display): Check display_completed instead
2385 of calling detect_input_pending.
2386
2387 * dispnew.c (update_frame): Only set display_completed here; move
2388 the update_begin and update_end calls here from update_frame_1.
2389 (update_frame_1): Don't set display_completed here, don't call
2390 update_begin/update_end.
2391
5226a931
GM
2392 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
2393 instead of store_frame_param.
2394
2a8bd25f
GM
23952000-08-29 Gerd Moellmann <gerd@gnu.org>
2396
2397 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
2398 desired window matrix hasn't been displayed, use the current row
2399 instead. Make sure that only those frame rows are updated for
2400 which there exists a corresponding enabled desired row.
2401
ba3478d9
MB
24022000-08-29 Miles Bader <miles@gnu.org>
2403
2404 * xfaces.c (default_face_vector): New function.
2405 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
2406
87d0f685
GM
24072000-08-29 Gerd Moellmann <gerd@gnu.org>
2408
2409 * lread.c (openp): Prevent temporary string passed to
2410 Ffile_readable_p from being garbage collected.
2411
6fa86045
DL
24122000-08-28 Dave Love <fx@gnu.org>
2413
2414 * keymap.c (store_in_keymap): Add `static' to declaration.
2415
bb17930d
GM
24162000-08-28 Gerd Moellmann <gerd@gnu.org>
2417
2418 * emacs.c, callint.c, doc.c, editfns.c
2419 (toplevel) [HAVE_STRING_H]: Include string.h.
2420 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
2421 (index): Remove prototypes which might conflict with non-standard
2422 definitions of index/strchr.
2423
2424 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
2425 (rindex): Define only if !HAVE_RINDEX.
2426
2427 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
2428
2429 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
2430
87188200
MB
24312000-08-28 Miles Bader <miles@gnu.org>
2432
2433 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
2434 made inconsistent by a font-related attribute in FROM.
2435 (merge_face_inheritance): Add function comment.
2436
41a68aef
KH
24372000-08-28 Kenichi Handa <handa@etl.go.jp>
2438
2439 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
2440 the 4th arg (PREV_EVENT) Qt to suppress input method.
2441
f7c436c1
SM
24422000-08-27 Stefan Monnier <monnier@cs.yale.edu>
2443
0b32bf0e
SM
2444 * regex.c: Indent cpp directives and remove parens after `defined'.
2445 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
2446 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
2447 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
2448 (re_compile_pattern): Use size_t for length.
2449 (init_syntax_once): Move to a better place.
2450 * regex.h: Merge changes from GNU libc. Indent cpp directives.
2451 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
2452
f7c436c1
SM
2453 * syntax.c (back_comment): Detect cases where a comment-starter is
2454 actually inside another comment as in: /* a // b */ c // d \n.
2455 Make it clear that `comstart_pos' is unused for nested comments.
2456
2457 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
2458 (KEYMAPP): New macro.
2459 (Fkeymap_parent, Fset_keymap_parent): Use it.
2460 (fix_submap_inheritance): Mark it static.
2461 (define_as_prefix, describe_buffer_bindings, describe_command)
2462 (describe_translation, describe_map): Complete prototypes.
2463
2464 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
2465
2466 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
2467 to better match the key-lookup behavior.
2468
6288c62f
GM
24692000-08-27 Gerd Moellmann <gerd@gnu.org>
2470
2471 * xfaces.c (lface_fully_specified_p): Handle :inherit.
2472 (Finternal_set_lisp_face_attribute): Fix typo in error message.
2473
e931344e
EZ
24742000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
2475
2476 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
2477 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
2478 (xterm.o): Depend on coding.h
2479
d10dfeef
KH
24802000-08-26 Kenichi Handa <handa@etl.go.jp>
2481
2482 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
2483 the corresponding '#endif'.
2484
2d73e8d3
MB
24852000-08-26 Miles Bader <miles@gnu.org>
2486
2487 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
2488 * xfaces.c (QCinherit): New variable.
2489 (syms_of_xfaces): Initialize it.
2490 (LFACE_INHERIT): New macro.
2491 (Finternal_get_lisp_face_attribute)
2492 (merge_face_vector_with_property)
2493 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
2494 (check_lface_attrs): Allow new types of face height. Check
2495 inherit attribute.
2496 (CYCLE_CHECK): New macro.
2497 (merge_face_inheritance): New function.
2498 (merge_face_vectors): Merge inherited faces too. Add F and
2499 CYCLE_CHECK arguments.
2500 (merge_face_vector_with_property, Finternal_merge_in_global_face)
2501 (lookup_named_face, lookup_derived_face, realize_named_face)
2502 (face_at_string_position, face_at_buffer_position): Supply
2503 new F and CYCLE_CHECK arguments to merge_face_vectors.
2504 (merge_face_heights): New function.
2505 (merge_face_vectors, merge_face_vector_with_property)
2506 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
2507 handle relative face heights.
2508 (lface_same_font_attributes_p): Compare heights using EQ.
2509
6ce974d4
KH
25102000-08-26 Kenichi Handa <handa@etl.go.jp>
2511
2512 * charset.c (char_to_string): Check the character validity.
2513 (char_valid_p): If C is not less than MAX_CHAR, be sure to return
2514 0.
2515
dc1e502d
SM
25162000-08-25 Stefan Monnier <monnier@cs.yale.edu>
2517
2518 * regex.c (PUSH_FAILURE_COUNT): New macro.
2519 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
2520 Handle popping of a register's or a counter's data.
2521 (POP_FAILURE_POINT): Use the new name.
2522 (re_match_2_internal): Push counter data on the stack for succeed_n,
2523 jump_n and set_number_at and remove misleading dead code in succeed_n.
2524
bd9d0f3f
GM
25252000-08-25 Gerd Moellmann <gerd@gnu.org>
2526
2527 * xdisp.c (redisplay_internal): If considering all windows on all
2528 frames, update the display for each frame as soon as possible,
2529 instead of first building all desired matrices for all frames, and
2530 then updating them all.
2531 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
2532
aa5b8e15
GM
25332000-08-24 Gerd Moellmann <gerd@gnu.org>
2534
17494071
GM
2535 * bytecode.c (mark_byte_stack): Add a comment.
2536
aa5b8e15
GM
2537 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
2538 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
2539 a graphical frame.
2540
c543db81
KH
25412000-08-24 Kenichi Handa <handa@etl.go.jp>
2542
d246d5f5
KH
2543 * minibuf.c (do_completion): Always use compare-string, not
2544 string-equal because the latter doesn't pay attention to
2545 multibyteness of strings.
2546
c543db81
KH
2547 * process.c (create_process): Don't setup raw-text coding here.
2548 (Fopen_network_stream): Don't set coding->src_multibyte and
2549 coding->dst_multibyte here.
2550 (read_process_output): For process filter, return unibyte string
2551 if default-enable-multibyte-characters is nil.
2552 (send_process): If OBJECT is multibyte text, be sure to encoded it
2553 by the specified coding system for the process. Otherwise, setup
2554 raw-text coding.
2555 (init_process): Don't initialize default-process-coding-system
2556 here.
2557
9b47cfe0
EZ
25582000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
2559
2560 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
2561 <scroll-down-aggressively>: Likewise.
2562
f5a36960
KH
25632000-08-23 Kenichi Handa <handa@etl.go.jp>
2564
2565 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
2566 zero. Set coding->produced_char correctly.
2567
69a7ffa7
AI
25682000-08-22 Andrew Innes <andrewi@gnu.org>
2569
2570 * makefile.w32-in: New file.
2571
2572 * unexw32.c (unexec): Ignore old_name, and use the actual location
2573 of the current executable instead. Base new_name on this.
2574
2575 * w32proc.c (create_child): Remove reference to security
2576 descriptor, which isn't needed and doesn't compile with mingw32.
2577
2578 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
2579 up dllimport attributes.
2580 (x_update_window_end): Update prototype.
2581
2582 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
2583 extern, which screws up dllimport attributes.
2584
2585 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
2586 up dllimport attributes.
2587
2588 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
2589 screws up dllimport attributes.
2590
2591 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
2592 up dllimport attributes.
2593 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
2594 screws up dllimport attributes.
2595
2596 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
2597 up dllimport attributes.
2598
2599 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
2600 screws up dllimport attributes.
2601
2602 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
2603 screws up dllimport attributes.
2604
2605 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
2606 up dllimport attributes.
2607
2608 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
2609 unnecessary extern, which screws up dllimport attributes.
2610 (main): Ditto.
2611
2612 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
2613 up dllimport attributes.
2614
2615 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
2616 unnecessary extern, which screws up dllimport attributes.
2617
2618 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
2619 screws up dllimport attributes.
2620
2621 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
2622 up dllimport attributes.
2623
2624 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
2625
2626 * w32bdf.c (search_file_line):
2627 (set_bdf_font_info):
2628 (seek_char):
2629 (w32_get_bdf_glyph):
2630 (w32_BDF_to_x_font): Fix compile warnings.
2631
2632 * w32menu.c: Include keyboard.h before frame.h. Fix compile
2633 warnings.
2634
2635 * w32select.c: Include keyboard.h before frame.h.
2636
2637 * w32fns.c (max): Define macro.
2638 (JOHAB_CHARSET): Define if not known.
2639 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
2640 (Fx_show_tip): Synch with X version.
2641
2642 * w32xfns.c: Include keyboard.h before frame.h.
2643
2644 * w32fns.c: Include keyboard.h before frame.h.
2645
2646 * w32term.c: Include keyboard.h before frame.h.
2647
2648 * fontset.c: Include keyboard.h before frame.h.
2649
2650 * w32inevt.c: Include keyboard.h before frame.h.
2651 (MOUSE_MOVED): Define if not known.
2652
2653 * minibuf.c: Include keyboard.h before frame.h.
2654
2655 * keyboard.c: Include keyboard.h before frame.h.
2656
2657 * indent.c: Include keyboard.h before frame.h.
2658
2659 * dispnew.c: Include keyboard.h before frame.h.
2660
2661 * buffer.c: Include keyboard.h before frame.h.
2662
2663 * alloc.c: Include keyboard.h before frame.h.
2664
2665 * print.c: Include keyboard.h before frame.h.
2666
2667 * process.c: Include keyboard.h before frame.h.
2668
2669 * scroll.c: Include keyboard.h before frame.h.
2670
2671 * sysdep.c: Include keyboard.h before frame.h.
2672
2673 * term.c: Include keyboard.h before frame.h.
2674
2675 * window.c: Include keyboard.h before frame.h.
2676
2677 * xdisp.c: Include keyboard.h before frame.h.
2678 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
2679
2680 * frame.c: Include keyboard.h before frame.h.
2681
2682 * w32heap.h: Undefine min, max.
2683
2684 * w32gui.h: Undefine min, max.
2685
2686 * unexw32.c: Change PUCHAR to PCHAR.
2687 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
2688 (relocate_offset):
2689 (get_section_info):
2690 (copy_executable_and_dump_data): Remove unnecessary static defs.
2691 (copy_executable_and_dump_data): Fix compile warnings.
2692
2693 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
2694
2695 * w32console.c (min): Define macro.
2696 (clear_frame, write_glyphs): Fix compile warning.
2697
2698 * w32proc.c (compare_env):
2699 (find_child_console): Fix compile warning.
2700
2701 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
2702 sys_errlist instead of _sys_errlist.
2703 (get_emacs_configuration_options): New function.
2704
2705 * s/ms-w32.h (sys_nerr): Provide default definition.
2706 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
2707 name with _ prepended.
2708 (NSIG): Define if not known.
2709 (get_emacs_configuration): Provide extern declaration.
2710 (get_emacs_configuration_options): Provide extern declaration.
2711 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
2712
2713 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
2714 (map_w32_filename):
2715 (read_unc_volume): Fix compile warning.
2716
2717 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
2718 definitions from being used.
2719
2720 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
2721
2722 * w32.c (unc_volume_file_attributes):
2723 (open_unc_volume): Make arg const.
2724
2725 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
2726 (read_input_waiting): Remove excess parameter.
2727
2728 * w32.c (init_environment): Call _access.
2729 (check_windows_init_file): Call _close.
2730 (init_user_info): Call _putenv.
2731 (init_environment): Call _putenv and _strdup.
2732 (init_ntproc): Reset volume info cache on startup.
2733
2734 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
2735 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
2736 cannot override the CRT malloc.
2737
2738 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
2739 (LINK_FLAGS): Append to original value of LINK_FLAGS.
2740
2741 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
2742 unless we are linking with a static CRT.
2743 (RVA_TO_PTR): Cast result to unsigned char*.
2744
2745 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
2746 (add_volume_info): Use xstrdup.
2747
25060080
SM
27482000-08-22 Stefan Monnier <monnier@cs.yale.edu>
2749
2750 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
2751 (do_completion, Fminibuffer_complete_word): Use it.
2752 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
2753 var so it can take non-boolean values.
2754
6917e6bb
GM
27552000-08-21 Gerd Moellmann <gerd@gnu.org>
2756
acb7cc89
GM
2757 * editfns.c (find_field): Formatting changes.
2758 (toplevel): Some old-style function forward declarations
2759 changed to prototypes, some new protypes added, some functions
2760 made static.
2761
2762 * lisp.h (set_time_zone_rule): Add prototype.
2763 (use_dialog_box): External declaration.
2764
0bbfdc25
GM
2765 * keyboard.c (gen_help_event): Add parameter SIZE.
2766 (kbd_buffer_events_waiting): Slightly rewritten.
2767 (clear_event): New function.
2768 (kbd_buffer_get_event): Use it, and clear the input_events of
2769 HELP_EVENTs.
2770 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
2771 don't fill the newly created array with nils.
2772 (toplevel): Convert some old-style function forward declarations
2773 to prototypes.
2774
2775 * keyboard.h (gen_help_event): Change prototype.
2776
2777 * xterm.c (XTread_socket): Change calls to gen_help_event.
2778
2779 * w32term.c (w32_read_socket): Change calls to gen_help_event.
2780
6917e6bb
GM
2781 * eval.c (Fmacroexpand): Doc fix.
2782
e5cd3d11
JR
27832000-08-20 Jason Rumney <jasonr@gnu.org>
2784
2785 * w32term.h (x_display_info_for_display): Remove as this function
2786 does not exist on W32.
2787
2788 * w32term.c (help_echo_window): New variable.
2789 (syms_of_w32term): staticpro it.
2790 (note_mode_line_highlight): Set it.
2791 (XTextExtents16): Removed as there is no equivalent on W32.
2792 (x_compute_glyph_string_overhangs): Incomplete body removed, as
2793 the X way of doing this will not work for W32.
2794 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
2795 (x_draw_image_foreground): Avoid drawing outside of the clip area
2796 when image doesn't have a mask.
2797 (note_mouse_highlight): Process overlays in the right order of
2798 priority. Set help_echo_window.
2799 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
2800 because that's more visible for large images.
2801
2802 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
2803 name to single_keymap_panes.
2804 (w32_menu_show): Set wv->title when dealing with titles.
2805 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
2806
6e69ab8c
MB
28072000-08-21 Miles Bader <miles@gnu.org>
2808
2809 * minibuf.c (do_completion): Try again if we rewrite the input
2810 string, but no completion was done, so that any completion message
2811 will be correct.
2812
511bd4eb
GM
28132000-08-20 Gerd Moellmann <gerd@gnu.org>
2814
2815 * xfaces.c (lface_equal_p): Compare strings differently.
2816 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
2817 (realize_tty_face): Use them.
2818 (syms_of_xfaces): Initialize new variables.
2819 (map_tty_color): New function, extracted from realize_tty_face.
2820 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
2821 foreground or background color, store the new color name in the
2822 realized face; previous code trying to do this had no effect.
2823 (realize_tty_face): Use map_tty_color.
2824 (Fclear_face_cache): Set face_change_count and ensure thorough
2825 redisplay.
2826
1433385f
GM
28272000-08-19 Gerd Moellmann <gerd@gnu.org>
2828
511bd4eb
GM
2829 * undo.c (record_first_change, record_marker_adjustment): Don't
2830 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 2831
419ac0a2
KH
28322000-08-18 Kenichi Handa <handa@etl.go.jp>
2833
2834 * coding.c (decode_coding_string): Set members consumed,
2835 consumed_char, produced, produced_char of *coding correctly. If
2836 decode_coding doesn't consume any byte, don't try anymore.
2837 (encode_coding_string): Likewise.
2838
7eb9e30d
GM
28392000-08-18 Gerd Moellmann <gerd@gnu.org>
2840
511bd4eb
GM
2841 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
2842 conditional have void type, for Standard C compilers.
7eb9e30d
GM
2843
2844 * xdisp.c (redisplay_internal): Compare windows for equality with
2845 EQ, instead of applying XWINDOW to something that might not
2846 be a window.
2847
dd34a735
KH
28482000-08-18 Kenichi Handa <handa@etl.go.jp>
2849
2850 * fontset.c (Finternal_char_font): Search only the selected frame
2851 for a window of the current buffer.
2852
385ff9e3
GM
28532000-08-18 Gerd Moellmann <gerd@gnu.org>
2854
511bd4eb 2855 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
2856 Lisp_Objects.
2857
385ff9e3
GM
2858 * keyboard.c (kbd_buffer_get_event): Handle the case that the
2859 second half of a HELP_EVENT is found at the start of kbd_buffer.
2860
d6abb4c7
MB
28612000-08-18 Miles Bader <miles@gnu.org>
2862
4618074a
MB
2863 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
2864
d6abb4c7
MB
2865 * editfns.c (save_restriction_save): Rewrite to use markers.
2866 (save_restriction_restore): Rewrite to understand new form of data
2867 saved by save_restriction_save.
2868 (Fsave_restriction): Remove cautionary note in doc-string.
2869
a7b28523
GM
28702000-08-17 Gerd Moellmann <gerd@gnu.org>
2871
2872 * fileio.c (build_annotations): Add a comment explaining the
2873 return value of format-annotate-function. Replace a spurious call
2874 to Flength with a CONSP test. Call format-annotate-function with
2875 a fifth arg specifying how many times the function is been called
2876 in a row, to let it choose temporary buffers appropriately.
2877
03c9ed77
DL
28782000-08-17 Dave Love <fx@gnu.org>
2879
2880 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
2881 declare make_temp_name twice.
2882
2883 * lread.c: Prototype readevalloop, load_unwind,
2884 load_descriptor_unwind.
2885 (unreadpure): Give it an arg.
2886
2887 * unexalpha.c: Prototype fatal_unexec, mark_x,
2888 update_dynamic_symbols. Declare unexec as void.
2889
2890 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
2891 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
2892
2893 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
2894 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on
2895 DOUG_LEA_MALLOC.
2896
2897 * alloca.c: Use #error.
2898 [POINTER_TYPE]: Use it.
2899
2900 * eval.c (Fdefvar): Doc fix.
2901
2902 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
2903 INITIALIZE_INTERVAL.
2904
2905 * buffer.h: Avoid DECLARE_INTERVALS.
2906
2907 * config.in: Add size_t.
2908
aae41d97
EZ
29092000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
2910
2911 * w16select.c (set_clipboard_data): If there's not enough memory
2912 to put text into clipboard, return 1, as Fw16_set_clipboard_data
2913 expects. In case of other failures, return 3.
2914 (system_error_msg): New error message.
2915 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
2916 system_error_msg.
2917
65aa5e85
GM
29182000-08-16 Gerd Moellmann <gerd@gnu.org>
2919
2920 * term.c (write_glyphs): Also turn off inverse video after turning
2921 off other appearances in case TS_exit_attribute_mode is not equal
2922 to TS_end_standout_mode.
2923 (insert_glyphs): Turn inverse video on/off for each run of glyphs
2924 with the same face.
2925 (turn_off_face): Reset standout_mode only if
2926 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
2927 is equal to TS_end_standout_mode.
2928
ece23901
KH
29292000-08-16 Kenichi Handa <handa@etl.go.jp>
2930
9d7bcb2e
KH
2931 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
2932 sequence at the end of the source block.
2933
ece23901
KH
2934 * ccl.c (Fccl_program_p): Docstring modified.
2935 (Fccl_execute): Likewise.
2936 (Fccl_execute_on_string): Likewise.
2937
5e30eaa2
EZ
29382000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
2939
2940 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
2941
290602fd
KH
29422000-08-16 Kenichi Handa <handa@etl.go.jp>
2943
2944 The following changes are mainly to fix bugs of
2945 encode/decode-coding-string failing if encoding/decoding return
2946 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
2947 variable conversion_buffer.
2948
2949 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
2950 decrement dst_end to avoid buffer overflow in the later call of
2951 string_as_multibyte
2952
2953 * coding.h (conversion_buffer_size, conversion_buffer)
2954 (get_conversion_buffer): Extern deleted.
2955
2956 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
2957 (conversion_buffer, conversion_buffer_size): Variables deleted.
2958 (get_conversion_buffer): Function deleted.
2959 (struct conversion_buffer): New structure.
2960 (MAX_ALLOCA): New macro.
2961 (allocate_conversion_buffer): New macro.
2962 (extend_conversion_buffer, free_conversion_buffer): New functions.
2963 (ccl_coding_driver): Set coding->result.
2964 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
2965 this is the last block of source.
2966 (encode_coding): Likewise. Handle the source block as the last
2967 one only when the whole source text is consumed.
2968 (decode_coding_string): Handle the case that the output buffer is
2969 too small to decode the whole source text. Use
2970 allocate_conversion_buffer, extend_conversion_buffer and
2971 free_conversion_buffer, not get_conversion_buffer.
2972 (encode_coding_string): Likewise.
2973 (init_coding): Function deleted.
2974 (init_coding_once): Delete code to initialize
2975 conversion_buffer_size.
2976
2977 * emacs.c (main): Don't call init_coding.
2978
2979 * msdos.c (IT_write_glyphs): Use a locally declared
2980 conversion_buffer.
2981
2982 * term.c (write_glyphs): Use a locally declared conversion_buffer.
2983 (insert_glyphs): Likewise.
2984
2985 * w32console.c (write_glyphs): Use a locally declared
2986 conversion_buffer.
2987
b9f80d41
EZ
29882000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
2989
2990 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
2991 member of display_info is NULL.
2992
32dc52f7
GM
29932000-08-15 Gerd Moellmann <gerd@gnu.org>
2994
58ed0d3b
GM
2995 * alloc.c (compact_small_strings): Use safe_bcopy, add an
2996 assertion.
2997
32dc52f7 2998 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 2999 appearances with capability `me'.
32dc52f7
GM
3000 (write_glyphs): Switch on inverse video before each face change.
3001
4eb22d33
DL
30022000-08-14 Dave Love <fx@gnu.org>
3003
3004 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
3005 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
3006 (lisp_free): Declare and make static.
3007
3008 * window.c: Fix embedded comment.
3009 (syms_of_window): Fix doc string.
3010
90cbf47e
GM
30112000-08-14 Gerd Moellmann <gerd@gnu.org>
3012
3013 * keymap.c (push_key_description): If C without modifiers is < 32,
3014 make sure to print `C-' before `M-', like in the manual.
3015
440fc135
GM
30162000-08-11 Gerd Moellmann <gerd@gnu.org>
3017
3018 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
3019 since they aren't relocated anymore.
3020 (sxhash_string): Make sure returned hash code fits in a Lisp
3021 integer.
3022
3023 * xdisp.c (try_cursor_movement): Fix handling of cursor in
3024 partially visible line which is smaller than the window's
3025 height.
3026
6e264fad
KH
30272000-08-11 Kenichi Handa <handa@etl.go.jp>
3028
3029 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
3030 the multibyte form of eight-bit-control characters.
3031 (Fccl_execute_on_string): Initialize ccl->multibyte.
3032
3033 * ccl.h (struct ccl_program): New member multibyte.
3034
3035 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
3036
c371f69a
KH
30372000-08-11 Kenichi Handa <handa@etl.go.jp>
3038
3039 * regex.c (regex_compile) <normal_char>: Pay attention to
3040 multibyteness.
3041 (analyse_first) <exactn>: Setup fastmap correctly for
3042 eight-bit-control characters.
3043
30442000-08-11 Kenichi Handa <handa@etl.go.jp>
3045
3046 * termhooks.h (enum event_kind): New member
3047 multibyte_char_keystroke.
3048
3049 * keyboard.c (make_lispy_event): Handle the new event type
3050 multibyte_char_keystroke.
3051
3052 * xterm.c: Include coding.h.
3053 (XTread_socket): Work around a bug of XmbLookupString. If the
3054 input is from XIM, decode it according to the current locale. In
3055 that case, generate multibyte_char_keystroke events.
3056
b8ddbe71
KH
30572000-08-11 Kenichi Handa <handa@etl.go.jp>
3058
3059 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
3060 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
3061
47589c8c
GM
30622000-08-10 Gerd Moellmann <gerd@gnu.org>
3063
3064 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
3065 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
3066 (move_it_in_display_line_to): Record iterator's ascent and descent
3067 before producing glyphs, and restore them when we know the glyph
3068 doesn't fit on the line.
3069 (move_it_to): Restructured so that it's easier to debug. If
3070 moving to a vpos, and not moving to an x or character position,
3071 stop as soon as the specified vpos is reached; don't move further
3072 into that line because that might change the computed line height.
3073 (try_cursor_movement): New function, extracted from the cursor
3074 movement branch of redisplay_window. If ending on a partially
3075 visible line, don't try to scroll if the cursor line is taller
3076 than the window.
3077 (redisplay_window): Use try_cursor_movement.
3078
3079 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
3080 because that function doesn't cope with variable-height lines.
3081
3082 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
3083 box cursor because that's better visible for large images.
3084
c51bacd6
MB
30852000-08-10 Miles Bader <miles@gnu.org>
3086
3087 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
3088
bea56df7
GM
30892000-08-10 Gerd Moellmann <gerd@gnu.org>
3090
3091 * xdisp.c (Vmessages_buffer_name): New variable.
3092 (message_dolog): Use it.
3093 (syms_of_xdisp): Initialize it.
3094
99cd7364
EZ
30952000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
3096
3097 * msdos.c (IT_note_mouse_highlight): Update the calls to
3098 overlays_at.
3099 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
3100 redundant now that keyboard.h is included.
3101
7d093d56
EZ
31022000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
3103
3104 * keyboard.c (kbd_buffer_events_waiting): New function.
3105
3106 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
3107
3108 * msdos.c: Include keyboard.h.
3109 (XMenuActivate): Empty no_event events from the event buffer. If
3110 no events are left after that, call clear_input_pending.
3111 (mouse_clear_clicks): New function, code moved from mouse_init.
3112 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
3113 mouse driver to ``forget'' any past clicks.
3114
3115 * Makefile.in (msdos.o): Depend on keyboard.h.
3116
41e757a6
GM
31172000-08-09 Gerd Moellmann <gerd@gnu.org>
3118
8e7bd231
GM
3119 * lisp.h (input_pending): External declaration.
3120
3121 * dispextern.h (Qredisplay_dont_pause): Declare extern.
3122
3123 * xdisp.c (echo_area_display): Display thoroughly if input is
3124 pending. Bind redisplay-dont-pause to t during the redisplay.
3125 in case input is pending.
3126
3127 * dispnew.c (Qredisplay_dont_pause): New variable.
3128 (syms_of_display): Initialize and staticpro it.
3129 (update_frame_1): Don't interrupt the display for pending input if
3130 redisplay_dont_pause is set.
3131
43028b7e
GM
3132 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
3133
41e757a6
GM
3134 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
3135
2f2174fa
KH
31362000-08-09 Miles Bader <miles@lsi.nec.co.jp>
3137
3138 * callproc.c (Fcall_process): Terminate the unwind-protect around
3139 the post-read-conversion of coding system.
3140
0a6fd67e
MB
3141 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
3142 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
3143 * buffer.h (overlays_at): Update prototype.
3144 * xdisp.c (next_overlay_change): Update call to overlays_at.
3145 * xfaces.c (face_at_buffer_position): Likewise.
3146 * textprop.c (Fget_char_property): Likewise.
3147 * xterm.c (note_mouse_highlight): Likewise.
3148
0c80756e
MB
3149 * minibuf.c (do_completion): Don't consider a simple change of
3150 case as `completion'.
3151
975f250a
KR
31522000-08-08 Ken Raeburn <raeburn@gnu.org>
3153
b347b3fd
KR
3154 * keyboard.c (syms_of_keyboard): Initialize
3155 last_point_position_buffer.
3156 * undo.c (record_delete): Make sure last_point_position_buffer is
3157 a buffer before comparing pointers.
3158
3159 * coding.h (decode_coding_string): Declare.
3160
3161 * intervals.h (Fprevious_single_char_property_change): Declare.
3162
3163 * textprop.c (Fprevious_single_char_property_change): Don't do
3164 arithmetic directly on lisp objects.
3165
25ad1371 3166 * editfns.c (find_field): Use EQ, not ==, to compare Lisp
b347b3fd
KR
3167 objects.
3168
3169 * keyboard.h (menu_item_eval_property): Declare.
3170
3171 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
3172 reuse as buffer name, instead of recreating (and discarding) every
3173 time a message is logged.
3174 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
3175 (current_message_1, truncate_message_1, set_message_1)
3176 (display_echo_area_1, resize_mini_window_1): Signatures changed.
3177 (current_message, truncate_echo_area, display_echo_area)
3178 (resize_echo_area_axactly): Changed calls.
b347b3fd 3179
975f250a 3180 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 3181 Lisp object.
975f250a 3182 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 3183 must be an integer, not a Lisp object.
975f250a 3184
46dc9912
KH
31852000-08-08 Kenichi Handa <handa@etl.go.jp>
3186
3187 * charset.c (Fchar_width): Doc fix.
3188
9f6d1a6c
GM
31892000-08-08 Gerd Moellmann <gerd@gnu.org>
3190
3191 * charset.c (Fstring_width): Doc fix.
3192
ff3d9573
GM
31932000-08-07 Gerd Moellmann <gerd@gnu.org>
3194
41e757a6 3195 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
3196 line, clear ascent and descent members of the iterator structure;
3197 the height of the continued line does not affect the height of the
3198 continuation line.
3199 (make_cursor_line_fully_visible): Do nothing if cursor is on a
3200 line taller than the window.
3201 (redisplay_window) <forced window start>: Handle case that the
3202 middle of the window is not found in any row.
3203 (dump_glyph_row): Show more information.
3204 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
3205 first text line in a glyph matrix.
3206
3207 * xterm.c (x_draw_image_foreground): Avoid drawing outside
3208 of the clip area when image doesn't have a mask.
3209
70fc58b3
GM
3210 * fns.c (sweep_weak_table): Fix survival conditions for
3211 key-or-value and key-and-value weakness.
3212
3213 * .gdbinit (xhashtable): New command.
3214
ac0e96ee
GM
3215 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
3216 tables out of the list of all weak hash tables.
3217
ff3d9573
GM
3218 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
3219 a new buffer is created, make sure echo_area_buffer[] references
3220 the new buffer.
3221
e0d8827b
EZ
32222000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
3223
3224 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
3225 the doc string.
3226
c6f35378
KH
32272000-08-07 Kenichi Handa <handa@etl.go.jp>
3228
3229 * syntax.c (skip_chars): Fix previous change. Make the handling
3230 of unibyte string consistent with that of regex search.
3231
1fd4c450
GM
32322000-08-05 Gerd Moellmann <gerd@gnu.org>
3233
e49aa397
GM
3234 * xmenu.c (popup_get_selection): Use xfree instead of free.
3235
3236 * fileio.c (Finsert_file_contents): Use xfree instead of free.
3237
3238 * editfns.c (Ftranspose_regions): Use xfree instead of free.
3239
3240 * callproc.c (child_setup): Use xfree instead of free.
3241
3242 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
3243 instead of malloc.
3244 (run_mac_command, closedir): Use `xfree' instead of `free'.
3245
3246 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
3247
3248 * eval.c (error): Use xfree instead of free.
3249
1fd4c450
GM
3250 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
3251
3252 * fns.c: Replace `illegal' with `invalid'.
e49aa397 3253 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 3254
82d497fc
KH
32552000-08-05 Kenichi Handa <handa@etl.go.jp>
3256
3257 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
3258 conversion.
3259
59f953a2
NF
32602000-08-04 Noah Friedman <friedman@splode.com>
3261
3262 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
3263 docstring.
3264
688351f2
GM
32652000-08-04 Gerd Moellmann <gerd@gnu.org>
3266
3267 * syntax.c (skip_chars): Fix typo in error message.
3268
2dad51cc
AS
32692000-08-04 Andreas Schwab <schwab@suse.de>
3270
3271 * m/ia64.h: Moved from s/ia64.h.
3272
99bb2c60
KH
32732000-08-04 Kenichi Handa <handa@etl.go.jp>
3274
082a1df2
KH
3275 * process.c (read_process_output): Big simplification. Handle
3276 composition and post-read-conversion of coding system correctly.
3277 (send_process): Handle composition correctly.
3278
3279 * callproc.c (Fcall_process): Handle post-read-conversion of
3280 coding system if any.
3281
99bb2c60
KH
3282 * coding.c (decode_coding_iso2022): More strict check for handling
3283 single shifting.
082a1df2
KH
3284 (coding_restore_composition): Pay attention to the case that
3285 cmp_data is not set properly (because of invalid code in the
3286 source text).
3287 (run_pre_post_conversion_on_str): Include text properties in the
3288 resulting string.
3289 (decode_coding_string): Set members of coding correctly.
99bb2c60 3290
f4988be7
GM
32912000-08-03 Gerd Moellmann <gerd@gnu.org>
3292
3293 * s/ia64.h: New file.
3294
3295 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
3296 Use NULL instead of 0 at the end of variable argument list of
3297 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
3298 sizeof (int) < sizeof (void *).
3299
3300 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
3301 of variable argument lists of XtVaGetValues and XtVaSetValues.
3302
3303 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
3304 variable argument lists of XtVaGetValues and XtVaSetValues.
3305
ead53494
GM
33062000-08-02 Gerd Moellmann <gerd@gnu.org>
3307
3308 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
3309 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
3310
3311 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
3312 prototype.
3313
3314 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
3315 in call to Fsingle_key_description.
3316
3317 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
3318 Callers changed.
3319
33202000-08-02 Colin Walters <walters@cis.ohio-state.edu>
3321
3322 * window.c (display_buffer_reuse_frames): New variable.
3323 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
3324 frames displaying BUFFER.
3325 (syms_of_window): Define Lisp variable
3326 display-buffer-reuse-frames.
3327
10b0f752
MB
33282000-08-01 Miles Bader <miles@gnu.org>
3329
3330 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
3331 when to constrain NEW_POS (they were pretty screwed up before).
3332
16425c4a
EZ
33332000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
3334
3335 * msdos.c (run_msdos_command): Save and restore the master
3336 environment, for the case that child_setup signals an error.
3337 When mirroring slashes in DOS shell commands, don't fail when
3338 argv[2] has embedded blanks.
da288c14
EZ
3339 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
3340 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
3341 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
3342
3343 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
3344 using alloca; free it after run_msdos_command returns.
3345
27f73852
DL
33462000-07-27 Dave Love <fx@gnu.org>
3347
3348 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't
3349 define.
3350 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently
3351 working.
3352
3353 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
3354
c0261b5e
EZ
33552000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
3356
3357 * editfns.c (lisp_time_argument): Fix last change.
3358
b548072f
GM
33592000-07-27 Gerd Moellmann <gerd@gnu.org>
3360
3ab82477
GM
3361 * fns.c (Fdelete): Make it work on vectors and strings in addition
3362 to lists.
3363
b548072f
GM
3364 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
3365 (syms_of_fns): Initialize new variables.
3366 (sweep_weak_table): Handle weakness `key-or-value' and
3367 `key-and-value'.
3368 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
3369 weakness, with t meaning the same as `key-and-value'.
3370
91ae8751
KH
33712000-07-27 Kenichi Handa <handa@etl.go.jp>
3372
3373 * coding.h (struct coding_system): Member safe_charset deleted.
3374
3375 * coding.c (Qsafe_charsets): This variable deleted.
3376 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system): New
3377 variables.
3378 (coding_safe_chars): New function.
3379 (CODING_SAFE_CHAR_P): New macro.
3380 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
3381 checking safe_charsets member of the coding system. Caller
3382 changed.
3383 (detect_coding_iso2022): New local variable safe_chars.
3384 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
3385 safe_charsets member of the coding system.
3386 (decode_coding_iso2022): New local variable safe_chars.
3387 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
3388 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
3389 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
3390 (ENCODE_UNSAFE_CHARACTER): New macro.
3391 (encode_coding_iso2022): New local variable safe_chars. Check
3392 unsafe chars.
3393 (setup_coding_system): Delete the code to initialize
3394 coding->safe_charses
3395 (intersection, find_safe_codings): New functions.
3396 (Ffind_coding_systems_region_internal): New function.
3397 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
3398 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
3399 variable and initialize it.
3400
3401 * fns.c (char_table_ref_and_index): New function.
3402
3403 * lisp.h (char_table_ref_and_index): Add prototype.
3404
34a7a267
SS
34052000-07-26 Sam Steingold <sds@gnu.org>
3406
3407 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 3408 (Ffloat_time): New built-in Lisp function.
34a7a267 3409
a95cb10a
GM
34102000-07-26 Gerd Moellmann <gerd@gnu.org>
3411
3353ef5a
GM
3412 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
3413 for the character code.
3414
3415 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
3416 GNU/Linux.
3417
a95cb10a
GM
3418 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
3419 if called for a popup menu.
3420 (xmenu_show): Store help string in widget values.
3421
b4a12321
DL
34222000-07-26 Dave Love <fx@gnu.org>
3423
3424 * syswait.h: Move some definitions.
3425 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
3426 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
3427 perspicuous definitions.
3428 (WTERMSIG): Fix bit pattern used.
3429
13f5ad37
KH
34302000-07-26 Kenichi Handa <handa@etl.go.jp>
3431
3432 * print.c (print_object): If vector printing is truncated, print
3433 "..." to indicate it as well as the case of list printing.
3434
070fe99c
GM
34352000-07-25 Gerd Moellmann <gerd@gnu.org>
3436
969065c3
GM
3437 * xdisp.c (next_element_from_display_vector): Improve comments.
3438
3439 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
3440 for the character code, and the rest for the face id as in 20.x.
3441 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
3442
3443 * window.c (window_display_table): Cleaned up.
3444
070fe99c
GM
3445 * syntax.c (Fforward_word): Add last arg nil in call of
3446 Fconstrain_to_field.
3447
bad77ef7
EZ
34482000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
3449
969065c3 3450 * fileio.c (Frename_file) [DOS_NT]: If the file names are
bad77ef7
EZ
3451 identical but for the letter-case, don't call
3452 barf_or_query_if_file_exists.
3453
c28da489
MB
34542000-07-25 Miles Bader <miles@gnu.org>
3455
3456 * editfns.c (find_field): Honor special `boundary' fields.
3457 (Qboundary): New variables.
3458 (syms_of_editfns): Initialize Qboundary.
3459 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
3460 Use scan_buffer instead of find_before_next_newline, because it
3461 allows us to detect the boundary case where there's a newline at
3462 the search limit.
3463 * lisp.h (Fconstrain_to_field): Update external declaration.
3464
e3c31fd5
GM
34652000-07-24 Gerd Moellmann <gerd@gnu.org>
3466
3467 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
3468 if that is nil.
c28da489 3469
c66c29a2
DL
34702000-07-24 Dave Love <fx@gnu.org>
3471
3472 * s/sunos4-0.h, s/sol2.h:
3473 (LIBS_TERMCAP): Move from m/sparc.h.
3474
3475 * m/sparc.h (TERMINFO): Moved to system files (probably only
3476 relevant for sunos4 judging by its vintage).
3477 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
3478 __arch64__.
3479
fbe0a958
EZ
34802000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
3481
3482 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
3483 name to single_keymap_panes.
3484
7d88e5c9
AS
34852000-07-24 Andreas Schwab <schwab@suse.de>
3486
3487 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
3488
e024b101
GM
34892000-07-24 Gerd Moellmann <gerd@gnu.org>
3490
3491 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
3492 parameters instead of using int parameters. Expect FN to accept
3493 EMACS_INT parameters.
3494 (display_echo_area, resize_echo_area_axactly, current_message)
3495 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
3496 with new argument list.
3497 (resize_mini_window_1): New callback function.
3498 (current_message_1, truncate_message_1, set_message_1): Change
3499 parameter lists to the new format expected by
3500 with_echo_area_buffer.
3501
25c1a9ce
KH
35022000-07-24 Kenichi Handa <handa@etl.go.jp>
3503
3504 * fontset.c (fontset_ref): Remove INLINE declaration.
3505 (fontset_ref_via_base): Likewise.
3506 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
3507 to downcase.
3508
7f987ac0
EZ
35092000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
3510
3511 * msdos.c (IT_note_mouse_highlight): Process overlays in the
3512 correct order of priority. If help echo was found in an overlay,
3513 use that overlay as the object in which the help echo was found.
3514
e2db3069
MB
35152000-07-22 Miles Bader <miles@gnu.org>
3516
3517 * textprop.c (Fprevious_single_char_property_change): The initial
3518 property value should be from the position preceding POSITION, not
3519 following it.
3520
5e3203e4
EZ
35212000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
3522
3523 * coding.c (syms_of_coding): Doc fix for
3524 inhibit-iso-escape-detection.
3525
62145073
GM
35262000-07-21 Gerd Moellmann <gerd@gnu.org>
3527
c20aeb83
GM
3528 * xterm.c (note_mouse_highlight): Process overlays in the right
3529 order of priority.
34a7a267 3530
743934db
GM
3531 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
3532
3533 * xterm.c (note_mouse_highlight): If help-echo was found in an
3534 overlay, use that overlay as the object in which the help was
3535 found.
3536
d1dc7e43 3537 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 3538
62145073
GM
3539 * window.c (foreach_window): Instead of a fake variable argument
3540 list, take one USER_DATA argument.
3541 (foreach_window_1): Likewise, and call callback functions with two
3542 args, the window and USER_DATA.
3543 (struct check_window_data): New struct.
3544 (check_window_containing): Use it.
3545 (window_from_coordinates): Set up a struct check_window_data for
3546 foreach_window.
3547 (add_window_to_list, freeze_window_start): Change parameters
3548 according to new calling convention.
3549
3550 * window.h (foreach_window): Change prototype.
3551
3552 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
3553
35542000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
3555
3556 * xmenu.c (menu_help_callback): Call show_help_echo with
3557 additional arguments OBJECT and POS.
3558
11270583
KH
35592000-07-21 Kenichi Handa <handa@etl.go.jp>
3560
07b14857
KH
3561 * data.c (Faset): Allow storing any multibyte character in a
3562 string. Convert unibyte string to multibyte if necessary.
3563
11270583
KH
3564 * xfns.c (x_encode_text): New function.
3565 (x_set_name): Use x_encode_text.
3566 (x_set_title): Likewise.
3567
3568 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
3569
3570 * xterm.h (x_encode_text): Add prototype.
3571
bc75b4fd
DL
35722000-07-20 Dave Love <fx@gnu.org>
3573
3574 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
3575 xfree, not free.
3576
48c14970
EZ
35772000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
3578
3579 * msdos.c (help_echo_window): New variable.
3580 (syms_of_msdos): Initialize and staticpro it.
3581 (IT_note_mode_line_highlight): Set help_echo_window.
3582 (IT_note_mouse_highlight): Ditto.
3583 (dos_rawgetc): Store help_echo_window in the second event produced
3584 for HELP_EVENTs.
3585
3586 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
3587 Record the object that generated the help echo and the position of
3588 that object in help_echo_object and help_echo_pos. Record that
3589 some glyphs in a row are displayed in mouse-face.
3590 (IT_update_begin): Don't clear mouse highlight unless one of the
3591 enabled glyph rows is marked as being displayed in mouse-face.
3592 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
3593 and position recorded in help_echo_object and help_echo_pos to the
3594 event queue.
3595 (IT_menu_display): Accept a new argument PN: the pane number of
3596 the current menu pane. Record the pane number and the item
3597 number of the item which has associated help string.
3598 (XMenuActivate): Update the prototype for help_callback in
3599 function declaration. Call IT_menu_display with the current menu
3600 pane number as an additional argument. Call help_callback with
3601 two additional arguments: the pane number and the item number of
3602 the menu item associated with the help text.
3603 (help_echo_object, help_echo_pos): New variables.
3604 (syms_of_msdos): Initialize them and staticpro help_echo_object.
3605
3606 * msdos.h (XMenuActivate): Update prototype.
3607
4279296d
GM
36082000-07-19 Gerd Moellmann <gerd@gnu.org>
3609
47db06aa
GM
3610 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
3611 Add some more prototypes.
3612
3613 * xterm.c, xterm.h: Add some more prototypes.
3614
3615 * lisp.h (Fnext_single_char_property_change): Add prototype.
3616
3617 * dispnew.c (direct_output_for_insert): Remove confusing
3618 outer local variable mouse_face_overwritten_p.
3619 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
3620
4279296d
GM
3621 * alloc.c (allocate_string_data): Don't copy old string contents.
3622
670acd62
KH
36232000-07-19 Kenichi Handa <handa@etl.go.jp>
3624
3625 * coding.c (code_convert_region): Delete text properties before
3626 shrinking the conversion region.
3627
7cea38bc
GM
36282000-07-18 Gerd Moellmann <gerd@gnu.org>
3629
dc1cac59
GM
3630 * dispnew.c (update_text_area): Write the whole row if it
3631 has mouse-face in it.
3632
85a8aca9
GM
3633 * xfaces.c (face-alternative-font-family-alist): Remove
3634 DEFVAR_LISP; staticpro instead.
3635
34a7a267 3636 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
3637 new arguments.
3638
3639 * keyboard.c (show_help_echo): Add parameter WINDOW.
3640 (read_char): Call show_help_echo with window extracted from Lisp
3641 help event.
3642 (gen_help_event): Add parameter WINDOW.
3643
3644 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
3645
3646 * xterm.c (help_echo_window): New variable.
3647 (note_mouse_highlight, note_tool_bar_highlight): Set
3648 help_echo_window.
3649 (XTread_socket): Pass help_echo_window to gen_help_event.
3650 (syms_of_xterm): Initialize and staticpro help_echo_window.
3651
f8276b77
DL
36522000-07-18 Dave Love <fx@gnu.org>
3653
3654 * Makefile.in: Fix dependencies of blockinput.h on atimer.h,
3655 systime.h.
3656
088831a6
GM
36572000-07-18 Gerd Moellmann <gerd@gnu.org>
3658
3d6cd763
GM
3659 * alloc.c (allocate_string_data): If string had already data
3660 assigned, copy old contents to new string data.
3661
3662 * coding.c (syms_of_coding): Fix typo in spelling of variable
3663 `inhibit-iso-escape-detection'.
3664
088831a6
GM
3665 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
3666
3667 * Makefile.in: Add dependencies on dispextern.h.
3668 (alloca.o): Don't define malloc and define EMACS_FREE instead of
3669 `free'; both can conflict with system header files.
3670
bc8a8d55
KH
36712000-07-18 Kenichi Handa <handa@etl.go.jp>
3672
3673 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
3674 undefined.
3675
069f5950
DL
36762000-07-18 Dave Love <fx@gnu.org>
3677
3678 * window.c (Fwindow_list): Declare arg `window'.
3679
aa96c820
KH
36802000-07-18 Kenichi Handa <handa@etl.go.jp>
3681
3682 * coding.c (setup_coding_system): Don't override the explicitly
3683 specified designations.
3684
06be8d32
MB
36852000-07-15 Miles Bader <miles@gnu.org>
3686
3687 * editfns.c (char_property_eq, char_property_stickiness): Renamed
3688 from `text_property_eq' and `text_property_stickiness', respectively.
3689 (find_field, Fconstrain_to_field, char_property_eq)
3690 (char_property_stickiness): Changed to call char-property functions
3691 instead of text-property-only ones.
3692
3693 * textprop.c (Fnext_single_char_property_change): Made a subr (was
3694 `next_single_char_property_change'). Do more error checking, and
3695 cleanup limit behavior.
3696 (Fprevious_single_char_property_change): New function.
3697 (syms_of_textprop): Initialize new subrs.
3698
3699 * xdisp.c (display_prop_end, invisible_text_between_p):
3700 Call Fnext_single_char_property_change instead of
3701 next_single_char_property_change.
3702
3fddcdc3
JR
37032000-07-15 Jason Rumney <jasonr@gnu.org>
3704
3705 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
3706 after menu is finished with.
3707 (add_menu_item): Only consider wv->title as a menu title.
3708 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
3709
3710 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
3711 null title.
3712 (FONT_REGEXP): Remove unused macro, and its sub-components.
3713 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
3714
3715 * w32term.c (help_echo_object, help_echo_pos): New variables.
3716 (note_mode_line_highlight): Store additional information about the
3717 help-echo in help_echo_object and help_echo_pos. Check both
3718 `local-map' and `keymap' properties for changing the cursor
3719 (note_mouse_highlight): Store additional information about the
3720 help-echo in help_echo_object and help_echo_pos.
3721 (note_tool_bar_highlight): Set help_echo_object to nil and
3722 help_echo_pos to -1.
3723 (w32_read_socket): Use gen_help_event instead of filling
3724 input_events manually.
3725 (syms_of_w32term): Staticpro help_echo_object.
3726 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
3727 set, arrange for a mouse-highlight redisplay in
3728 XTframe_up_to_date.
3729 (x_clear_mouse_face): New function.
3730 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
3731 (x_update_window_begin): No need to turn off the mouse
3732 highlight here.
3733 (show_mouse_face): Set the mouse_face_p flag of glyph rows
3734 depending on whether they contain glyphs highlighted in
3735 mouse-face.
3736 (x_fill_stretch_glyph_string): Consume runs of stretch
3737 glyphs instead of a single one.
3738 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
3739 with new argument list.
3740 (x_set_glyph_string_gc): Make sure the face's GC is valid.
3741 (x_append_glyph, x_append_composite_glyph)
3742 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
3743 changes in struct glyph starting 1999-12-27. See comments for
3744 xterm.c on 2000-07-05.
3745
178c5d9c
SS
37462000-07-14 Sam Steingold <sds@gnu.org>
3747
3748 * xfaces.c (realize_x_face): Fix the last patch:
3749 check `default_face' before dereferencing.
3750
6fe533f6
DL
37512000-07-14 Dave Love <fx@gnu.org>
3752
069f5950 3753 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 3754
dd7b81cf
KH
37552000-07-14 Kenichi Handa <handa@etl.go.jp>
3756
0693904a 3757 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 3758 default_face's fontset, not using the default fontset.
0693904a 3759
dd7b81cf
KH
3760 * coding.c (inhibit_iso_escape_detection): New variable.
3761 (syms_of_coding): Make it a Lisp variable.
3762 (detect_coding_iso2022): If inhibit_iso_escape_detection is
3763 nonzero, ignore ISO2022's escape sequence.
3764
d5aa31d8
GM
37652000-07-14 Gerd Moellmann <gerd@gnu.org>
3766
e5acf0ca
GM
3767 * alloca.c (malloc) [emacs]: Define as xmalloc.
3768
bd23a692
GM
3769 * xfns.c (Fx_show_tip): If frame parameters contain a position,
3770 use that instead of the mouse position. Add parameters DX and DY.
3771
3772 * dispextern.h (Fx_show_tip): Adjust number of parameters
3773 in prototype.
3774
9662da0b
GM
3775 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
3776 if HELP is a function, call it with OBJECT and POS as parameters
3777 to get the help to display.
3778 (gen_help_event, kbd_buffer_store_help_event): New functions.
3779 (kbd_buffer_get_event): Construct the Lisp help-event differently.
3780 (read_char): Call show_help_echo with new parameters.
3781
178c5d9c 3782 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
3783 Add prototypes.
3784
3785 * xterm.c (help_echo_object, help_echo_pos): New variables.
3786 (note_mode_line_highlight): Store additional information about the
3787 help-echo in help_echo_object and help_echo_pos. Check both
3788 `local-map' and `keymap' properties for changing the cursor
3789 (note_mouse_highlight): Store additional information about the
3790 help-echo in help_echo_object and help_echo_pos.
3791 (note_tool_bar_highlight): Set help_echo_object to nil and
3792 help_echo_pos to -1.
3793 (XTread_socket): Use gen_help_event instead of filling
3794 input_events manually.
3795 (syms_of_xterm): Staticpro help_echo_object.
3796
3797 * xmenu.c (menu_highlight_callback): Use
3798 kbd_buffer_store_help_event instead of setting up and input_event
3799 structure manually.
3800
3801 * xdisp.c (eval_form): GCPRO argument sexpr.
3802 (call_function): New function.
3803 (handle_single_display_prop): Use call_function and FUNCTIONP
3804 instead of checking whether if font_height is a symbol and
3805 using eval_form.
3806
3807 * eval.c (internal_condition_case_2): New function.
3808
3809 * lisp.h (FUNCTIONP): New macro.
3810 (internal_condition_case_2, call_function): Add prototypes.
3811
d5aa31d8
GM
3812 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
3813 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
3814 Always set `arg' member of input_events.
3815 (construct_menu_click): Unused function removed.
3816
3817 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
3818
3819 * w32term.c (construct_mouse_click, construct_mouse_wheel)
3820 (construct_drag_n_drop, x_scroll_bar_handle_click)
3821 (w32_read_socket): Always set `arg' member of input_events.
3822
3823 * keyboard.c (show_help_echo): Use eval_form. Add comment.
3824
3825 * lisp.h (eval_form): Add prototype.
3826
3827 * xdisp.c (eval_form): Make it externally visible.
3828
0f1a9b23
GM
38292000-07-13 Gerd Moellmann <gerd@gnu.org>
3830
3831 * xterm.c (x_handle_tool_bar_click): Store the frame in the
3832 frame_or_window slot of TOOL_BAR_EVENT input events instead of
3833 consing. For prefix events, store the frame in the `arg' slot of
3834 the event, otherwise store the key there.
3835 (XTread_socket): Instead of consing, use the frame_or_window slot
3836 of HELP_EVENTs for the frame, and the `arg' slot for the help
3837 string.
3838
3839 * xmenu.c (menu_highlight_callback): Store help string in the
3840 `arg' member of the input event; don't cons.
3841 (menubar_selection_callback): Use the `arg' slot of input events
3842 to queue additional information, instead of consing.
3843
3844 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
3845
3846 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
3847 TOOL_BAR_EVENTs.
3848 (w32_read_socket): Adapt to changes in HELP_EVENTs.
3849
3850 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
3851 input events to queue additional information, instead of consing.
3852
3853 * keyboard.c (kbd_buffer_gcpro): Renamed from
3854 kbd_buffer_frame_or_window. Now used for all Lisp objects
3855 referenced from the input queue.
3856 (kbd_buffer_store_event): Always use structure assignment for
3857 copying input events. Record all Lisp objects referenced from
3858 events in kbd_buffer_gcpro.
3859 (kbd_buffer_get_event): Construct Lisp `help-echo' events
3860 differently from input events. Test for prefix menu_bar_events
3861 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
3862 event in kbd_buffer_gcpro to nil.
3863 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
3864 frame_or_window is equal to its arg member as prefix events.
3865 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
3866 used by an input event to nil.
3867 (init_keyboard): Use two times the size of the input queue
3868 for kbd_buffer_gcpro.
3869 (syms_of_keyboard): Likewise.
3870
3871 * emacs.c (handle_USR2_signal, handle_USR1_signal): Use
3872 USER_SIGNAL_EVENT.
3873
3874 * termhooks.h (struct input_event): Add member `arg'.
3875 (MENU_BAR_EVENT): Renamed from menu_bar_event.
3876 (USER_SIGNAL_EVENT): Renamed from user_signal.
3877
3878 * xfaces.c (ASET): Remove definition.
3879
3880 * lisp.h (AREF, ASET, ASIZE): New macros.
3881
3882 * fontset.c (AREF, ASIZE): Remove definitions.
3883
3884 * fns.c (AREF): Remove definition.
178c5d9c 3885
0f1a9b23
GM
3886 * composite.c (AREF): Remove definition.
3887
712eaef2
GM
38882000-07-12 Gerd Moellmann <gerd@gnu.org>
3889
d8ee7803
GM
3890 * dispnew.c (redraw_overlapped_rows): Add missing local.
3891 (scrolling_window): Remove debug code.
3892
712eaef2
GM
3893 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
3894 Before scrolling, turn off a mouse-highlight in the window
3895 being scrolled.
3896
3897 * xterm.c (x_update_window_end): Add parameter
3898 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
3899 redisplay in XTframe_up_to_date.
3900 (x_clear_mouse_face): New function.
3901 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
3902
3903 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
3904 current glyph row.
3905 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
3906 it when any row is written to that contains glyphs highlighted in
3907 mouse-face.
3908 (update_window): Call the window update end hook with new
3909 parameter MOUSE_FACE_OVERWRITTEN_P.
3910 (direct_output_for_insert): Give up if row contains mouse-face.
3911
3912 * dispextern.h (struct redisplay_interface): Add parameter
3913 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
3914 (clear_mouse_face): New function pointer member.
3915
02010917
SM
39162000-07-11 Stefan Monnier <monnier@cs.yale.edu>
3917
3918 * syntax.c (back_comment): Use one switch rather than a few `if's.
3919 Obey open_paren_in_column_0_is_defun_start.
3920 When reverting to the `slow' method, try to nicely handle the case
3921 of nested comments by checking that the comment-starter we found
3922 does indeed match the comment-ender.
3923 (scan_sexps_forward, scan_sexps_forward):
3924 Ignore excessive opening parenthesis rather than throwing an error.
3925
d76c03ea
GM
39262000-07-11 Gerd Moellmann <gerd@gnu.org>
3927
3928 * doc.c (Fsubstitute_command_keys): Handle case that a GC
3929 in Fwhere_is_internal or get_keymap_1 relocates string contents.
3930
3931 * dispnew.c (direct_output_forward_char): Give up if currently
3932 displaying a message instead of the minibuffer contents.
3933
3934 * xterm.c (x_update_window_begin): No need to turn off the mouse
3935 highlight here.
3936 (show_mouse_face): Set the mouse_face_p flag of glyph rows
3937 depending on whether they contain glyphs highlighted in
3938 mouse-face.
3939
3940 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
3941 compare the mouse_face_p flags of both rows.
3942
3943 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
3944
d55ead18
EZ
39452000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
3946
3947 * keyboard.c (show_help_echo): Accept additional parameter
3948 ok_to_overwrite_keystroke_echo.
3949 (read_char): Call show_help_echo with a zero
3950 ok_to_overwrite_keystroke_echo argument.
3951 * keyboard.h (show_help_echo): Update prototype of
3952 show_help_echo.
3953 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
3954 ok_to_overwrite_keystroke_echo argument.
3955 * w32menu.c (w32_menu_display_help): Call show_help_echo with
3956 non-zero ok_to_overwrite_keystroke_echo argument.
3957
df75b1a3
GM
39582000-07-10 Gerd Moellmann <gerd@gnu.org>
3959
4b92c49a
GM
3960 * xdisp.c (try_window_id): If changes are all below what is
3961 displayed in the window, and point is in the window, we still
3962 might have to find point on the display.
3963
3964 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
3965 glyphs instead of a single one.
3966 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
3967 with new argument list.
3968 (x_set_glyph_string_gc): Make sure the face's GC is valid.
3969
df75b1a3
GM
3970 * keymap.c (get_keymap_1): Add comment that this function can GC.
3971 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
3972 comment that functions can GC.
3973 (Fset_keymap_parent): GCPRO arg KEYMAP.
3974
4314cf3e
EZ
39752000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
3976
3977 * msdos.c (XMenuActivate): After exiting the menu, restore the
3978 echo area message and erase it.
3979
ab49ce15
KH
39802000-07-10 Kenichi Handa <handa@etl.go.jp>
3981
3982 * fontset.c (Ffontset_info): Make the return value more compatible
3983 with that of Emacs 20.
3984
090a072f
GM
39852000-07-07 Gerd Moellmann <gerd@gnu.org>
3986
3987 * eval.c (Fsignal): Handle case that backtrace_list is null.
3988
f92de4a6
KH
39892000-07-07 Kenichi Handa <handa@etl.go.jp>
3990
3991 * ccl.c (Fccl_execute): Typo fixed.
3992
dd8888a1
GM
39932000-07-06 Gerd Moellmann <gerd@gnu.org>
3994
e5c81191 3995 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 3996
dd8888a1
GM
3997 * window.c (Fwindow_list): Reverse list at the end.
3998 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
3999 means allow windows on OWINDOW's frame, only.
4000 (window_loop): Simplified; use Fwindow_list.
4001
4002 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
4003
485266d0
GM
40042000-07-05 Gerd Moellmann <gerd@gnu.org>
4005
4006 * xterm.c (XTread_socket): Increment handling_signal at the start,
4007 decrement it at the end.
4008
4009 * eval.c (handling_signal): New variable.
4010 (Fsignal): Abort if handling_signal is non-zero.
4011
4012 * lisp.h (handling_signal): External declaration.
178c5d9c 4013
485266d0
GM
4014 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
4015
80fcd514
KR
40162000-07-05 Ken Raeburn <raeburn@gnu.org>
4017
4018 Sound support for NetBSD through "Linux emulation" support:
4019 * config.in (HAVE_SOUNDCARD_H): Undef.
4020 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
4021 * Makefile.in (LIBSOUND): New variable.
4022 (LIBES): Include it.
4023 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and
4024 <soundcard.h>.
4025 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined
4026 elsewhere.
4027 (vox_open): Use DEFAULT_SOUND_DEVICE.
4028 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
4029
d5c5cddd
GM
40302000-07-05 Gerd Moellmann <gerd@gnu.org>
4031
4032 * print.c (print_error_message): If Vsignaling_function is set,
4033 show it in *Messages*.
4034
4035 * lisp.h (Vsignaling_function): External declaration.
4036
4037 * eval.c (Vsignaling_function): New variable.
4038 (Fsignal): Compute it.
4039 (syms_of_eval): Staticpro it.
4040
65171e3a
DL
40412000-07-05 Dave Love <fx@gnu.org>
4042
4043 * syswait.h: Use the autoconf recommended approach. Old code
4044 #if'd out in case we need to revert.
4045
178c5d9c 4046 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 4047
e2c46326
AI
40482000-07-05 Andrew Innes <andrewi@gnu.org>
4049
4050 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
4051 when non-NULL instead of __morecore, to take account of buffer
4052 memory. This also solves a problem with spurious memory warnings
4053 on Windows.
4054
4055 * ralloc.c: Make real_morecore non-static.
4056
4057 * eval.c (internal_condition_case): Comment out abort if
4058 interrupt_input_blocked is not zero.
4059
4060 * makefile.nt: Add support for `bootstrap' and related targets.
4061 Include minimal debug info in emacs.exe in release build.
4062 Remove all dependencies on lisp.h, and fixup some others.
4063
4064 * w32.c (init_environment): Install code from 20.7 for providing
4065 default values for environment variables, based on the
4066 executable's own location.
4067 (map_w32_filename): Handle filenames that are longer than
4068 MAX_PATH.
4069 (sys_socket): Install socket inheritance bug fix from 20.7.
4070
4071 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
4072 here via blockinput.h).
4073
a027a91b
SM
40742000-07-05 Stefan Monnier <monnier@cs.yale.edu>
4075
e4b31601
SM
4076 * w32menu.c (w32_menu_display_help):
4077 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
4078
4079 * keyboard.h (show_help_echo): Declare.
4080
4081 * keyboard.c (show_help_echo): New function, extracted from read_char.
4082 Feval its `msg' argument if it's a cons cell.
4083 (read_char): Use it.
4cf8d9d5 4084 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 4085
178c5d9c 4086 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 4087 (note_tool_bar_highlight, XTread_socket):
178c5d9c 4088 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
4089 (dos_rawgetc):
4090 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
4091 (note_tool_bar_highlight, w32_read_socket):
4092 Do not gratuitously ignore non-string `help-echo' properties.
4093
88d75730
GM
40942000-07-05 Gerd Moellmann <gerd@gnu.org>
4095
969f7e79
GM
4096 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
4097
71201b00
GM
4098 * window.c (delete_all_subwindows): Reset Vwindow_list.
4099
88d75730
GM
4100 * xterm.c (x_append_glyph, x_append_composite_glyph)
4101 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
4102 changes in struct glyph starting 1999-12-27. Some bit-fields of
4103 struct glyph were not set, which made glyphs unequal when compared
4104 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
4105 effects were the result. This also depended on the contents of
4106 memory returned by xmalloc. If flickering happens again, activate
4107 the code in clear_glyph_row that's in #if 0. If the flickering is
4108 gone with that, chances are that it is caused by something
4109 similar.
4110
4111 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 4112
88d75730
GM
4113 * dispextern.h: Add some comments.
4114
4115 * window.c (add_window_to_list): Add parameter LIST.
4116 (window_list): Order list so that, for each frame, windows are
4117 in canonical order, and so that frames appear in the list in
4118 the order given by Vframe_list.
4119 (next_window): Reverse the handling of NEXT_P.
4120
53654733
GM
41212000-07-04 Gerd Moellmann <gerd@gnu.org>
4122
87efd256
GM
4123 * window.c (Vwindow_list): New variable.
4124 (make_window, delete_window): Set Vwindow_list to nil.
4125 (check_window_containing): New function.
4126 (window_from_coordinates): Rewritten.
4127 (add_window_to_list, window_list, candidate_window_p)
4128 (decode_next_window_args, next_window): New functions.
4129 (Fnext_window, Fprevious_window): Rewritten in terms of
4130 next_window.
4131 (Fwindow_list): New function.
4132 (Fother_window): Cleaned up.
4133 (foreach_window): Add a longer "variable argument list". Let
4134 callback function return 0 to indicate that cycling over windows
4135 should stop.
4136 (foreach_window_1): Likewise.
4137 (freeze_window_start): Return int.
4138 (init_window): New function.
4139 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
4140
4141 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
4142 input_event with bzero.
4143 (main): Call init_window.
4144
53654733
GM
4145 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
4146 a menu filter.
4147
4a8c194f
KH
41482000-07-04 Kenichi Handa <handa@etl.go.jp>
4149
4150 * composite.h (make_composition_value_copy): Extern it.
4151
4152 * composite.c (make_composition_value_copy): New function.
4153
4154 * editfns.c (Fformat): While copying text properties, make each
4155 composition property value a copy.
4156
4157 * fns.c (concat): While copying text properties, make each
4158 composition property value a copy.
4159
831a6cb0
GM
41602000-07-03 Gerd Moellmann <gerd@gnu.org>
4161
2f516940
GM
4162 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
4163
178c5d9c 4164 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
4165 marked already.
4166
831a6cb0
GM
4167 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
4168 include those frames as candidates which have their focus
4169 redirected to the minibuffer frame.
4170
d9c4f922
SM
41712000-07-03 Stefan Monnier <monnier@cs.yale.edu>
4172
4173 * fns.c (Fputhash): Return `value' rather than nil.
4174
3780bc22
GM
41752000-06-30 Gerd Moellmann <gerd@gnu.org>
4176
97d176db
GM
4177 * frame.c (next_frame): Don't check focus redirection in case
4178 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
4179 unless their focus is redirected, which contradicts the
4180 specification of next-frame, and leads to infinite loops in
4181 certain situations when cycling through windows with next-window.
4182
dca9961d
KH
41832000-06-30 Kenichi Handa <handa@etl.go.jp>
4184
4185 * coding.c (code_convert_region): Even if the length of text is
4186 zero, try to convert it if coding->type is coding_type_ccl.
4187 (decode_coding_string, encode_coding_string): Likewise.
4188
d5483ab1
GM
41892000-06-28 Gerd Moellmann <gerd@gnu.org>
4190
af5c25e1 4191 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 4192 the display if windows_or_buffers_changed.
af5c25e1
GM
4193
4194 * dispnew.c (struct row_entry): New structure.
4195 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
4196 (row_table_size, old_lines, new_lines, old_lines_size)
4197 (new_lines_size, run_pool, runs_size, runs): New variables.
4198 (add_row_entry): New function.
4199 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 4200 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
4201 holding them in local variables. Use a larger hash table whose
4202 size depends on glyph matrix sizes. Don't use bzero to clear the
4203 hash table; instead, clear used slots only.
4204
4205 * fns.c (next_almost_prime): Make it externally visible.
4206
4207 * lisp.h (next_almost_prime): Add prototype.
4208
d5483ab1
GM
4209 * s/isc4-0.h (sigunblock): Define.
4210
4211 * s/sco5.h (sigunblock): Define.
4212
93e40f40
DL
42132000-06-27 Dave Love <fx@gnu.org>
4214
4215 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
4216 (moved to osf5-0.h).
4217 [!NOT_C_CODE]: Protect string.h stuff.
4218
4219 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
4220 (sys_siglist, NSIG): Definitions moved here from osf1.h.
4221
3c4b7685
GM
42222000-06-27 Gerd Moellmann <gerd@gnu.org>
4223
97d176db 4224 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
4225 below the last line from the needed window height.
4226
32cad0aa
SM
42272000-06-26 Stefan Monnier <monnier@cs.yale.edu>
4228
4229 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
4230 (Fwidget_get): Use it.
4231 (syms_of_fns): Defsubr it.
4232
2c69ced2
GM
42332000-06-26 Gerd Moellmann <gerd@gnu.org>
4234
178c5d9c 4235 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
4236 display info for XIM.
4237 (xim_open_dpy): Likewise.
4238 (xim_close_dpy): Don't free the display info's XIM.
4239
4240 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
4241
4242 * config.in (USE_XIM): New define.
4243
3fc720e4
GM
4244 * keymap.c (get_keyelt): For menu-items containing a `:filter
4245 FILTER', apply FILTER to the menu-item's definition to get the
4246 real definition to use.
4247
4248 * lisp.h (QCfilter): External declaration.
4249
2c69ced2
GM
4250 * xfns.c (Fimage_size): New function.
4251 (syms_of_xfns): Defsubr it.
4252
f978b2a2
AS
42532000-06-26 Andreas Schwab <schwab@suse.de>
4254
4255 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
4256 Fstring_as_unibyte.
4257
94cc7892
DL
42582000-06-25 Dave Love <fx@gnu.org>
4259
4260 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag,
4261 tgetnum.
4262
4263 * Makefile.in (blockinput.h): Depend on atimer.h.
4264 (atimer.h): Depend on systime.h.
4265
4266 * blockinput.h: Protect against multiple inclusion. Include
4267 atimer.h.
4268
4269 * atimer.h: Protect against multiple inclusion. Include
4270 systime.h.
4271
4272 * lisp.h (swap_in_global_binding): Declare.
4273
b8c24556
KR
42742000-06-24 Ken Raeburn <raeburn@gnu.org>
4275
4276 * process.c (Fopen_network_stream): Turn off atimers for duration
4277 of call to connect. (Patch from Gerd.)
4278
8cf8560b
DL
42792000-06-23 Dave Love <fx@gnu.org>
4280
511c7541
DL
4281 * ralloc.c: Maybe include unistd.h
4282
8cf8560b
DL
4283 * emacs.c (setgrp): Undefine before defining.
4284 (malloc_warning, set_time_zone_rule, index): Prototype.
4285
4286 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
4287 HAVE_STRUCT_TIMEZONE.
4288
4289 * s/osf1.h: Move string.h hack here from alpha.h and make it
4290 conditional.
4291 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
4292 _XOPEN_SOURCE.
4293 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
4294 (SOCKLEN_TYPE): Don't define.
4295
4296 * m/alpha.h: Remove string.h hack.
4297
4298 * s/osf5-0.h: New file.
4299
4300 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
4301 include time.h, done by systime.h.
4302 [__FreeBSD__]: Remove redundant includes.
4303
3fc720e4 4304 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
4305 (delete_temp_file): Return Qnil to avoid warning.
4306
4307 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
4308
4309 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
4310 HAVE_X_WINDOWS.
4311
4312 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
4313
4314 * composite.h (compose_text): Declare.
4315
4316 * xterm.c: Don't include sys/types.h unconditionally. Don't
4317 protect its inclusion with !USG (following xmenu.c).
4318
ea055732
GM
43192000-06-23 Gerd Moellmann <gerd@gnu.org>
4320
4321 * xfns.c (x_create_tip_frame): Initialize frame's colors like
4322 in x_create_frame.
4323
74b01b80
EZ
43242000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
4325
4326 * coding.c (decode_eol_post_ccl): Special handling for undecided
4327 and inconsistent EOL types.
4328
64f3a166
GM
43292000-06-22 Gerd Moellmann <gerd@gnu.org>
4330
16cf31f7
GM
4331 * xrdb.c (x_load_resources): Add default resource for scroll bar's
4332 trough color and main window's background color.
4333
178c5d9c 4334 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events
16cf31f7
GM
4335 differently.
4336
4337 * xterm.h (Xt_app_con): External declaration.
4338
4339 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 4340
486a103d
GM
4341 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
4342
64f3a166
GM
4343 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
4344 (handle_invisible_prop): Record the start of invisible text in
4345 it->add_overlay_start.
4346 (struct overlay_entry): Add member `overlay'.
4347 (handle_overlay_change): Simplify.
4348 (next_overlay_string): After having processed overlay strings at the
4349 end of the buffer, record that fact in
4350 it->overlay_strings_at_end_processed_p.
4351 (compare_overlay_entries): If before- and after-strings come
4352 from the same overlay, let before-strings come first.
4353 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
4354 (load_overlay_strings): Take it->add_overlay_start into account
4355 when adding overlay strings.
4356
4357 * dispextern.h (struct it): Add member add_overlay_start.
4358
bb746ea6
DL
43592000-06-22 Dave Love <fx@gnu.org>
4360
4361 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
4362
4363 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
4364
a8f573f3
KH
43652000-06-22 Kenichi Handa <handa@etl.go.jp>
4366
4367 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
4368 is greater than 0.
4369
9f2bbc92
DL
43702000-06-21 Dave Love <fx@gnu.org>
4371
178c5d9c 4372 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 4373
3ee5041c
SM
43742000-06-21 Stefan Monnier <monnier@cs.yale.edu>
4375
4376 * syntax.c (back_comment): Simplify string-parity counting (with
4377 the added benefit of handling multiple string-styles as long as
4378 they are not intertwined).
4379 Jump to the slow code as soon as a comment starter is found in
4380 a "string_lossage" position. Fixes the case: " /* " /* " */.
4381
4c343001
DL
43822000-06-21 Dave Love <fx@gnu.org>
4383
4384 * Makefile.in: Use GETLOADAVG_LIBS.
4385
4386 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
4387 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
4388
e6365855
SM
43892000-06-20 Stefan Monnier <monnier@cs.yale.edu>
4390
4391 * syntax.c (describe_syntax): Recognize the `n'estable bit.
4392 (Fforward_comment, scan_lists):
4393 Check the comstyle of single-char comment-starters.
4394 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
4395 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
4396 Check the comstyle of single-char comment-starters.
4397 Clarify control-flow around the Scomment case.
e6365855 4398
5700d2cc
DL
43992000-06-20 Dave Love <fx@gnu.org>
4400
d355bd8a
SM
4401 * fns.c (make_hash_table, maybe_resize_hash_table):
4402 Cast arg of next_almost_prime.
5700d2cc 4403
178c5d9c 4404 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
4405
4406 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
4407 and unistd.h.
4408
4a27bdfb
GM
44092000-06-20 Gerd Moellmann <gerd@gnu.org>
4410
a61d762c
GM
4411 * keyboard.c (adjust_point_for_property): Check if display
4412 property should be treated as intangible by looking at its
4413 value.
4414
178c5d9c 4415 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
4416 (display_prop_intangible_p): New functions.
4417
4418 * dispextern.h (display_prop_intangible_p): Add prototype.
4419
4420 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 4421
4a27bdfb
GM
4422 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
4423 argument to sigprocmask.
4424
4425 * s/sco5.h (sigblock): Redefined to pass a pointer as second
4426 argument to sigprocmask.
4427
4428 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
4429 sigprocmask_set, and pass a pointer to it to sigprocmask.
4430
4431 * sysdep.c (sigprocmask_set): New variable.
4432
4433 * fileio.c (make_temp_name): Don't use `%s' in string passed to
4434 report_file_error.
4435
427ec082
SS
44362000-06-20 Sam Steingold <sds@gnu.org>
4437
4438 * xrdb.c: Don't declare xmalloc, xrealloc.
4439
8972fe79 44402000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
4441
4442 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
4443 (re_comp): Cast gettext return value to avoid complaints when
4444 !HAVE_LIBINTL.
4445
074b6efe
DL
44462000-06-20 Dave Love <fx@gnu.org>
4447
f85c008a
DL
4448 * m/stride.h, m/mips.h: Don't define HAVE_GETWD,
4449 HAVE_GETTIMEOFDAY.
4450
5700d2cc 4451 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 4452
d355bd8a 4453 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
4454
4455 * m/alpha.h: Don't declare xmalloc, xrealloc.
4456
0af4f205
DL
4457 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
4458
4459 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
4460
4461 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
4462
4463 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
4464 HAVE_GETWD.
4465
074b6efe
DL
4466 * keyboard.h (poll_for_input_1): Declare.
4467
4468 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
4469
4470 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
4471
4472 * doprnt.c: Don't declare xmalloc, xrealloc.
4473
4474 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
4475 (getenv, ctime, getwd): Removed.
4476 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
4477
4478 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
4479 x_set_tool_bar_lines.
4480
4481 * config.in: Add HAVE_GETWD. Move some definitions above
4482 machine/system includes.
4483
68a5e97b
KH
44842000-06-20 Kenichi Handa <handa@etl.go.jp>
4485
95417e1e
KH
4486 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
4487
68a5e97b
KH
4488 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
4489 contain information about ENCODING.
4490
4491 * fontset.c (FONTSET_ASCII): Use the first element of char table
4492 for an ASCII font, not defalt slot.
4493 (fontset_ref_via_base): If FONTSET doesn't contain information for
4494 C, try the default fontset.
4495 (make_fontset): Don't copy the default fontset.
4496 (fontset_font_pattern): Likewise.
4497 (accumulate_font_info): If ELT is nil, use the corresponding
4498 element in the default fontset.
4499
3b4fa1b2
DL
45002000-06-19 Dave Love <fx@gnu.org>
4501
943e731c
DL
4502 * syntax.c (Fparse_partial_sexp): Doc fix.
4503
4504 * regex.h: Test PROTOTYPES as well as __STDC__.
4505
3b4fa1b2
DL
4506 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
4507 errno, strerror. Put text after #endif in comment.
4508
4509 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for
4510 pcc).
4511
4512 * xterm.c (x_frame_of_widget): Likewise.
4513
cdf0357b
GM
45142000-06-19 Gerd Moellmann <gerd@gnu.org>
4515
4516 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
4517 to Vfundamental_mode_abbrev_table.
4518
4519 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
4520 bogus objects are marked. This slows down GC by ~80 percent, but
4521 it might be worth trying when debugging GC-related problems.
4522 This feature requires conservative stack marking to be enabled.
4523
4524 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
4525 returns XLookupChars, reset `modifiers' to zero.
4526
998e9f8c
DL
45272000-06-19 Dave Love <fx@gnu.org>
4528
4529 * mktime.c: Unprotoized.
4530
18e21ce8 45312000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
4532
4533 * data.c (set_internal): If variable is frame-local,
4534 store the new value immediately into the frame parameter alist.
4535
140c4ac6
KR
45362000-06-19 Ken Raeburn <raeburn@gnu.org>
4537
14358466
KR
4538 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
4539 in the custom handler pointer.
4540
140c4ac6
KR
4541 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
4542 value, or checks for CHAR_META can fail when Lisp_Object is a
4543 union type.
4544 * keymap.c (get_keyelt): Likewise.
4545
10d7bf84
KH
45462000-06-19 Kenichi Handa <handa@etl.go.jp>
4547
4548 * ccl.h (struct ccl_program): New member eol_type.
4549 (struct ccl_spec): New member cr_carryover.
4550
4551 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
4552 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
4553
4554 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
4555 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
4556 (decode_eol_post_ccl): New function.
4557 (decode_coding): Don't detect EOL format here for CCL based coding
4558 systems.
4559 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
4560 decode_eol_post_ccl after running the CCL program.
4561 (code_convert_region): Don't detect EOL format here for CCL based
4562 coding systems.
4563 (decode_coding_string): Likewise.
4564
52e386c2
KR
45652000-06-18 Ken Raeburn <raeburn@gnu.org>
4566
4567 * charset.c (update_charset_table): Use XINT on "iso_final_char"
4568 when treating it as an integer.
4569
4570 * coding.h (encode_coding_string): Declare.
4571
4572 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
4573 it as an integer.
4574
4575 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
4576 "xkeymap" to avoid shadowing the "enum map_type" value that needs
4577 to be passed to get_local_map.
4578
4579 * sound.c (Fplay_sound): Don't call make_number on
4580 Frun_hook_with_args count argument.
4581
4582 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
4583 for lisp objects in X event structure data field, when lisp
4584 objects are represented with unions.
4585 (x_scroll_bar_to_input_event): Ditto.
4586
b357b9d4
KR
45872000-06-16 Ken Raeburn <raeburn@gnu.org>
4588
4589 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
4590 termination of string. Fix sense of test whether
4591 Vline_number_display_limit is an integer.
b357b9d4 4592
a871441d
GM
45932000-06-16 Gerd Moellmann <gerd@gnu.org>
4594
a9021acd
GM
4595 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
4596 only if HAVE_X_WINDOWS.
4597
6344985d
GM
4598 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
4599 of titles.
4600
427ec082 4601 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
4602 out of bounds.
4603
228b083e
EZ
46042000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
4605
4606 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
4607 of its headers.
4608
c25b53a2
KH
46092000-06-15 Kenichi Handa <handa@etl.go.jp>
4610
4611 * coding.c (decode_coding_emacs_mule): Always set src_base at the
4612 start of the while loop.
4613
a6981b11
GM
46142000-06-15 Gerd Moellmann <gerd@gnu.org>
4615
e9924e52
GM
4616 * atimer.c (alarm_signal_handler): Add forward declaration.
4617
a6981b11
GM
4618 * data.c (set_internal): Remove debug code.
4619
25fa6deb
GM
46202000-06-14 Gerd Moellmann <gerd@gnu.org>
4621
dce6b995
GM
4622 * Makefile.in (bootstrap-temacs): Add `-I../src'.
4623
9f817ea4
GM
4624 * unexec.c (toplevel) [COFF]: Include coff.h.
4625
4626 * s/lynxos.h: New file.
4627
4628 * keymap.c (Fsingle_key_description): Enclose function key and
4629 event symbol names in angle brackets.
4630
8a4e3c0c
GM
4631 * xdisp.c (setup_echo_area_for_printing): Call
4632 message_log_maybe_newline if message_buf_print is not set.
4633
4634 * print.c (printchar, strout): Don't check message_buf_print
427ec082 4635 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
4636 function does something useful even when message_buf_print is
4637 already set.
4638
25fa6deb
GM
4639 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines): New
4640 variables.
4641 (ensure_echo_area_buffers): Initialize echo buffer's
4642 truncate lines setting to nil.
4643 (with_echo_area_buffer): Don't set the echo buffer's truncate
4644 lines setting here.
8a4e3c0c 4645 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
4646 of message_truncate_lines.
4647 (resize_mini_window): Handle case that lines are truncated.
4648 (syms_of_xdisp): Initialize Qmessage_truncate_lines. DEFVAR_BOOL
4649 message-truncate-lines.
4650
4651 * keyboard.c (read_char): Bind message-truncate-lines to t
4652 while displaying a help-echo.
4653
4654 * lisp.h (Qmessage_truncate_lines): External declaration.
4655
163dcff3
GM
46562000-06-13 Gerd Moellmann <gerd@gnu.org>
4657
1681ead6
GM
4658 * xdisp.c (Vline_number_display_limit): Renamed from
4659 line_number_display_limit.
4660 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
4661 Extend documentation string. Initialize
4662 Vline_number_display_limit to nil meaning no limit.
4663 (decode_mode_spec): Use Vline_number_display_limit with its new
4664 meaning.
4665
163dcff3
GM
4666 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
4667
18e21ce8 46682000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
4669
4670 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 4671
163dcff3
GM
4672 * xfns.c (x_set_frame_parameters): Comment fix.
4673
4674 * frame.c (store_frame_param): Call swap_in_global_binding if the
4675 variable's current binding was chosen based on this frame.
4676
4677 * data.c (swap_in_global_binding): New function.
4678
a704139d
EZ
46792000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
4680
4681 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
4682 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
4683
9b6610db
EZ
46842000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
4685
4686 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
4687
c68833d2
JR
46882000-06-12 Jason Rumney <jasonr@gnu.org>
4689
4690 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
4691
4692 * w32.h (EMACS_W32_H): Renamed from _NT_H_
4693
4694 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
4695
4696 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
4697
ed1056b3
GM
46982000-06-12 Gerd Moellmann <gerd@gnu.org>
4699
4700 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
4701 (syms_of_xfaces): Defsubr Sdump_colors.
4702 (x_free_colors): Don't treat b&w specially on default visual.
4703 (x_free_dpy_colors): New function.
4704 (free_face_colors): Don't check visual class; it's done
4705 in x_free_colors.
4706
4707 * xterm.c (x_frame_of_widget): New function.
4708 (x_alloc_nearest_color_for_widget): Use it.
4709 (x_copy_dpy_color): New function.
4710 (x_destroy_window): Free various colors.
4711
5050a2ef
KH
47122000-06-12 Kenichi Handa <handa@etl.go.jp>
4713
4714 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
4715
4716 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
4717
4718 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
4719
4720 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
4721
4722 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
4723
fb1b041d
DL
47242000-06-11 Dave Love <fx@gnu.org>
4725
4726 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
4727
ff96b5f4
EZ
47282000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
4729
4730 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
4731
db8eeecd
GM
47322000-06-11 Gerd Moellmann <gerd@gnu.org>
4733
ed1056b3 4734 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
4735 to `XEvent *'.
4736
49b71c5f
KH
47372000-06-10 Kenichi Handa <handa@etl.go.jp>
4738
c479bd55
KH
4739 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
4740 (regex_compile): Fix the code for handling the case of single byte
4741 char and multibyte char being mixed in a range within [...].
4742
ff6a65c2
KH
4743 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
4744 and dst_multibyte members of coding.
4745
49b71c5f
KH
4746 * charset.c (update_charset_table): Update the table
4747 bytes_by_char_head.
4748 (init_charset_once): Initialize elements of bytes_by_char_head to
4749 1 except for leading codes for private charases.
4750
4751 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
4752 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte
4753 sequence.
4754
9e80b57d
KR
47552000-06-09 Ken Raeburn <raeburn@gnu.org>
4756
4757 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
4758 access the data it doesn't point to.
4759
f83fe4b4
GM
47602000-06-08 Gerd Moellmann <gerd@gnu.org>
4761
4762 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 4763 will be translated to a switch-frame event when reading the
f83fe4b4
GM
4764 event queue. This is necessary because Emacs otherwise won't
4765 perform a switch-frame to a new frame until some other event, for
4766 example a keystroke event, forces it to do so. This has various
4767 effects, one visible being that the cursor of a frame created with
4768 C-x 5 2 or switched to with a window manager key binding like
4769 A-TAB stays hollow because selected_window isn't on the newly
4770 focused frame until the switch-frame is performed.
4771
4772 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
4773 generating a switch-frame event if necessary.
4774
4775 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
4776
4777 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
4778 it's an integer.
4779
0890801b
KH
47802000-06-08 Kenichi Handa <handa@etl.go.jp>
4781
4782 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a
4783 charset.
4784
173cbca8
GM
47852000-06-07 Gerd Moellmann <gerd@gnu.org>
4786
3091c2a6
GM
4787 * window.c (displayed_window_lines): Take empty lines at
4788 the bottom of a window into account.
427ec082 4789
f38952fe
GM
4790 * window.c (displayed_window_lines): New function.
4791 (Fmove_to_window_line): Use displayed_window_lines to determine
4792 the number of lines to move, instead of using the window's height.
4793
4794 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
4795 to stop reading, even if the form read sets point to a different
4796 value when evaluated.
4797
427ec082 4798 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
4799 put the cursor.
4800
6ba6c818
KH
48012000-06-07 Kenichi Handa <handa@etl.go.jp>
4802
4803 * fileio.c (e_write): Free composition data if stored in
4804 coding->cmp_data.
4805
5f1aea9a
GM
48062000-06-06 Gerd Moellmann <gerd@gnu.org>
4807
666852af
GM
4808 * xdisp.c (display_line): Set row's and iterator's
4809 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
4810 Set cursor even if row ends in the middle of a character.
4811 (dump_glyph_row): Print values of new flags.
4812 (redisplay_window) <cursor movement in unchanged window>: When
4813 point has been moved forward, and PT is at the end of the cursor
4814 row, don't place the cursor in the next row if the cursor row ends
4815 in the middle of a character or at ZV.
4816
4817 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
4818 (struct glyph_row): Add starts_in_middle_of_char_p and
4819 ends_in_middle_of_char_p.
4820 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
4821 ends_in_middle_of_char_p flag.
4822 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
4823
d13f3e2e
GM
4824 * term.c (append_glyph): Revert change of 2000-06-06.
4825
4826 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
4827 padding glyph not fitting on line as whole character not
4828 fitting on line.
4829
5f1aea9a
GM
4830 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
4831 this isn't true for images with `:ascent 100'.
4832
10cda9b0
KH
48332000-06-06 Kenichi Handa <handa@etl.go.jp>
4834
ed00559d
KH
4835 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
4836 as modified if it is originally unmodified.
4837
10cda9b0
KH
4838 * term.c (encode_terminal_code): Change the way to check if
4839 terminal coding does any conversion.
4840 (append_glyph): Set glyph->pixel_width correctly.
4841
4842 * xdisp.c (display_line): While checking line continuation, pay
4843 attention to a padding glyph.
4844
1969fae2
GM
48452000-06-05 Gerd Moellmann <gerd@gnu.org>
4846
4847 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
4848
162ccef4
DL
48492000-06-05 Dave Love <fx@gnu.org>
4850
f19f32dd
DL
4851 * xdisp.c: Include fontset.h.
4852
4853 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
4854
4855 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
4856
4857 * dispnew.c: Conditionally include term.h.
4858
4859 * coding.h: Declare code_convert_string_norecord.
4860
4861 * frame.h (struct frame): Use volatile unconditionally.
4862
4863 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
4864
4865 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
4866
4867 * systime.h: Protect against multiple inclusion.
4868 (timezone) [USG5_4]: Define as time_t.
4869
4870 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
4871 (Foptimize_char_table, make_temp_name): Declare.
4872
4873 * Makefile.in (xdisp.o): Depend on fontset.h.
4874
4875 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
4876
4877 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
4878 (Foptimize_char_table, make_temp_name): Declare.
4879
427ec082 4880 * s/irix4-0.h:
162ccef4
DL
4881 * s/irix5-0.h:
4882 * s/netbsd.h: Don't define autoconfiscated MATHERR.
4883
2082fe81
DL
48842000-06-02 Dave Love <fx@gnu.org>
4885
4886 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
4887
dcf671d2
GM
48882000-06-02 Gerd Moellmann <gerd@gnu.org>
4889
4890 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 4891 result face, set flags in that face indicating that colors may not
dcf671d2
GM
4892 be freed.
4893
4894 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
4895 glyph, use the ASCII NUL character to determine the face.
4896
d42122a3
DL
48972000-06-02 Dave Love <fx@gnu.org>
4898
4899 * sysdep.c: Conditionally include stdlib.h, unistd.h.
4900 (VFORK_RETURN_TYPE): Remove.
427ec082 4901
d42122a3
DL
4902 * config.in: Add NO_MATHERR.
4903
dd432f16
DL
49042000-06-01 Dave Love <fx@gnu.org>
4905
90aa4ea8
DL
4906 * cmds.c (internal_self_insert): Don't check
4907 Vbefore_change_function, Vafter_change_function.
4908
4909 * insdel.c (signal_before_change, signal_after_change): Likewise.
4910
4911 * buffer.c (Vbefore_change_function, Vafter_change_function):
4912 Variables and their initializations deleted.
4913
2330c9d4
DL
4914 * callint.c (Fcall_interactively): Doc fix.
4915
dd432f16
DL
4916 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
4917
bf9e8804
DL
49182000-05-31 Dave Love <fx@gnu.org>
4919
4920 * textprop.c: Revert last change -- duplicated.
4921
3694b4ab
GM
49222000-05-31 Gerd Moellmann <gerd@gnu.org>
4923
4924 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
4925 in #if 0.
4926
4927 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
4928
f14156cd
JR
49292000-05-31 Jason Rumney <jasonr@gnu.org>
4930
8119aab8
JR
4931 * search.c (Fre_search_forward, Fre_search_backward)
4932 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
4933
f14156cd
JR
4934 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
4935
4aab9be3
JR
49362000-05-30 Jason Rumney <jasonr@gnu.org>
4937
4938 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
4939 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
4940
4941 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type
4942 member.
4943
4944 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
4945 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
4946 expand a nil default_filename.
4947
4948 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
4949 pointer to glyph_to_pixel_coords, not a frame.
4950
4951 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
4952 coding.h to dependencies.
4953
4954 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
4955
4956 * w32console.c (glyph_to_pixel_coords): Change first parameter to
4957 window pointer to be consistent with w32term.c and xterm.c.
4958
4959 * w32fns.c: Format and doc changes to bring closer to xfns.c.
4960 (VIETNAMESE_CHARSET): Define if not defined in system headers.
4961 (Qline_spacing, Qcenter): New variables.
4962 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
4963 (x_set_line_spacing): New function.
4964 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT
4965 macros.
4966 (x_specified_cursor_type): New function.
4967 (x_set_cursor_type): Use it.
4968 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
4969 and icon strings.
4970 (validate_x_resource_name, x_get_resource_string): Measure lengths
4971 of external strings in bytes.
4972 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
4973 GetTextExtentPoint32 with NULL title.
4974 (Fx_create_frame): Initialize Qline_spacing.
4975 (w32_load_system_font): Initialize font->double_byte_p.
4976 (x_to_w32_charset): Use Vw32_charset_info_alist.
4977 (Image, busy cursor, tooltip functions): Merged changes from
4978 xfns.c. Not yet functional on Windows.
4979
4980 * w32gui.h (W32FontStruct): Add double_byte_p member.
4981
4982 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
4983 (emacs_button_translation): Use it.
4984 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
4985 in `mask' to be set.
4986
4987 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
4988 menu strings.
4989
4990 * w32term.c: Format and doc changes to bring closer to xterm.c.
4991 (w32_char_font_type): New enum.
4992 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
4993 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
4994 (w32_encode_char): New function.
4995 (x_encode_char): Removed.
4996 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
4997 x_encode_char and w32_font_is_double_byte.
4998 (x_produce_image_glyph): Use image_ascent.
4999 (x_produce_glyphs): Use new version of w32_per_char_metric and
5000 handle NULL return value. Allow extra line spacing.
5001 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
5002 (w32_get_glyph_overhangs): Remove unicode_p param. Use
5003 w32_font_type member of glyph instead.
5004 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
5005 (fast_find_position): Make sure not to consider rows not visible
5006 in the window.
5007 (w32_read_socket) [WM_MENUSELECT]: Cannot call
5008 w32_menu_display_help with input blocked, as it can abort.
5009 (x_display_and_set_cursor): Choose cursor depending
5010 on buffer-local value of cursor_type.
5011 (x_draw_bar_cursor): Add parameter WIDTH.
5012
5013 * w32term.h (CP_DEFAULT): Define.
5014 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
5015
10fc3187
GM
50162000-05-30 Gerd Moellmann <gerd@gnu.org>
5017
5018 * search.c (Fre_search_forward, Fre_search_backward)
5019 (Fposix_search_backward, Fposix_search_forward): Doc fix.
5020
d0555360
KH
50212000-05-30 Kenichi Handa <handa@etl.go.jp>
5022
5023 * coding.c (detect_coding_iso2022): Fix code for checking
5024 CODING_CATEGORY_MASK_ISO_8_2.
5025
f1ad044f
SM
50262000-05-29 Stefan Monnier <monnier@cs.yale.edu>
5027
5028 * regex.c (PREFETCH_NOLIMIT): New function.
5029 (re_match_2_internal): Use it and adjust the end_match_2 logic.
5030
84ec3b4b
GM
50312000-05-29 Gerd Moellmann <gerd@gnu.org>
5032
66254a13
GM
5033 * syntax.c (find_defun_start): Move test for
5034 open_paren_in_column_0_is_defun_start outside of the loop.
5035
49e70dec
GM
5036 * xdisp.c (redisplay_window): Really switch buffers when
5037 displaying mode lines, and temporarily set selected_frame to the
5038 frame of the window that's redisplayed.
5039
84ec3b4b
GM
5040 * xfaces.c (free_realized_faces): Block/unblock input.
5041 (free_realized_multibyte_face): Ditto.
5042
869a3a14
DL
50432000-05-29 Dave Love <fx@gnu.org>
5044
5045 * textprop.c (Qkeymap): New variable.
5046 (syms_of_textprop): Intern it.
5047
5048 * keymap.c: Include intervals.h.
5049 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
5050
5051 * Makefile.in (keymap.o): Depend on intervals.h.
5052
5053 * keyboard.c (menu_bar_items, tool_bar_items)
5054 (Fexecute_extended_command): Deal with `keymap' property.
5055 (read_key_sequence): Track map from `keymap' property as well as
5056 `local_map'.
5057
5058 * intervals.c (get_local_map): Extra arg to allow looking for
5059 `keymap' too.
5060
5061 * intervals.h (map_property): New enum.
5062 (get_local_map): Extra arg using it.
5063 (Qkeymap): Declare.
5064
84ec3b4b 5065 * lisp.h (get_local_map): Don't declare here.
869a3a14 5066
89d0c844
KH
50672000-05-29 Kenichi Handa <handa@etl.go.jp>
5068
5069 * Makefile.in (callproc.o): Depend on composite.h.
5070
5071 * callproc.c: Include composite.h.
5072 (Fcall_process): Handle composition correctly.
5073
5074 * coding.h (coding_allocate_composition_data): Extern it.
5075 (coding_restore_composition): Likewise.
5076
5077 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
5078 yet allocated, finish decoding with result
5079 CODING_FINISH_INSUFFICIENT_CMP.
5080 (coding_allocate_composition_data): Make it non-static.
5081 (coding_restore_composition): Likewise.
5082
797a084a
EZ
50832000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
5084
5085 * charset.c (syms_of_charset): Revert last change.
5086
cf872af5
EZ
50872000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
5088
5089 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
5090 charsets as unibyte, with 1-column screen width. Sent by Kenichi
5091 Handa.
cf872af5 5092
5b1ae051
EZ
50932000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
5094
5095 * charset.c (syms_of_charset): Set width of character sets
5096 eight-bit-control and eight-bit-graphic to 1 column.
5097
34ec9ebe
GM
50982000-05-26 Gerd Moellmann <gerd@gnu.org>
5099
5100 * config.in (HAVE_SPEED_T): New define.
5101
5102 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
5103 `extern speed_t'.
5104
dd854dc2
DL
51052000-05-26 Dave Love <fx@gnu.org>
5106
5107 * coding.c (shrink_decoding_region): Initialize eol_conversion.
5108
5109 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
5110 (Fsubr_arity): New function.
5111 (syms_of_data): Install them.
5112
ba9f8f95
KH
51132000-05-26 Kenichi Handa <handa@etl.go.jp>
5114
0f3e0672
KH
5115 * charset.c (init_charset_once): Set the table bytes_by_char_head
5116 correctly.
5117
cebefb44
KH
5118 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
5119 the default fontset to what Emacs uses by default.
0f3e0672
KH
5120 (check_registry_encoding): This function deleted.
5121 (Fset_fontset_font): Remove the adhoc condition for the default
5122 fontset. Allow cons in FONTNAME.
cebefb44 5123
0f3e0672
KH
5124 * fns.c (map_char_table): Ignore char-table entries for
5125 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 5126
7a18af49
KR
51272000-05-25 Ken Raeburn <raeburn@gnu.org>
5128
5129 * emacs.c (main): Initialize keyboard syms before initializing
5130 window code, so face names are available.
5131
d2af47df
SM
51322000-05-25 Stefan Monnier <monnier@cs.yale.edu>
5133
5134 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
5135 of an anchor at the beginning of a shy-group.
5136
fc6a6a4e
GM
51372000-05-25 Gerd Moellmann <gerd@gnu.org>
5138
5139 * xdisp.c (handle_invisible_prop): Don't try to skip over
5140 invisible text if end of text is already reached.
5141
005f0d35
DL
51422000-05-25 Dave Love <fx@gnu.org>
5143
02513cdd
DL
5144 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
5145
005f0d35
DL
5146 * coding.c (encode_eol): Add null statement after label.
5147
89f6ca4e
EZ
51482000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
5149
5150 * w16select.c (Fw16_set_clipboard_data): Fix the change from
5151 2000-05-20.
5152
a4e1759e
KH
51532000-05-25 Kenichi Handa <handa@etl.go.jp>
5154
5155 * ccl.c (ccl_driver): Fix previous change.
5156
eacfd7fe
KH
51572000-05-25 Kenichi Handa <handa@etl.go.jp>
5158
46ab33a9
KH
5159 * coding.c (run_pre_post_conversion_on_str): Set point to the
5160 beginning of buffer before calling coding->post_read_conversion.
5161 (decode_coding_string): Give correct args to
5162 run_pre_post_conversion_on_str.
5163 (encode_coding_string): Likewise.
5164
eacfd7fe
KH
5165 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
5166 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
5167 eight-bit-graphic correctly.
5168
f8569325
DL
51692000-05-24 Kenichi HANDA <handa@etl.go.jp>
5170
5171 * fileio.c (Finsert_file_contents): Even if a file is not found,
5172 execute codes for setting up coding system. Call
5173 after-insert-file-functions unconditionally.
5174
04545643
GM
51752000-05-24 Gerd Moellmann <gerd@gnu.org>
5176
5177 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
5178 BSD_PGRPS are not defined.
5179
747d90ea
KH
51802000-05-24 Kenichi Handa <handa@etl.go.jp>
5181
5182 * charset.c (update_charset_table): Accept nil in LONG_NAME and
5183 DESCRIPTION.
5184 (syms_of_charset): Avoid building same strings.
5185
716e3b88
GM
51862000-05-23 Gerd Moellmann <gerd@gnu.org>
5187
5188 * lread.c (Fload): Add a comment about the meaning of
5189 Vuser_init_file being t.
5190
5191 * puresize.h (BASE_PURESIZE): Increase to 675000.
5192
5193 * s/gnu-linux.h (setpgrp): Don't define it here because this
5194 prevents compilation on GNU/Linux systems with glib 2.2.
5195
5196 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
5197 as setpgid.
427ec082 5198
9aeb39fa
EZ
51992000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
5200
5201 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
5202 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
5203 version.
5204 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
5205
29ced61b
KH
52062000-05-23 Kenichi Handa <handa@etl.go.jp>
5207
0574a2ed
KH
5208 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE
5209 unconditionally.
5210
3d80f24d
KH
5211 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
5212
5213 * term.c (encode_terminal_code): Set coding->src_multibyte
5214 properly.
5215
29ced61b
KH
5216 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
5217
d7e00792
KH
52182000-05-22 Kenichi Handa <handa@etl.go.jp>
5219
c9d80d38
KH
5220 * keyboard.c (read_char): Allow character codes 128..255 to be
5221 handled by input-method-function.
5222
d7e00792
KH
5223 * insdel.c (adjust_markers_for_replace): Fix previous change.
5224 (adjust_after_replace): If PREV_TEXT is nil, call
5225 adjust_markers_for_insert, not adjust_markers_for_replace.
5226
087121cc 52272000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 5228
087121cc
GM
5229 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
5230 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
5231 [HAVE_GRANDPT]: Define.
5232 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
5233
5234 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
5235 like SYSV_PTYS.
5236
5237 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
5238
5239 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
5240
c9671f81
KH
52412000-05-20 Kenichi Handa <handa@etl.go.jp>
5242
5243 The following changes are to handle 8-bit characters in a
5244 multibyte buffer/string without facing with byte combining
5245 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
5246 eight-bit-graphic (for 0xA0..0xFF) are introduced.
5247
5248 * Makefile.in (fns.o): Depend on charset.h.
5249
5250 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
5251 convert it to unibyte.
5252 (make_string): Use parse_str_as_multibyte, not chars_in_text.
5253
5254 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
5255 apparent char boundary.
5256 (Fset_buffer_multibyte): Convert 8-bit characters in the range
5257 0x80..0x9F to/from multibyte form.
5258
5259 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
5260 to unibyte.
5261
5262 * callproc.c (Fcall_process): Always encode an argument string if
5263 it is multibyte. Setup src_multibyte and dst_multibyte members of
5264 process_coding properly.
ce75fd23 5265
c9671f81
KH
5266 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
5267 SPLIT_NON_ASCII_CHAR.
5268
5269 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
5270 as is.
5271 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
5272
5273 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New
5274 variables.
5275 (SPLIT_CHARACTER_SEQ): This macro deleted.
5276 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is
5277 valid.
5278 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
5279 and eight-bit-graphic.
5280 (char_to_string): Likewise. Signal an error for too large
5281 character code.
5282 (char_printable_p): Return 0 for 8-bit characters.
5283 (update_charset_table): Update iso_charset_table only when a final
5284 character is non-negative.
5285 (find_charset_in_text): Renamed from find_charset_in_str.
5286 Arguments and return value changed. Callers changed.
5287 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
5288 be -1 if CHARSET is used only internally.
5289 (Fmake_char_internal): Handle new charsets; eight-bit-control and
5290 eight-bit-graphic.
5291 (Fcharset_after): Simplified.
5292 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
5293 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
5294 (multibyte_chars_in_text): Simplified by assuming there's no
5295 invalid multibyte sequence.
5296 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte,
5297 str_as_unibyte): New functions.
5298 (Fstring): Simpified by assuming that byte combining never
5299 happens.
5300 (init_charset_once): Initialization for
5301 LEADING_CODE_8_BIT_CONTROL.
5302 (syms_of_charset): Intern and staticpro Qeight_bit_control and
5303 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
5304 eight-bit-control and eight-bit-graphic.
5305
5306 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL,
5307 CHARSET_8_BIT_GRAPHIC): New macros.
5308 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
5309 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
5310 (CHARSET_REVERSE_CHARSET): Likewise.
5311 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
5312 eight-bit-graphic.
5313 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
5314 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
5315 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
5316 encounter an invalid multibyte sequence.
5317 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
5318 sequence is always valid.
5319 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
5320 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New
5321 macros.
5322 (CHAR_STRING): For 8-bit characters, call char_to_string.
5323 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
5324 multibyte sequence is always valid.
5325 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
5326 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte,
5327 str_as_unibyte): Extern them.
5328 (BCOPY_SHORT): Fix a bug.
5329 (CHAR_LEN): This macro deleted. Callers changed to use
5330 CHAR_BYTES.
5331 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
5332 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
5333 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
5334
bd4bde7f 5335 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81
KH
5336 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
5337 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE,
5338 EMIT_BYTES): New macros.
5339 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII,
5340 DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
5341 macros deleted.
5342 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
5343 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
5344 check the validity of multibyte sequence.
5345 (decode_coding_emacs_mule): New function.
5346 (encode_coding_emacs_mule): New macro.
5347 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
5348 the source.
5349 (DECODE_ISO_CHARACTER): Just return a character code.
5350 (DECODE_COMPOSITION_START): Set coding->result instead of result.
5351 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
5352 EMIT_CHAR to produced decoded characters. Exit the loop only by
5353 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
5354 block here.
5355 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
5356 only position codes for an invalid character.
5357 (encode_designation_at_bol): Return new destination pointer. 5th
5358 arg DSTP is changed to DST.
5359 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
5360 from the source by ONE_MORE_CHAR. Don't handle the case of last
5361 block here.
5362 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
5363 macros deleted.
5364 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8,
5365 detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
5366 TWO_MORE_BYTES to fetch a byte from the source.
5367 (encode_eol): Pay attention to coding->src_multibyte.
5368 (detect_coding, detect_eol): Preserve members src_multibyte and
5369 dst_multibyte.
5370 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
5371 (encoding_buffer_size): Set magnification to 3 for all coding
5372 systems that require encoding.
5373 (ccl_coding_driver): For decoding, be sure that the result is
5374 valid multibyte sequence.
5375 (decode_coding): Initialize coding->errors and coding->result.
5376 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
5377 and raw-text, always call decode_eol. Handle the case of last
5378 block here. If not coding->dst_multibyte, convert the resulting
5379 sequence to unibyte.
5380 (encode_coding): Initialize coding->errors and coding->result.
5381 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
5382 and raw-text, always call encode_eol. Handle the case of last
5383 block here.
5384 (shrink_decoding_region, shrink_encoding_region): Detect cases
5385 that we can't skip data more rigidly.
5386 (code_convert_region): Setup src_multibyte and dst_multibyte
5387 members of coding. For decoding, if the buffer is multibyte,
5388 convert the source sequence to unibyte in advance. For encoding,
5389 if the buffer is multibyte, convert the resulting sequence to
5390 multibyte afterward.
5391 (run_pre_post_conversion_on_str): New function.
5392 (code_convert_string): Deleted and divided into the following two.
5393 (decode_coding_string, encode_coding_string): New functions.
5394 (code_convert_string1, code_convert_string_norecord): Call one of
5395 above.
5396 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
5397 MAKE_NON_ASCII_CHAR.
5398 (Fset_terminal_coding_system_internal,
5399 Fset_safe_terminal_coding_system_internal): Setup src_multibyte
5400 and dst_multibyte members.
5401 (init_coding_once): Initialize iso_code_class with new enum
5402 ISO_control_0 and ISO_control_1.
5403
5404 * coding.h (enum iso_code_class_type): Member ISO_control_code is
5405 devided into ISO_control_0 and ISO_control_1.
5406 (struct coding_system): New members src_multibyte, dst_multibyte,
5407 errors, and result. Delete member fake_multibyte.
5408 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
5409 nonzero.
5410 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
5411 nonzero.
5412
5413 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
5414 (Faset): Likewise.
5415
5416 * editfns.c (Fformat): Be sure to convert 8-bit characters to
5417 multibyte form.
5418 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
5419 combining occurs.
5420 (Ftranspose_region): Delete codes for handling byte combining.
5421
5422 * fileio.c (Finsert_file_contents): Setup src_multibyte and
5423 dst_multibyte members of coding. On handling REPLACE on unibyte
5424 buffer, convert the result of decode_coding to unibyte. On
5425 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 5426 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
5427 multibyteness of the source (buffer or string).
5428
5429 * fns.c (concat): Handle 8-bit characters correctly.
5430 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
5431 unibyte in the result.
5432 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
5433 valid multibyte form in the result.
5434 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
5435 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
5436 return -1, signal an error.
5437 (base64_encode_1): New arg MULTIBYTE. Get each character by
5438 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
5439 character is found, return -1.
5440 (Fbase64_decode_region): Delete codes for handling byte-combining.
5441 Treat each decoded byte as a unibyte character.
5442 (Fbase64_decode_string): Return unibyte string.
5443 (Fcompare_strings, concat, string_byte_to_char): Use
5444 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
5445 FETCH_STRING_CHAR_ADVANCE.
5446 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
5447 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
5448
5449 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
5450 SPLIT_NON_ASCII_CHAR.
5451 (fontset_ref_via_base, fontset_set): Likewise
5452
5453 * insdel.c (adjust_markers_for_record_delete): Deleted.
5454 (adjust_markers_for_insert): Argument changed. Caller changed.
5455 (adjust_markers_for_replace): Likewise.
5456 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error,
5457 CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
5458 (copy_text): Delete unused local varialbe c_save. For converting
5459 to multibyte, be sure to make all 8-bit characters in valid
5460 multibyte form.
5461 (count_size_as_multibyte): Handle 8-bit characters correctly.
5462 (insert_1_both, insert_from_string_1, insert_from_buffer_1,
5463 adjust_after_replace, replace_range, del_range_2)
5464 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
5465 (insert_1_both, insert_from_string_1, insert_from_buffer_1,
5466 adjust_after_replace, replace_range, del_range_2) Delete codes for
5467 handling byte combining.
5468 (adjust_before_replace): Deleted.
427ec082 5469
c9671f81
KH
5470 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
5471 SPLIT_NON_ASCII_CHAR.
5472 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
5473 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE
5474 unconditionally.
5475 (Fkey_description): Likewise.
5476
5477 * lread.c (read1): On reading multibyte string, be sure to make
5478 all 8-bit chararacters in valid multibyte form.
5479 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
5480
5481 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
5482 unconditionally.
5483
5484 * process.c (Fstart_process): GCPRO current_dir before calling
5485 Ffind_operation_coding_system. Encode arguments here.
5486 (create_process): Don't encode arguments here. Setup
5487 src_multibyte and dst_multibyte members of struct coding.
5488 (read_process_output): Setup src_multibyte and dst_multibyte
5489 members of struct coding. If the output is to multibyte buffer,
5490 always decode the output of the process. Adjust the
5491 representation of 8-bit characters to the multibyteness of the
5492 output.
5493 (send_process): Setup coding->src_multibyte according to the
5494 multibyteness of the source.
5495
5496 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE
5497 unconditionally.
5498 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
5499 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
5500
5501 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of
5502 CHAR_LEN.
5503
5504 * w16select.c (Fw16_set_clipboard_data): Setup members
5505 src_multibyte and dst_multibyte of coding. Adjusted for the
5506 change for find_charset_in_str.
5507 (Fw16_get_clipboard_data): Likewise.
5508
5509 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
5510 dst_multibyte of coding.
5511 (x_to_w32_font): Likewise.
5512
5513 * w32select.c (Fw32_set_clipboard_data): Setup members
5514 src_multibyte and dst_multibyte of coding. Adjusted for the
5515 change for find_charset_in_str.
5516 (Fw32_get_clipboard_data): Likewise.
5517
5518 * xdisp.c (get_next_display_element): Handle 8-bit characters
5519 correctly.
5520 (next_element_from_display_vector): Use CHAR_BYTES instead of
5521 CHAR_LEN.
5522 (disp_char_vector): Use SPLIT_CHAR instead of
5523 SPLIT_NON_ASCII_CHAR.
5524
5525 * xselect.c (selection_data_to_lisp_data): Setup members
5526 src_multibyte and dst_multibyte of coding. Adjusted for the
5527 change for find_charset_in_str.
5528 (lisp_data_to_selection_data): Likewise.
5529
5f64c9e0
GM
55302000-05-19 Gerd Moellmann <gerd@gnu.org>
5531
2b63d473
GM
5532 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed
5533 buffer.
5534
5f64c9e0
GM
5535 * dispextern.h (Vimage_types): Add extern declaration.
5536
5537 * xdisp.c (Vimage_types): Moved here from xfns.c.
5538 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
5539
5540 * xfns.c (Vimages_types): Moved to xdisp.c.
5541 (syms_of_xfns): Move `image-types' to xdisp.c.
5542
5543 * w32fns.c (Vimage_types): Removed.
5544 (syms_of_w32fns): Remove `image-types'.
5545
813086ea
KH
55462000-05-18 Kenichi Handa <handa@etl.go.jp>
5547
5548 * fns.c (map_char_table): Pay attention to character number of
5549 charset. Check the validity of charset at the first level. For
5550 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
5551 the default value.
5552
5553 * fontset.c: Include "buffer.h".
5554 (fs_load_font): If the face has fontset, record the face ID in
5555 that fontset.
5556 (Finternal_char_font): New function.
5557 (accumulate_font_info): New function.
5558 (Ffontset_info): Rewritten for the new fontset implementation.
5559 (syms_of_fontset): Register Vdefault_fontset in the first element
5560 of Vfontset_table. Include Vdefault_fontset in
5561 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
5562 function.
5563
bdaebbf0
DL
55642000-05-16 Dave Love <fx@gnu.org>
5565
5566 * m/iris5d.h: Deleted -- unused.
5567
cb613bb8
GM
55682000-05-16 Gerd Moellmann <gerd@gnu.org>
5569
b15f3b77
GM
5570 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
5571 `invalid' instead of `illegal'.
5572
5573 * indent.c (Fmove_to_column): When ending within a tab, insert
5574 spaces first so that markers at the end of the tab get adjusted.
5575
835c1b36
GM
5576 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
5577 buffer list that wasn't selected in that frame.
5578
cb613bb8
GM
5579 * filelock.c (get_boot_time): To obtain an 8 char file name, which
5580 is needed on mescaline, use a 2 char prefix, and call
5581 make_temp_name with second arg non-zero.
5582
5583 * fileio.c (make_temp_name): New function, extracted from
5584 Fmake_temp_name.
5585 (Fmake_temp_name): Use it.
5586
f685bea9
EZ
55872000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
5588
5589 * window.c (coordinates_in_window): Subtract 1 when computing
5590 right_x.
5591
a1b8d58b
GM
55922000-05-15 Gerd Moellmann <gerd@gnu.org>
5593
5594 * Makefile.in (lisp): Add env.elc.
5595
5596 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
5597
a265079f
GM
55982000-05-12 Gerd Moellmann <gerd@gnu.org>
5599
5600 * search.c (Freplace_match): Handle case of `\N' in the
5601 replacement when there's no group N.
5602
da4496b6
GM
56032000-05-11 Gerd Moellmann <gerd@gnu.org>
5604
0ace421a
GM
5605 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
5606 of the message to message_dolog.
5607
1172eb8d
GM
5608 * keyboard.c (read_char): Don't clear current message for help
5609 events; let the code handling help events handle this. Change
5610 code detecting help events that should be ignored.
5611
da4496b6
GM
5612 * xdisp.c (handle_single_display_prop): Don't try to set PT if
5613 we're interating over a string.
5614
0623e40f
DL
56152000-05-09 Dave Love <fx@gnu.org>
5616
5617 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
5618 that offset before writing. Move gcpro region past call of
5619 Ffile_regular_p.
5620
bae2503b
DL
56212000-05-04 Dave Love <fx@gnu.org>
5622
5623 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
5624
ec82fb2f
GM
56252000-05-04 Gerd Moellmann <gerd@gnu.org>
5626
5627 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
5628 of inserted characters when BUF equals the current buffer, and PT
5629 is in front of or equal to FROM.
5630
cbf18892
GM
56312000-05-03 Gerd Moellmann <gerd@gnu.org>
5632
4ff40dd0
GM
5633 * xdisp.c (handle_single_display_prop): If display property value
5634 is invalid, or something not supported on the frame, restore
5635 iterator's position to what it was initially. Make sure to return
5636 0 for invalid and unsupported property values.
5637
cbf18892
GM
5638 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
5639 that x_per_char_metric returns null.
5640
1b0672c3
GM
56412000-05-02 Gerd Moellmann <gerd@gnu.org>
5642
576da55d
GM
5643 * xterm.h (struct face): Add forward declaration.
5644 (struct image): Ditto.
5645 (image_ascent): Add prototype.
5646
5647 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
5648 (x_draw_image_relief, x_draw_image_foreground_1): Call function
5649 image_ascent instead of using IMAGE_ASCENT.
5650
5651 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
5652 (IMAGE_ASCENT): Removed.
5653
5654 * xfns.c (Qcenter): New variable.
5655 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
5656 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
5657 (image_ascent): New function.
5658 (lookup_image): Recognize `:ascent center'.
5659 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5660 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
5661 (xbm_load): Don't set image's ascent here.
5662 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
5663 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
5664 check ascent values here.
5665 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
5666 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
5667 (syms_of_xfns): Initialize Qcenter.
5668
1b0672c3
GM
5669 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
5670 to the limits, increase the limits.
5671
0d7811ed
KH
56722000-05-01 Kenichi Handa <handa@etl.go.jp>
5673
5674 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
5675 Check Vfont_encoding_alist against the full name of the opened
5676 font.
5677
a943a5ca
GM
56782000-04-28 Gerd Moellmann <gerd@gnu.org>
5679
5680 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
5681 taller than the window.
5682
5dba1e29
KH
56832000-04-28 Kenichi Handa <handa@etl.go.jp>
5684
5685 * xfaces.c (realize_x_face): Fix the argument of the second
5686 xassert. BASE_FACE may not be a face for ASCII.
5687
353964e3
GM
56882000-04-27 Gerd Moellmann <gerd@gnu.org>
5689
c76e04a8
GM
5690 * print.c (print_object): Treat print-length < 0 as nil.
5691
5692 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
5693
5694 * s/freebsd.h (TERMCAP_OBJ): Removed.
5695 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
5696
5697 * lread.c (read1): Don't treat period followed by certain
5698 characters as symbol start.
5699
5700 * xfns.c (slurp_file): New function.
5701 (xbm_image_p): Handle case of in-memory XBM files.
5702 (xbm_scan): Rewritten to work on memory buffers instead of files.
5703 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
5704 Work on memory buffers instead of files. If DATA is null test
5705 if buffer looks like an in-memory XBM file.
5706 (xbm_load_image): Renamed from xbm_load_image_file. Work on
5707 memory buffers instead of files.
5708 (xbm_file_p): New function.
5709 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
5710
353964e3
GM
5711 * lread.c (end_of_file_error): New function.
5712 (read1): Call it instead of signaling `end-of-file' directly.
5713
427ec082 5714 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
5715 with Fprinc instead of Fprin1.
5716
24d744ac
KR
57172000-04-26 Ken Raeburn <raeburn@gnu.org>
5718
5719 * window.c (freeze_window_start): Check that minibuffer scroll
5720 window isn't nil before extracting the window structure pointer
5721 from it.
5722
5723 * undo.c (record_delete): If we hit the end of the undo list, stop
5724 picking elements apart.
5725
7464346d
GM
57262000-04-26 Gerd Moellmann <gerd@gnu.org>
5727
5728 * xdisp.c (display_line): If lines are continued, restore
5729 iterator's ascent/descent information to the values before the
5730 first glyph not fitting on the line.
5731
612839b6
GM
57322000-04-25 Gerd Moellmann <gerd@gnu.org>
5733
5734 * xdisp.c (try_window_id) <all changes above window start>: Adjust
5735 positions in glyph matrix. Don't compute new window end
5736 positions.
5737
5738 * dispnew.c (increment_matrix_positions): Renamed from
5739 increment_glyph_matrix_buffer_positions.
5740 (increment_row_positions): Renamed from
5741 increment_glyph_row_buffer_positions.
5742
5743 * dispextern.h: Change names of renamed functions from dispnew.c
5744 in prototypes.
5745
cc181e95
GM
57462000-04-24 Gerd Moellmann <gerd@gnu.org>
5747
abfcc168
GM
5748 * fileio.c (Fdo_auto_save): Create directories for auto-save
5749 list file if necessary.
5750
cc181e95
GM
5751 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
5752 from buffer or frame.
5753 (automatic_hscrolling_p): New variable.
5754 (hscroll_windows): Scroll windows horizontally only if automatic
5755 hscrolling is allowed.
5756 (syms_of_xdisp): New variable `automatic-hscrolling'.
5757
5758 * frame.h (struct frame): Add member extra_line_spacing.
5759
5760 * xfns.c (x_set_line_spacing): New function.
5761 (Fx_create_frame): Set line spacing from resources.
5762 (Qline_spacing): New variable.
5763 (syms_of_xfns): Initialize Qline_spacing.
427ec082 5764
cc181e95
GM
5765 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
5766
5767 * buffer.c (init_buffer_once): Handle extra_line_spacing.
5768 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 5769 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
5770 extra_line_spacing from default value.
5771 (init_buffer_once): Initialize default value of extra_line_spacing.
5772
5773 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
5774 and extra3.
5775
5776 * xterm.c (x_produce_glyphs): Remove reference to struct it's
5777 prompt_width. Add extra line spacing.
5778
5779 * term.c (produce_glyphs): Remove reference to struct it's
5780 prompt_width.
5781
5782 * dispextern.h (struct it): Remove member prompt_width, add
5783 extra_line_spacing.
5784
58827478
GM
57852000-04-22 Gerd Moellmann <gerd@gnu.org>
5786
5787 * dispnew.c (update_frame_line): When writing a whole line, make
5788 sure cursor is in the right row afterwards, otherwise a use of
5789 capability `ch' in cmgoto might leave the cursor in the row below.
5790
25a87f42
GM
57912000-04-21 Gerd Moellmann <gerd@gnu.org>
5792
5793 * lisp.h (struct Lisp_Buffer_Cons): Remove.
5794
5795 * keyboard.c (timer_check): Fix typo in comment.
5796
54edf5c2
KH
57972000-04-21 Kenichi Handa <handa@etl.go.jp>
5798
5799 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
5800 name change: ch -> character.
5801
3a64eef5
GM
58022000-04-20 Gerd Moellmann <gerd@gnu.org>
5803
5804 * keyboard.c (echo_message_buffer): New variable.
5805 (echo_now): Set echo_message_buffer to the echo area buffer used
5806 to display the echo.
5807 (cancel_echoing): Reset echo_message_buffer to nil.
5808 (read_char): Code rewritten that handles canceling an echo or
5809 echoing a dash, respectively.
5810
5811 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
5812 directory doesn't exist.
5813
6142fdcb
DL
58142000-04-19 Dave Love <fx@gnu.org>
5815
5816 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
5817 (concat): Don't allow numeric args.
5818 (Fconcat): Doc change.
6142fdcb 5819
ac6b5352
SM
58202000-04-19 Stefan Monnier <monnier@cs.yale.edu>
5821
5822 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
5823 instead define end_match(1|2) more carefully.
5824 Use GET_CHAR_BEFORE_2 for `begline'.
5825
cb9215e4
GM
58262000-04-19 Gerd Moellmann <gerd@gnu.org>
5827
5e3dac3f
GM
5828 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
5829 on 64-bit systems where NULL is defined as `0'.
5830
5831 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
5832 the `variable argument list' to make it work on Alpha.
5833
cb9215e4
GM
5834 * m/alpha.h (_LP64) [!_LP64]: Define.
5835 (ORDINARY_LINK): Define for NetBSD.
5836
5837 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 5838
f532dca0
DL
58392000-04-19 Dave Love <fx@gnu.org>
5840
c750667e
DL
5841 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
5842 change.
5843
5844 * Makefile.in (LIBS): Don't use.
5845 (GETLOADAVG_OBJ): Define again.
5846 (otherobj): Add GETLOADAVG_OBJ.
5847
f532dca0
DL
5848 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
5849
1c7e22fd
GM
58502000-04-18 Gerd Moellmann <gerd@gnu.org>
5851
f6d3257b
GM
5852 * lread.c (read_filtered_event): Cancel and start busy cursor.
5853
427ec082 5854 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
5855 that the per-character metrics may be null.
5856
e10f64e7
GM
58572000-04-17 Gerd Moellmann <gerd@gnu.org>
5858
0daee095
GM
5859 * buffer.c (clone_per_buffer_values): New function.
5860 (Fmake_indirect_buffer): Add optional argument CLONE. Call
5861 clone_per_buffer_values if CLONE is not nil.
5862
e10f64e7
GM
5863 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
5864
38687d43
DL
58652000-04-16 Dave Love <fx@gnu.org>
5866
5867 * Makefile.in: Remove obsolete localcpp stuff.
5868 (GETLOADAVG_OBJ): Don't define.
5869 (obj): Move LIBOBJS...
5870 (otherobj): ... to here.
5871 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
5872 whitespace-only lines after the continuation (Irix).
5873
c21c7262
GM
58742000-04-14 Gerd Moellmann <gerd@gnu.org>
5875
5876 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
5877
5878 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
5879
314767c0
DL
58802000-04-14 Dave Love <fx@gnu.org>
5881
5882 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
5883 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
5884 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
5885 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
5886 NLIST_STRUCT.
5887
5888 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
5889 autoconfiscated HAVE_GETLOADAVG.
5890
5891 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
5892 BROKEN_MKTIME.
5893
a2522dca
GM
58942000-04-14 Gerd Moellmann <gerd@gnu.org>
5895
5896 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
5897 (fill_in_lock_file_name): Avoid existing files that aren't
5898 links.
5899
33744b5d
DL
59002000-04-14 Dave Love <fx@gnu.org>
5901
c21c7262 5902 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
5903 (INTERVAL_SRC): Convert to make variable.
5904 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
5905 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
5906 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
5907 add LIBOBJS.
5908 (SOME_MACHINE_OBJECTS): Remove interval stuff.
5909 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
5910 (shortlisp): Add facemenu, float-sup, frame.
5911 (SOME_MACHINE_LISP): Remove them from here.
5912 (LIBES): Change unused LDLIBS to autoconf LIBS.
5913
5914 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
5915
9d3d5916
KH
59162000-04-14 Kenichi Handa <handa@etl.go.jp>
5917
5918 * composite.c (update_compositions): If FROM and TO are not in a
5919 valid range, do nothing.
5920
198e3c7a
GM
59212000-04-13 Gerd Moellmann <gerd@gnu.org>
5922
5923 * tparam.c (tparam1): Abort when encountering an unknown
5924 `%'-specifier.
5925
5926 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as
5927 terminfo.o.
5928
5929 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
5930 as TERMCAP_OBJ.
5931
055a28c9
EZ
59322000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
5933
5934 * fileio.c (a_write): Remove redundant semi-colons.
5935 (e_write): Return -1 if failed to write all the data.
5936 This fixes the changes made at 1999-12-15.
5937
f5c75033
DL
59382000-04-12 Dave Love <fx@gnu.org>
5939
5940 * fns.c (mapcar1): Test for null vals to support mapc.
5941 (Fmapc): New function.
5942
0c3cfc51
EZ
59432000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
5944
5945 * msdos.c (NUM_MOUSE_BUTTONS): Define.
5946 (IT_frame_up_to_date): Support the buffer local value of
5947 cursor-type, if defined.
5948
33465a31
DL
59492000-04-10 Dave Love <fx@gnu.org>
5950
5951 * editfns.c (preceding-char, following-char): Doc fix.
5952
6ed56568
KR
59532000-04-10 Ken Raeburn <raeburn@gnu.org>
5954
5955 * Makefile.in (temacs): Revert 2000-03-12 change.
5956
7cf80d4e
JR
59572000-04-10 Jason Rumney <jasonr@gnu.org>
5958
5959 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
5960
34f3f342
GM
59612000-04-10 Gerd Moellmann <gerd@gnu.org>
5962
1a1b1895
GM
5963 * xdisp.c (setup_echo_area_for_printing): Choose an echo
5964 area buffer, if it's not set up yet.
5965
34f3f342
GM
5966 * indent.c (compute_motion): Set immediate_quit.
5967
be0dbdab
GM
59682000-04-09 Gerd Moellmann <gerd@gnu.org>
5969
c45be9ac
GM
5970 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New
5971 variable.
5972 (realize_tty_face): Suppress boldness if colors are the inverse of
5973 the default colors, and tty_suppress_bold_inverse_default_colors_p
5974 is set.
5975 (Ftty_suppress_bold_inverse_default_colors): New function.
5976 (syms_of_xfaces): Defsubr it.
5977
be0dbdab
GM
5978 * buffer.c (Frestore_buffer_modified_p): New function.
5979 (syms_of_buffer): Defsubr it.
5980
e8413c3b
KR
59812000-04-08 Ken Raeburn <raeburn@gnu.org>
5982
87f67317
KR
5983 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
5984 charset id (int) argument, not a charset (Lisp_Object).
5985
e8413c3b
KR
5986 * coding.h (code_convert_string): Declare.
5987 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
5988 object, as the fourth argument to code_convert_string.
5989
5990 * fontset.c (make_fontset_for_ascii_face): Use XINT on return
5991 value.
5992 (Fset_fontset_font): Use EQ to compare lisp objects.
5993
7c752c80
KR
59942000-04-05 Ken Raeburn <raeburn@gnu.org>
5995
c0333abc
KR
5996 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
5997 a pointer that looks like a lisp object.
5998 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
5999 zero, instead see whether it's an integer object, since they can't
6000 have intervals.
6001 (GET_INTERVAL_OBJECT): Simply assign to the destination.
6002
7c752c80
KR
6003 * dispnew.c (allocate_matrices_for_frame_redisplay,
6004 direct_output_forward_char): Use X(U)INT and make_number as needed
6005 to convert between (unsigned) int values and lisp integers.
6006 * keyboard.c (read_key_sequence): Likewise.
6007 * lread.c (substitute_object_recurse): Likewise.
6008 * fns.c (concat, hash_lookup, hash_remove): Likewise.
6009 * minibuf.c (do_completion, Fminibuffer_complete_word,
6010 Fminibuffer_completion_help): Likewise.
6011 * term.c (produce_special_glyphs): Likewise.
6012
6013 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
6014 * print.c (print_preprocess, print_object): Likewise.
6015
6016 * search.c (compile_pattern): Use NILP when checking for nil.
6017
74e49b38
KR
6018 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
6019 __OPTIMIZE__]: Provide a GNU C macro version that handles
6020 lisp-object unions.
6021 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
6022 field, to better cope with ENABLE_CHECKING and calls that modify a
6023 Lisp_Object using its old value.
6024
685e5ed2
GM
60252000-04-04 Gerd Moellmann <gerd@gnu.org>
6026
c407c570
GM
6027 * window.c (compare_window_configurations): Signal an error
6028 if parameters C1 or C2 aren't window configurations.
6029
685e5ed2
GM
6030 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
6031 AFTER_POTENTIAL_GC calls around calls to functions that can
6032 signal an error and thus invoke the debugger.
6033
587a49ab
GM
60342000-04-03 Gerd Moellmann <gerd@gnu.org>
6035
62f20204
GM
6036 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
6037 an error if decoding fails.
6038
587a49ab
GM
6039 * keyboard.c (lispy_mouse_names): Variable removed.
6040 (Vlispy_mouse_stem): New variable.
6041 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
6042 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
6043 for any mouse button number. Increase size of mouse_syms and
6044 button_down_location as needed. Call modify_event_symbol with
6045 different arguments.
6046 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
6047 Call modify_event_symbol with different arguments.
6048 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
6049 for any button number. Call modify_event_symbol with different
6050 arguments.
6051 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
6052 Accept a string for NAME_ALIST_OR_STEM.
6053
6054 * lisp.h (larger_vector): Add prototype.
6055
6056 * fns.c (larger_vector): Make externally visible.
6057
6058 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
6059
2d1675e4
SM
60602000-04-02 Stefan Monnier <monnier@cs.yale.edu>
6061
6062 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
6063 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
6064 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
6065 we are between str1 and str2.
6066 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
6067 (PATFETCH): Use `TRANSLATE'.
6068 (PATFETCH_RAW): Fetch multibyte char if applicable.
6069 (PATUNFETCH): Remove.
6070 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
6071 When writing a char, write it directly into the pattern buffer rather
6072 than going needlessly through a temp char-array.
6073 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
6074 multibyte magic and remove the useless `#ifdef emacs'.
6075 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
6076 buffer.
6077
6078 * regex.h (struct re_pattern_buffer): Make field `multibyte'
6079 conditional on `emacs'.
6080
6081 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
6082
cc2d8c6b
KR
60832000-04-01 Ken Raeburn <raeburn@gnu.org>
6084
6085 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
6086 non-union-type versions of XMARK and friends here, because XMARK
6087 and friends won't work on an integer field if NO_UNION_TYPE is not
6088 defined.
6089 (make_number): Define as a function if it's not defined as a
6090 macro.
6091
09654086
KR
6092 * composite.c (run_composite_function): Use NILP when checking for
6093 nil.
6094 (syms_of_composite): Delete local var NARGS, pass an int as first
6095 argument to Fmake_hash_table.
6096
2387b382
KR
6097 * editfns.c (text_property_stickiness): Use NILP to test
6098 Lisp_Object boolean value.
6099 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
6100 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
6101 problems reading from and changing the same lisp value in an
6102 XSETSTRING call.
6103
27660e89
GM
61042000-04-01 Gerd Moellmann <gerd@gnu.org>
6105
6106 * term.c (TN_no_color_video): New variable.
6107 (term_init): Intitialize TN_no_color_video.
6108 (enum no_color_bit): New enumeration.
6109 (MAY_USE_WITH_COLORS_P): New macro.
6110 (turn_on_face): Use it to determine if attributes may be used
6111 combined with colors.
6112
3578db3c
KR
61132000-04-01 Ken Raeburn <raeburn@gnu.org>
6114
6115 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
6116 with int lvalues via casts; instead, just yield lisp object
6117 lvalues.
6118 (enlarge_window): Variable sizep now points to Lisp_Object. Use
6119 proper accessor macros.
6120 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
6121 (grow_mini_window): Fix typo getting int value of root->height.
6122
6fc556fd
KR
6123 * xdisp.c (compute_string_pos): Fix order of arguments to
6124 string_pos_nchars_ahead.
6125 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
6126 count arg to variable-arg routines like Frun_hook_with_args and
6127 Fformat.
587a49ab
GM
6128 (back_to_previous_visible_line_start)
6129 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
6130 fixed-arg routines like Fget_char_property and Fmake_string.
6131 (reconsider_clip_changes): Use XINT when comparing integer lisp
6132 objects, or passing them as int arguments.
587a49ab
GM
6133 (mark_window_display_accurate, insert_left_trunc_glyphs)
6134 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
6135 storing or passing integer values as lisp objects.
6136 (set_cursor_from_row, highlight_trailing_whitespace): Use
6137 INTEGERP, not implicit test against zero, for glyph object.
6138 (try_window_id): Don't use make_number when we want an int value.
6139
6140 * xfaces.c (xlfd_symbolic_value): Make last argument a
6141 Lisp_Object, to be consistent with callers.
6142 (Fbitmap_spec_p): Use XINT to get numeric value of height.
6143 (lface_hash): Apply XFASTINT to lisp values before folding in.
6144
6145 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
6146 fill in window width and height. Pass an int, not a lisp object,
6147 as first arg to Finsert.
6148
6e7b2457
GM
61492000-04-01 Gerd Moellmann <gerd@gnu.org>
6150
610d841e
GM
6151 * xfaces.c (realize_basic_faces): Block input while realizing
6152 the faces.
6153
6e7b2457
GM
6154 * keyboard.c (lispy_mouse_names): Add additional mouse names.
6155
6156 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
6157
aa110c0c
GM
61582000-03-31 Gerd Moellmann <gerd@gnu.org>
6159
6160 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 6161 or ASCII, handle case that per-char metric is null.
aa110c0c 6162
8801a864
KR
61632000-03-30 Ken Raeburn <raeburn@gnu.org>
6164
c6129d7e
KR
6165 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
6166
8801a864
KR
6167 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW,
6168 XSUBR, XBUFFER): Verify correct object type before returning
6169 pointer, using eassert.
6170 * frame.h (XFRAME): Likewise.
6171
6172 * buffer.c (Frename_buffer, Fset_buffer_multibyte,
6173 swap_out_buffer_local_variables, Fmove_overlay): Don't apply
6174 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong
6175 type.
6176 * data.c (set_internal): Likewise.
6177 * dispextern.h (WINDOW_WANTS_MODELINE_P,
6178 WINDOW_WANTS_HEADER_LINE_P): Likewise.
6179 * fileio.c (auto_save_1): Likewise.
6180 * insdel.c (check_markers): Likewise.
6181 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
6182 * undo.c (record_insert): Likewise.
6183 * vmsproc.c (child_sig): Likewise.
6184 * window.c (unshow_buffer, window_loop): Likewise.
6185 * xterm.c (x_erase_phys_cursor): Likewise.
6186
8e7af858
GM
61872000-03-30 Gerd Moellmann <gerd@gnu.org>
6188
6189 * xfns.c (free_image_cache): Free the cache structure itself
6190 last, after all its members have been freed.
6191
6192 * lisp.h (xstrdup): Add prototype.
6193
6194 * alloc.c (xstrdup): Moved here from xfaces.c.
6195 (allocating_for_lisp): Variable removed.
6196 (lisp_malloc): Block input around the calls to malloc and
6197 mem_insert.
6198
6199 * xfaces.c (realize_tty_face): Use find_symbol_value instead
6200 of Fsymbol_value.
6201 (xstrdup): Moved to alloc.c.
6202
e0b8c689
KR
62032000-03-29 Ken Raeburn <raeburn@gnu.org>
6204
b96f9fb7
KR
6205 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
6206
6207 * emacs.c (main): Fix sense of no-loadup test.
6208
e0b8c689
KR
6209 * config.in (ENABLE_CHECKING): Undef.
6210
6211 * lisp.h (struct interval): Replace "parent" field with a union of
6212 interval pointer and Lisp_Object; add new bitfield to use as
6213 discriminant. Change other flag fields to bitfields.
6214 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
6215 is defined and the supplied test fails, print a message and
6216 abort.
6217 (eassert): New macro. Use CHECK to provide an assert-like
6218 facility.
6219
6220 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
6221 pointers; abort if the value looks like a lisp object.
6222 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT,
6223 SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
6224 Modify for new interval parent definition.
6225
6226 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE,
6227 UNMARK_BALANCE_INTERVALS): Update references that need an
6228 addressable lisp object in the interval structure.
6229 (die): New function.
6230 (suppress_checking): New variable.
6231
6232 * intervals.c (interval_start_pos): Just return 0 if there's no
6233 parent object.
6234
f83c5440
GM
62352000-03-29 Gerd Moellmann <gerd@gnu.org>
6236
6237 * lread.c (read1): Accept `.' (period) as symbol start like in CL
6238 and earlier Emacs versions.
6239
6240 * keyboard.c (Ftop_level): Cancel busy-cursor.
6241
6242 * eval.c (call_debugger): Cancel busy-cursor.
6243
fdce64ff
KH
62442000-03-29 Kenichi Handa <handa@etl.go.jp>
6245
6246 * search.c (Freplace_match): Adjust multibyteness of the current
6247 buffer and NEWTEXT. Free allocated memory before signaling an
6248 error.
6249
f6a3f532
SM
62502000-03-28 Stefan Monnier <monnier@cs.yale.edu>
6251
6252 * regex.c (analyse_first): New function obtained by ripping out most
6253 of re_compile_fastmap and generalizing it a little bit so that it
6254 can also just return whether a given (sub)pattern can match the empty
6255 string or not.
6256 (regex_compile): Use `analyse_first' to decide whether the loop-check
6257 needs to be done or not for *, +, *? and +? (the loop check is costly
6258 for non-greedy repetition).
6259 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
6260
e9b309ac
DL
62612000-03-28 Dave Love <fx@gnu.org>
6262
bb15bd9a
DL
6263 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k,
6264 alpha.
6265
e9b309ac
DL
6266 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
6267
ed0767d8
SM
62682000-03-27 Stefan Monnier <monnier@cs.yale.edu>
6269
6270 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
6271 an expression.
6272 (enum re_opcode_t): Update description of succeed_n.
6273 (PATFETCH): Always define.
6274 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
6275 operators, char classes, shy-groups and intervals).
6276 Optimize special cases of intervals so as to only use succeed_n and
6277 jump_n when really needed.
6278 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
6279 that we don't have to handle the special cases any more.
6280 Simplify on_failure_jump handling as well.
6281
e11e7e46
JR
62822000-03-28 Jason Rumney <jasonr@gnu.org>
6283
6284 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
6285
88faab89
GM
62862000-03-27 Gerd Moellmann <gerd@gnu.org>
6287
182ff242
GM
6288 * s/freebsd.h (GC_SETJMP_WORKS): Define.
6289
6290 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 6291
182ff242
GM
6292 * alloc.c (mark_maybe_object): New function.
6293 (mark_memory): Use it.
6294 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
6295 (setjmp_tested_p, longjmp_done): New variables.
6296 (test_setjmp): New function.
6297 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
6298 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
6299
c1005d06
GM
6300 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
6301 to DEC_TEXT_POS and INC_TEXT_POS.
6302
6303 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
6304 with parameter MULTIBYTE_P.
6305
427ec082 6306 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter
c1005d06
GM
6307 MULTIBYTE_P.
6308
7439e5b9 6309 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
6310 buffers because it looks for multibyte character byte sequences
6311 which don't exist in unibyte text.
7439e5b9 6312
d9c545da
GM
6313 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
6314
11fd416e 6315 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
6316 [DEBUG_X_COLORS]: New functions.
6317 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
6318
6319 * xfns.c (x_set_cursor_color): Get color reference counts right.
6320
6321 * xterm.c (x_copy_color): New function.
6322 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
6323
6324 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
6325 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
6326 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
6327 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
6328 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
6329 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
6330 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
6331 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
6332 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
6333 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
6334
11fd416e
GM
6335 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
6336 names for handling per-buffer variables.
d9c545da
GM
6337
6338 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
6339 instead of MAX_BUFFER_LOCAL_VARS.
6340 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
6341
6342 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
6343
88faab89
GM
6344 * xfns.c (x_specified_cursor_type): New function.
6345 (x_set_cursor_type): Use it.
6346
6347 * buffer.h (struct buffer): Add cursor_type.
6348
d80f42b7
SM
63492000-03-26 Stefan Monnier <monnier@cs.yale.edu>
6350
6351 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
427ec082 6352 (print_partial_compiled_pattern, re_compile_fastmap): Handle new
88faab89 6353 opcode.
d80f42b7
SM
6354 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
6355 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
6356 executing it as well as when popping it off the stack to find infinite
6357 loops in non-greedy repetition operators.
6358
89e80928
GM
63592000-03-26 Gerd Moellmann <gerd@gnu.org>
6360
3d4ff2dd
GM
6361 * doc.c (Qfunction_documentation): New variable.
6362 (syms_of_doc): Initialize Qfunction_documentation.
6363 (Fdocumentation): If FUNCTION is a symbol with non-nil
6364 `function-documentation' property, return a documentation derived
6365 from that.
6366
bd96bd79
GM
6367 * buffer.c (syms_of_buffer): Add default-cursor-type.
6368 (init_buffer_once): Don't let cursor_type have a local value
6369 in every buffer.
6370
19d1bc27
GM
6371 * xterm.c (x_display_and_set_cursor): Choose cursor depending
6372 on buffer-local value of cursor_type.
6373 (x_draw_bar_cursor): Add parameter WIDTH.
6374
6375 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
6376 (init_buffer_once): Set default cursor_type value to t.
6377 Mark cursor_type as local everywhere.
6378 (syms_of_buffer): New per-buffer variable cursor-type.
6379
89e80928
GM
6380 * buffer.h (struct buffer): Remove member local_var_flags,
6381 add local_flags.
6382 (MAX_BUFFER_LOCAL_VARS): New macro.
6383 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
6384 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
6385 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
6386 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
6387
6388 * print.c (print_object): Use new macros for per-buffer
6389 variables.
6390
6391 * category.c (Fset_category_table): Use new macros for per-buffer
6392 variables.
6393
6394 * buffer.c (buffer_permanent_local_flags): Make a char array.
6395 (max_buffer_local_idx): New variable.
6396 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
6397 for new handling of per-buffer variables.
6398 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
6399 (init_buffer_once): Initialize per-buffer vars differently.
6400 Set max_buffer_local_idx.
6401
6402 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
6403 variables.
6404
6405 * lread.c (defvar_per_buffer): Use new macros for per-buffer
6406 variables.
6407
6408 * data.c (do_symval_forwarding, store_symval_forwarding)
6409 (find_symbol_value, set_internal, default_value, Fset_default)
6410 (Fkill_local_variable, Flocal_variable_p): Use new macros for
6411 per-buffer variables.
6412
6413 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
6414
9a0dd3dc
GM
64152000-03-24 Gerd Moellmann <gerd@gnu.org>
6416
b68c375f
GM
6417 * xterm.c (x_term_init): Unblock input around call1 of
6418 Qvendor_specific_keysyms.
6419
9a0dd3dc
GM
6420 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
6421 (find_defun_start): Consider an open parenthesis in column 0
6422 a defun start only if open_paren_in_column_0_is_defun_start is set.
6423 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
6424
7973e637
SM
64252000-03-24 Stefan Monnier <monnier@cs.yale.edu>
6426
6427 * eval.c (Fautoload): Add entry in load-history (if after dump).
6428 * lread.c (load-history): Update docstring.
6429
39210e90
GM
64302000-03-24 Gerd Moellmann <gerd@gnu.org>
6431
6432 * indent.c (Fvertical_motion): Always use the current buffer.
6433 Temporarily change the window's buffer, if necessary.
6434
72db3ab5
GM
64352000-03-23 Gerd Moellmann <gerd@gnu.org>
6436
6437 * xterm.c (fast_find_position): Make sure not to consider rows
6438 not visible in the window.
6439
990b2375
SM
64402000-03-22 Stefan Monnier <monnier@cs.yale.edu>
6441
6442 * regex.c (enum syntaxcode): Provide default for non-Emacs.
6443 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
6444
ff4df011
JR
64452000-03-22 Jason Rumney <jasonr@gnu.org>
6446
6447 * w32menu.c (single_submenu): Set help string to NULL if none.
6448 (w32_menu_show): Set help string correctly.
6449 (add-menu-item): Set help string in MIIM_DATA for menu item.
6450 Load SetMenuItemInfoA explicitly.
6451 (w32_menu_display_help): New function.
427ec082 6452
ff4df011
JR
6453 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
6454 (QCdata): Moved to xdisp.c.
6455
6456 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
6457 (Vw32_charset_to_codepage_alist): Removed.
6458 (Vw32_charset_info_alist): New variable.
6459 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312,
6460 chinesebig5, oem, easteurope, turkish, baltic, russian, arabic,
6461 greek, hebrew, thai, johab, mac, unicode]): New symbols.
6462 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
6463 with TODO comment.
6464 (w32_codepage_for_font): Use Vw32_charset_info_alist.
6465 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
6466 Define Vw32_charset_info_alist and w32_charset symbols.
6467
64682000-03-22 Jason Rumney <jasonr@gnu.org>
6469
6470 * makefile.nt (w32bdf.obj): Update dependencies.
6471
6472 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
6473
6474 * w32fns.c: Include fontset.h after dispextern.h.
6475 (Fx_create_frame): Do not create fontset.
6476 (w32_load_system_font): Doc fix.
6477 (Fx_close_connection): Free full_name if it is not shared.
6478
6479 * w32term.c: Include fontset.h after dispextern.h.
6480 (x_get_glyph_face_and_encoding): New parameter two_byte_p. Callers
6481 updated.
6482 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
6483 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
6484 (w32_font_is_double_byte): New function, needs body.
6485 (x_append_glyph): Set glyph->glyph_not_available_p.
6486 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
6487 it->charset. If it->multibyte_p is zero and it->c is a multibyte
6488 character, convert it to a unibyte character.
6489 (struct glyph_string): Delete member `charset'.
6490 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
6491 calculating it is found.
6492 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
6493 the case that per char metric is not available correctly.
6494 (x_fill_glyph_string): Handle the case that the specific glyph is
6495 not available correctly.
6496 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
6497 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
6498 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
6499 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
6500 fontset. Don't call FS_LOAD_FONT.
6501
439d5cb4
KR
65022000-03-22 Ken Raeburn <raeburn@gnu.org>
6503
6504 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
6505 (INT_LISPLIKE): New macro.
6506 (NULL_INTERVAL_P): Use it.
6507 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT,
6508 SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT,
6509 GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
6510
6511 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
6512 explicit references to "parent" field of struct interval and
6513 associated unclean type conversions.
6514 * intervals.c (create_root_interval, root_interval, rotate_right,
6515 rotate_left, balance_possible_root_interval, split_interval_right,
6516 split_interval_left, interval_start_pos, find_interval,
6517 next_interval, previous_interval, update_interval,
6518 adjust_intervals_for_insertion, delete_node, delete_interval,
6519 adjust_intervals_for_deletion, merge_interval_right,
6520 merge_interval_left, reproduce_tree, graft_intervals_into_buffer,
6521 copy_intervals_to_string): Likewise.
6522 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
6523 Likewise.
6524 * syntax.c (update_syntax_table): Likewise.
6525
6526 * intervals.c (reproduce_tree_obj): New function, like
6527 reproduce_tree but takes a Lisp_Object for the parent. Declare
6528 with prototype.
6529 (graft_intervals_into_buffer): Use it when appropriate.
6530 (reproduce_tree): Declare with prototype.
6531 (balance_possible_root_interval): Check that the parent is a lisp
6532 object before trying to examine its type.
6533
ee1c5b21
GM
65342000-03-22 Gerd Moellmann <gerd@gnu.org>
6535
6536 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
6537 as strings only if both are known to be strings.
6538
6539 * s/openbsd.h (LIBS_TERMCAP): Undef.
6540
1fb352e0
SM
65412000-03-21 Stefan Monnier <monnier@cs.yale.edu>
6542
6543 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
6544 definitions for non-Emacs compilation.
6545 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
6546 outside of `#ifdef emacs'.
6547 (print_partial_compiled_pattern): Update.
6548 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
6549 (re_compile_fastmap): Merge handling of charset and charset_not (for
6550 emacs and non-emacs compilation as well).
6551 Similarly for (not)categoryspec and (not)syntaxspec.
6552 Don't use the fastmap when reaching `anychar' since the added
6553 complexity is not justified.
6554 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
6555 and (not)syntaxspec. Merge (not)categoryspec.
6556
fdaa1f77
KH
65572000-03-22 Kenichi Handa <handa@etl.go.jp>
6558
ff1a0d8e
KH
6559 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P,
6560 FACE_FOR_CHAR): Define them differently for the configuration of
6561 --without-x.
fdaa1f77 6562
d152fb46
DL
65632000-03-21 Dave Love <fx@gnu.org>
6564
6565 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
6566 doc string.
6567
d2cafc8c
GM
65682000-03-21 Gerd Moellmann <gerd@gnu.org>
6569
6570 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
6571 (lface_fully_specified_p): Don't check contents of
6572 LFACE_FONT_INDEX because that attribute is optional.
6573 (realize_x_face): Remove now unwarranted xassert.
6574
9111d4b5
KH
65752000-03-21 Kenichi HANDA <handa@etl.go.jp>
6576
6577 The following changes are to make font selection based on
6578 characters, not charset. In addition, they recover fontset
6579 facilities while utilizing the new font selection mechanism.
6580
6c4bfdc0
KH
6581 * Makefile.in (fontset.o): Depend on dispextern.h.
6582
6583 * alloc.c (mark_face_cache): Don't mark face->registry.
6584
9111d4b5
KH
6585 * dispextern.h (struct glyph): New member glyph_not_available_p.
6586 Use 22 bits for face_id.
6587 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
6588 (struct face): Delete member registry, new member ascii_face.
6589 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
6590 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
6591 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
6592 (struct it): Delete member charset, new member
6593 glyph_not_available_p.
6594
6595 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
6596 (struct fontset_info, struct fontset_data): Structs removed.
6597 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset,
6598 Vglobale_fontset_alist, font_idx_temp): Externs removed.
6599 (fs_load_font, fs_query_fontset): Adjusted for new argument.
6600 (fs_free_face_fontset, fontset_font_pattern,
6601 face_suitable_for_char_p, face_for_char,
6602 make_fontset_for_ascii_face): Extern them.
6603 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
6604 (FS_LOAD_FACE_FONT): New macro.
6605
6606 * fontset.c: All codes rewritten or adjusted for the change of
6607 fontset implementation. Now fontset is represented by char table.
6608 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl): Variables
6609 removed.
6610 (my_strcasecmp): Function removed.
6611 (Vfontset_table, next_fontset_id, Vdefault_fontset): New
6612 variables.
6613 (AREF, ASIZE): New macros.
6614 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME,
6615 FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF,
6616 FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
6617 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset,
6618 fontset_id_valid_p, font_family_registry, fontset_name,
6619 fontset_ascii, free_face_fontset, face_suitable_for_char_p,
6620 face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
6621 New functions.
6622 (fs_load_font): New arg FACE. Caller changed.
6623 (fs_query_fontset): Argument changed. Caller changed.
6624 (Fquery_fontset): call fs_query_fontset.
6625 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
6626 Functions removed.
6627 (clear_fontset_elements, check_registry_encoding,
6628 check_fontset_name): New functions.
6629 (syms_of_fontset): Set char-table-extra-slots property of fontset
6630 to 3. Staticpro and initialize Vfontset_table and
6631 Vdefault_fontset. Defsubr fontset_font and fontset_list.
6632
6633 * frame.h (struct frame): Member `fontset_data' removed.
6634 (FRAME_FONTSET_DATA): Macro removed.
6635
6636 * frame.c (make_frame): Don't allocate f->fontset_data.
6637 (Fdelete_frame): Don't free f->fontset_data.
6638
6c4bfdc0
KH
6639 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
6640
9111d4b5
KH
6641 * xdisp.c (charset_at_position): Function removed.
6642 (init_iterator): Don't set member charset of struct `it'.
6643 (handle_face_prop, reseat_to_string, set_iterator_to_next,
6644 next_element_from_display_vector, insert_left_trunc_glyphs):
6645 Likewise.
6646 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
6647 FACE_FOR_CHARSET.
6648 (get_next_display_element, append_space,
6649 extend_face_to_end_of_line): Likewise.
6650
6651 * xfaces.c (Qx_charset_registry, Vface_default_registry):
6652 Variables removed.
6653 (clear_font_table, frame_update_line_height, load_face_font):
6654 Adjusted for the change of fontset implementation.
6655 (load_face_fontset_font): Function removed.
6656 (pixel_point_size): New function.
6657 (font_list): Argument type changed. Caller changed.
6658 (LFACE_FONT): New macro.
6659 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
6660 (set_lface_from_font_name): Type of arg FONTNAME is changed to
6661 Lisp_Object. Determine the font name by actually loading a font
6662 by the specified pattern. Set LFACE_FONT (lface) to the specified
6663 pattern. Even if a font is not found, don't try alternatives.
6664 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
6665 (set_font_frame_param): If `font' is specified in lface, use it.
6666 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
6667 (lface_same_font_attributes_p): Likewise.
6668 (make_realized_face): Arguent changed. Caller changed. Set
6669 face->ascii_face to face itself.
6670 (free_realized_face): Free face->fontset if face is for ASCII.
6671 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p,
6672 deduce_unibyte_registry, x_charset_registry): Functions removed.
6673 (free_realized_multibyte_face): New function.
6674 (lookup_face, lookup_named_face, lookup_derived_face): Argument
6675 changed. Caller changed.
6676 (try_font_list): Argument type changed.
6677 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
6678 (choose_face_font): Argument changed. Handle fontset properly.
6679 (choose_face_fontset_font): Function removed.
6680 (realize_default_face, realize_named_face): Don't remove the
6681 former face here.
6682 (realize_face): Argument changed. Caller changed. Remove face
6683 with the arg former_face_id in advance. Load font for the new
6684 face.
6685 (realize_x_face): Argument changed. Caller changed. For a
6686 multibyte character, share fontset with base_face. For a single
6687 byte character, make a new realized fontset. Don't load a font
6688 here.
6689 (realize_tty_face): Argument changed. Caller changed.
6690 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
6691 (face_at_buffer_position): Don't check multibyte_p for returning
6692 DEFAULT_FACE_ID.
6693 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
6694 FACE_SUITABLE_FOR_CHARSET_P.
6695 (syms_of_xfaces): Remove code for Qx_charset_registry and
6696 Vface_default_registry.
6697
6c4bfdc0
KH
6698 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
6699 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
6700 (x_per_char_metric): Don't try FONT->default_char. Even if
6701 pcm->width is zero, glyph bits may exist.
6702 (x_encode_char): Always initialize char2b->byte1.
6703 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
6704 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller
6705 changed.
6706 (x_append_glyph): Set glyph->glyph_not_available_p.
6707 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
6708 it->charset. Handle the case that per char metric is not
6709 available. If it->multibyte_p is zero and it->c is a multibyte
6710 character, convert it to a unibyte character.
6711 (struct glyph_string): Delete member `charset'.
6712 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
6713 the case that per char metric is not available correctly.
6714 (x_fill_glyph_string): Handle the case that the specific glyph is
6715 not available correctly.
6716 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
6717 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
6718 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
6719 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
6720 fontset. Don't call FS_LOAD_FONT.
6721
6722 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
6723 (x_create_tip_frame): Likewise.
6724 (Fx_close_connection): Free full_name of font_info.
6725
6726 * fns.c (optimize_sub_char_table): New function.
6727 (Foptimize_char_table): New function.
6728 (syms_of_fns): Defsubr Soptimize_char_table.
6729
b33dd3b0
GM
67302000-03-20 Gerd Moellmann <gerd@gnu.org>
6731
6732 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
6733 only if buffer is displayed in some window.
6734
6735 * xdisp.c (handle_single_display_prop): Initialize local `value'.
6736 (try_window_reusing_current_matrix): Don't call scroll run
6737 function if run's current and desired position are the same;
6738 this prevents cursor flickering.
6739
4e8a9132
SM
67402000-03-19 Stefan Monnier <monnier@cs.yale.edu>
6741
6742 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
6743
6744 * regex.c (RE_STRING_CHAR): New macro.
6745 (GET_CHAR_AFER_2): Remove.
6746 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
6747 (enum re_opcode_t): Remove on_failure_jump_exclusive.
6748 (print_partial_compiled_pattern, re_compile_fastmap)
6749 (re_match_2_internal): Remove on_failure_jump_exclusive.
6750 (regex_compile): Turn optimizable P+ loops into PP*, so that the
6751 optimization only need to work for * (ie. can use of_keep_string_jump).
6752 Remove the special case for .*\n since it is now covered by the general
6753 optimization.
6754 (re_search_2): Don't bother with `room'.
6755 (skip_one_char): New function.
6756 (skip_noops): Simplify since `memory' is not needed any more.
6757 (mutually_exclusive_p): Restructure slightly to use `switch' and
6758 add handling for "all" remaining cases.
6759 (re_match_2_internal): Change on_failure_jump_smart to use
6760 on_failure_keep_string_jump (and redirect the end-of-loop jump)
6761 rather than on_failure_jump_exclusive.
6762
2136fdd4
GM
67632000-03-19 Gerd Moellmann <gerd@gnu.org>
6764
6765 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
6766 number of bits per RGB because it's everywhere used as the depth
6767 of the visual.
6768
6769 * term.c (calculate_costs): Remove code dealing with X frames.
6770
18e21ce8 67712000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
6772
6773 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
6774
d7b511c4
GM
67752000-03-18 Gerd Moellmann <gerd@gnu.org>
6776
6777 * lread.c (read_integer): Unread the last char not consumed.
6778
16b5d424
GM
67792000-03-17 Gerd Moellmann <gerd@gnu.org>
6780
6781 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 6782 which are in the process of being deleted.
16b5d424 6783
1fa28578
GM
67842000-03-16 Gerd Moellmann <gerd@gnu.org>
6785
83488cce
GM
6786 * Makefile.in (mostlyclean): Add `*.core'.
6787 (clean): Add `bootstrap-emacs'.
6788
1fa28578
GM
6789 * lread.c (read_integer): New function.
6790 (read1): Support read syntax #o, #x, #b, #r.
6791
99633e97
SM
67922000-03-15 Stefan Monnier <monnier@cs.yale.edu>
6793
1fa28578
GM
6794 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
6795 make sure POINTER_TO_OFFSET gives the same value before and after
6796 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
6797 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
6798 (debug): Now only active if > 0 rather than if != 0.
6799 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
6800 (print_partial_compiled_pattern): Add missing `succeed' case. Use
6801 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
6802 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
6803 (store_op1, store_op2, insert_op1, insert_op2)
6804 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
6805 (group_in_compile_stack): Move to after its arg's types are
6806 declared and add a prototype.
99633e97 6807 (PATFETCH): Define in terms of PATFETCH_RAW.
1fa28578
GM
6808 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)'
6809 wrapper.
99633e97 6810 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
6811 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
6812 indentation of the greedy-op and shy-group code.
99633e97
SM
6813 (at_(beg|end)line_loc_p): Fix argument's types.
6814 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
6815 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
6816 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
6817 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
6818 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
6819 QUIT unconditionally.
99633e97 6820
699238d9
GM
68212000-03-15 Gerd Moellmann <gerd@gnu.org>
6822
6823 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
6824 a sole completion.
6825
6826 * process.c (send_process): Add a hint that the function
6827 can call Lisp code to its comment.
6828
6829 * lread.c (load_dangerous_libraries): New variable.
6830 (Vbytecomp_version_regexp): New variable.
6831 (safe_to_load_p): New function.
6832 (Fload): Handle files not compiled with Emacs specially.
6833 (syms_of_lread): New Lisp variable load-dangerous-libraries.
6834
34e23e5a
GM
68352000-03-14 Gerd Moellmann <gerd@gnu.org>
6836
9c763cca
GM
6837 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
6838
6839 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
6840 support functions only if HAVE_X11R6_XIM is defined.
6841 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
6842
6843 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
6844
6845 * xfns.c (X_I18N_INHIBITED): Don't define.
6846 (create_frame_xic): Remove conditional compilation on
6847 X_I18N_INHIBITED.
6848 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
6849
6850 * config.in (HAVE_X_I18N): Moved here from xterm.h.
6851 (HAVE_X11R6_XIM): Define.
6852
6853 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
6854
34e23e5a
GM
6855 * xterm.c (x_term_init): Add support for X resource `synchronous'.
6856 If set, call XSynchronize.
6857
66f0296e
SM
68582000-03-13 Stefan Monnier <monnier@cs.yale.edu>
6859
34e23e5a
GM
6860 * regex.c: Declare a new type `re_char' used throughout the code
6861 for the string char type. It's `const unsigned char' to match the
6862 rest of Emacs. Consistently make sure all pointers to strings use
6863 it and make sure all pointers into the pattern use `unsigned
6864 char'.
66f0296e 6865 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
6866 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
6867 code duplication.
66f0296e
SM
6868
6869 * charset.h (GET_CHAR_AFTER_2): Remove.
6870 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
6871
854a025c
KR
68722000-03-12 Ken Raeburn <raeburn@gnu.org>
6873
6874 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
6875 variable before the invocation of YMF_PASS_LDFLAGS, in case both
6876 of them try to use backquotes.
6877
b9d2c7e2
DL
68782000-03-12 Dave Love <fx@gnu.org>
6879
6880 * unexelf.c: Restore changes of 1999-10-19.
6881 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
6882 fix its type and alignment; copy it from current process.
6883
5e5dff44
GM
68842000-03-12 Gerd Moellmann <gerd@gnu.org>
6885
9b2f3c38
GM
6886 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
6887 has been found. Fix bug not computing timer's predecessor.
6888
427ec082 6889 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
6890 file name.
6891
e1cff360
GM
6892 * window.c (Fsave_window_excursion): Doc fix.
6893
5e5dff44
GM
6894 * xfns.c (x_defined_color): Rewritten to use
6895 x_allocate_nearest_color.
6896
e411ce4b
EZ
68972000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
6898
6899 * msdos.c (vga_installed): New function, code moved from
6900 dos_set_window_size.
6901 (Qbar, Qcursor_type, outside_cursor): New variables.
6902 (syms_of_msdos): Intern and staticpro them.
6903 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
6904 shape used outside Emacs when called for the first time.
6905 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
6906 cursor shape used outside Emacs.
6907 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
6908 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
6909 type has changed.
6910 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
6911 parameters specify the cursor. Make qreverse a global
6912 variable (renamed to Qreverse).
6913
80460654
GM
69142000-03-09 Gerd Moellmann <gerd@gnu.org>
6915
6916 * fns.c (Fy_or_n_p): Cancel busy-cursor.
6917
95cd4c40
SM
69182000-03-08 Stefan Monnier <monnier@cs.yale.edu>
6919
6920 This is a big redesign of failure-stack and register handling, prompted
6921 by bugs revealed when trying to add shy-groups. Overall, what happened
6922 is that loops are now structured a little differently, groups can be
6923 shy and the code is a little simpler.
6924
6925 * regex.h: Update the copyright.
6926 (RE_SHY_GROUPS): New value.
6927 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
6928 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
6929
80460654
GM
6930 * regex.c (enum re_opcode_t): Remove jump_past_alt,
6931 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
6932 on_failure_jump_(exclusive, loop and smart). Also fix the comment
6933 for (start|stop)_memory since they now only take one argument (the
6934 second has becomes unnecessary).
6935 (print_partial_compiled_pattern): Adjust for changes in
6936 re_opcode_t.
6937 (print_compiled_pattern): Use %ld to printf long ints and flush to
6938 make debugging a little easier.
95cd4c40
SM
6939 (union fail_stack_elt): Make the integer unsigned.
6940 (struct fail_stack_type): Add a `frame' element.
6941 (INIT_FAIL_STACK): Init `frame' as well.
6942 (POP_PATTERN_OP): New macro for re_compile_fastmap.
6943 (DEBUG_PUSH, DEBUG_POP): Remove.
6944 (NUM_REG_ITEMS): Remove.
6945 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
6946 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
6947 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 6948 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
80460654
GM
6949 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP): New
6950 macros.
6951 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
6952 address pushed is not the destination of the jump but the source
6953 of it instead.
95cd4c40
SM
6954 (NUM_FAILURE_ITEMS): Remove.
6955 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
6956 registers before the actual failure point). Don't hardcode any
6957 meaning for str==NULL anymore.
95cd4c40 6958 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
6959 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
6960 Remove.
95cd4c40
SM
6961 (REG_UNSET_VALUE): Use NULL (why not?).
6962 (compile_range): Remove declaration since it doesn't exist.
6963 (struct compile_stack_elt_t): Remove inner_group_offset.
6964 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
6965 (regex_grow_registers): Remove dead code.
6966 (FIXUP_ALT_JUMP): New macro.
80460654
GM
6967 (regex_compile): Add shy-groups Change loops to use
6968 on_failure_jump_smart&jump instead of
6969 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
6970 initial (dummy_failure_)jump. Remove c1_base (looks like unused
6971 variable to me). Use `jump' instead of `jump_past_alt' and don't
6972 bother with push_dummy_failure in alternatives since it is now
6973 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
6974 emacs' for (re)allocating the stack.
6975 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
6976 from loop when bufp->can_be_null rather than jumping to `done'.
6977 Avoid jumping backwards so as to ensure termination. Use
6978 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
6979 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 6980 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
6981 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
6982 improve mutually_exclusive_p to handle ".+\n".
6983 (lowest_active_reg, highest_active_reg,
6984 NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
6985 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
6986 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
6987 variables. Push register (in `start_memory') on the stack rather
6988 than storing it in old_reg(start|end). Remove the cycle detection
6989 from `stop_memory', replaced by the use of on_failure_jump_loop
6990 for greedy loops. Add code for the new on_failure_jump_<foo>.
6991 Remove ad-hoc code in `on_failure_jump' to push more registers in
6992 the case of a loop. Take out code from `maybe_pop_jump' into
6993 separate functions and adapt it to the semantics of
6994 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
6995 and push_dummy_failure. Remove dummy_failure handling and
6996 handling of `failures to jump to on_failure_jump' (this last one
6997 was already dead code, it seems).
6998 (group_match_null_string_p, alt_match_null_string_p)
6999 (common_op_match_null_string_p): Remove.
95cd4c40 7000
7397acc4
DL
70012000-03-08 Dave Love <fx@gnu.org>
7002
7003 * config.in: Don't depend on __STDC__ for volatile.
7004 Add POINTER_TYPE, PTR, PROTOTYPES.
7005
7006 * hftctl.c, strftime.c: Use PROTOTYPES.
7007 * eval.c (find_handler_clause): Likewise.
7008
7009 * mem-limits.h: Use POINTER_TYPE.
7010
7011 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
7012 (memory_warnings): Declare using POINTER_TYPE.
7013
5e91ff9e
GM
70142000-03-08 Gerd Moellmann <gerd@gnu.org>
7015
feab4fba
GM
7016 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
7017
25edb08f
GM
7018 * xdisp.c (display_echo_area): Temporarily inhibit garbage
7019 collection.
7020
5e91ff9e
GM
7021 * xfns.c: Remove obsolete code in #if 0.
7022 (Fx_focus_frame): New function.
7023
a735b7e1
KH
70242000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
7025
7026 * coding.c (coding_category_name): Add coding-category-utf-8,
7027 coding-category-utf-16-be, coding-category-utf-16-le.
7028 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
7029 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
7030 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
7031 (detect_coding_utf_8): New function.
7032 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
7033 UTF_16_LOW_SURROGATE_P): New macros.
7034 (detect_coding_utf_16): New function
7035 (detect_coding_mask): When priorities are specified, skip any
7036 categories that have `nil' coding-system. Fix bug of returning
7037 wrong mask when PRIORITIES is specified and detect_coding_XXX()
7038 returns a mask not set in PRIORITIES.
7039 (detect_eol_type_in_2_octet_form): New function.
7040 (detect_eol): selects detect_eol_type_XXX to call according to
7041 cooding->category_idx.
7042 (detect_coding_system): Remove `nil' coding-system in the result.
7043 (Fupdate_coding_systems_internal): Update all coding-categories.
7044
7045 * coding.h (CODING_CATEGORY_IDX_UTF_8,
7046 CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE): New
7047 macros.
7048 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY,
7049 CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
7050 CODING_CATEGORY_IDX_UTF_16_LE.
7051 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE,
7052 CODING_CATEGORY_MASK_UTF_16_LE): New macros.
7053 (CODING_CATEGORY_MASK_ANY): Include the above macros.
7054 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
7055
9994cc69
GM
70562000-03-07 Gerd Moellmann <gerd@gnu.org>
7057
e9b4e5ff
GM
7058 * doc.c (Fdocumentation_property): If value is not a string,
7059 and doesn't refer to etc/DOC, evaluate it to obtain a string.
7060
f7daf1e1
GM
7061 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
7062 close the display with XtCloseDisplay. This caused a bus error
7063 on OpenWindows.
7064
9994cc69
GM
7065 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
7066 complete but not unique.
7067
4336c705
GM
70682000-03-06 Gerd Moellmann <gerd@gnu.org>
7069
18bb0684
GM
7070 * process.c (send_process): Remove local variable `procname' that
7071 might become invalid when a GC happens. Instead, access the
7072 process name slot directly.
7073
4336c705
GM
7074 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
7075 orig_height if set.
7076
7077 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
7078 orig_height if set.
7079
515d0d0e
EZ
70802000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
7081
7082 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
7083 glyph matrices have been freed.
7084
100b3cbb
GM
70852000-03-05 Gerd Moellmann <gerd@gnu.org>
7086
50df5e5a 7087 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 7088 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
7089
7090 * xfns.c (QCdata): Moved to xdisp.c.
7091
7092 * xdisp.c (QCdata): Moved here from xfns.c.
7093 (syms_of_xdisp): Initialize QCdata.
7094
7095 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
7096
7097 * window.c (coordinates_in_window): Use
7098 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
7099 FRAME_INTERNAL_BORDER_WIDTH.
7100
100b3cbb 7101 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 7102 it is obviously invalid.
100b3cbb
GM
7103
7104 * xterm.c (x_term_init): Create a colormap if not using the
7105 default visual.
7106
7107 * xterm.h (select_visual): Change prototype.
7108
7109 * xfns.c (select_visual): Rewritten. Recognize user-specified
7110 visual classes.
7111 (visual_classes): New variable.
7112
64d739c4
GM
71132000-03-04 Gerd Moellmann <gerd@gnu.org>
7114
7115 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
7116 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
7117 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
7118 (x_decode_color): Don't handle allocation of white and black
7119 specially.
7120 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
7121 XtNcolormap resources.
7122 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
7123 (Fx_create_frame): Initialize color members of x_output structure.
7124 (xpm_load): Pass colormap to XPM lib.
7125
7126 * xfaces.c (x_free_colors): Access colormap of frame using
7127 FRAME_X_COLORMAP. Be paranoid about freeing black and white
7128 when default colormap is used.
7129
7130 * xterm.c (x_term_init): Set Colormap member of x_display_info
7131 structure. Copy colormap if resource `privateColormap' is
7132 specified (PseudoColor only).
7133 (x_setup_relief_color): Access colormap of frame using
7134 FRAME_X_COLORMAP.
7135
7136 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
7137 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
7138
c3cee013
JR
71392000-03-04 Jason Rumney <jasonr@gnu.org>
7140
7141 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
7142 other non-platform-specific equivalents.
64d739c4 7143 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
7144 specific functions and macros as their w32 equivalents where
7145 non-platform-specifics are not available.
7146 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
7147 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
7148 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
7149 (frame_update_line_height): Use macros to access f->output_data.
7150 (defined_color): Remove FIXME comments; fixed.
7151 (x_face_list_fonts, prepare_face_for_display): Put X specifics
7152 into #ifdef blocks. Add WINDOWSNT blocks.
7153 (Fx_list_fonts): Use macros for accessing font data.
7154 (set_lface_from_font_name): Different default fonts for X and
7155 WINDOWSNT.
7156 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
7157 scalable for backward compatibility.
64d739c4 7158 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
7159 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
7160
64d739c4 7161 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
7162 syms_of_w32faces.
7163
7164 * makefile.nt (w32faces.obj): Remove.
7165 (xfaces.obj): Add.
7166
807cc41c
JR
71672000-03-03 Jason Rumney <jasonr@gnu.org>
7168
7169 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
7170 correct parameters.
7171
0007072a
KR
71722000-03-03 Ken Raeburn <raeburn@gnu.org>
7173
7174 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
7175 standard ELF definitions here if the system header does not.
7176
71a6ba55
GM
71772000-03-03 Gerd Moellmann <gerd@gnu.org>
7178
7179 * xterm.c (PER_CHAR_METRIC): Removed.
7180 (x_per_char_metric_1, x_default_char): New functions.
7181 (x_per_char_metric): If font's default char is invalid, return
7182 metrics of a suitably chosen usable default char.
7183 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
7184 char, replace occurrences of unprintable chars with a suitably
7185 chosen usable default char.
71a6ba55 7186
900fa1f1
GM
71872000-03-02 Gerd Moellmann <gerd@gnu.org>
7188
42f55fe0
GM
7189 * xterm.c (note_mouse_highlight): Return quickly if frame's
7190 glyph matrices have been freed.
7191
7192 * dispnew.c (free_glyphs): Block input while freeing matrices.
7193
900fa1f1
GM
7194 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
7195
7196 * xterm.c (x_alloc_lighter_color, x_setup_relief_color): Use
7197 x_free_colors.
7198
7199 * dispextern.h (x_free_colors): Add prototype.
7200
7201 * xfaces.c (x_free_colors): New function.
7202 (unload_color, free_face_colors): Use it.
7203
2f950292
EZ
72042000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
7205
7206 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
7207
7208 * window.c [MSDOS]: Include msdos.h.
7209
54d04320
DL
72102000-03-02 Dave Love <fx@gnu.org>
7211
7212 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
7213
7214 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
7215 set C_OPTIMIZE_SWITCH for gcc.
7216
0ba93ac4
KH
72172000-03-02 Kenichi Handa <handa@etl.go.jp>
7218
7219 * coding.c (coding_save_composition): Be sure to allocate
7220 composition data area in coding even if there's no composition in
7221 the current run.
7222
a2bc11d4
JR
72232000-03-01 Jason Rumney <jasonr@gnu.org>
7224
7225 * w32term.c: Equivalent changes to those made to xterm.c on
7226 2000-02-25 and 2000-02-24.
7227
7228 * w32fns.c: Equivalent changes to those made to xfns.c on
7229 2000-02-25 and 2000-02-21.
7230
7231 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
7232 correct line-end convention is followed.
7233
7234 * w32menu.c [HAVE_BOXES]: Remove #undef.
7235 (single_keymap_panes): Remove code for simulating checkmarks.
7236 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
7237 Remove code for drawing simulated checkmarks.
7238 (w32_menu_show): make unibyte help string correctly.
7239 (add_menu_item): draw standard Windows checkmarks. Draw radio
7240 buttons as radio buttons if possible.
7241
72d19d75
GM
72422000-03-01 Gerd Moellmann <gerd@gnu.org>
7243
2df636f4
GM
7244 * sysdep.c (start_of_text): Don't define this function for NetBSD
7245 with ELF.
7246
427ec082 7247 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
7248 Don't define.
7249 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
7250 (LINKER): Don't undef if __NetBSD__ is defined.
7251
7252 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
7253
7254 * fileio.c [__NetBSD__]: Define `unix'.
7255
72d19d75
GM
7256 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
7257
ed4d0512
GM
72582000-02-29 Gerd Moellmann <gerd@gnu.org>
7259
50b1039f
GM
7260 * atimer.c (start_atimer): Don't abort when timers are stopped.
7261 (append_atimer_lists): New function.
7262 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
7263 arbitrary lists of stopped and running atimers.
7264
ed4d0512
GM
7265 * atimer.c (cancel_atimer): Handle canceling an atimer when
7266 some timers are stopped.
7267
7268 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
7269 after canceling it.
7270
7271 * fns.c (maybe_resize_hash_table): Handle case of new size
7272 coming out as being the same as old size.
7273
387023ee
JR
72742000-02-27 Jason Rumney <jasonr@gnu.org>
7275
7276 * makefile.nt: Add atimer.h to dependencies.
7277 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
7278 * w32console.c: Only disable window system features for dispextern.h
7279 (initialize_w32_display): Build a display info for the console.
7280 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
7281 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
7282 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
7283 as 2 button mice.
7284 * w32gui.h (struct W32FontStruct): Revert last change after change
7285 to xdisp.c.
7286 * w32menu.c (single_submenu): Set up help string.
7287 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
7288 (w32_dialog_show): Set up help string.
7289 * w32term.c (w32_display_info_for_display): Remove unused function.
7290 (w32_draw_bitmap): Use pre-built bitmaps.
7291 (w32_initialize_display_info): New function to initialize parts of
7292 display info that are common to both GUI and console frames.
7293 (w32_term_init): Use w32_initialize_display_info. Do not set
7294 Vw32_num_mouse_buttons here, as it is not called for console
7295 frames. Build bitmaps for indicating truncated lines etc.
7296 (x_delete_display): Destroy pre-built bitmaps.
7297 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
7298 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
7299
4516715a
DL
73002000-02-27 Dave Love <fx@gnu.org>
7301
7302 * lisp.h: Add a bunch of prototypes.
7303
171ca836
KH
73042000-02-26 Kenichi Handa <handa@etl.go.jp>
7305
7306 * keyboard.c (read_char): Set `usec' correctly.
7307
4013921d
KH
73082000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
7309
7310 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
7311 `lambda', set reg[RRR] to the map index.
7312 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
7313 reg[RRR] to 0. Otherwise, set it to -1.
7314
9244a058
GM
73152000-02-25 Gerd Moellmann <gerd@gnu.org>
7316
2df636f4 7317 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 7318
18e21ce8 73192000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 7320
f43d79c1
GM
7321 * fileio.c (Ffile_symlink_p): If result starts with a `/'
7322 and contains a `:', prepend `/:'.
7323
7324 * window.c (select_window_1): If selected_window is nil,
7325 don't "swap out" the buffer's point.
7326 (Fset_window_configuration): Set selected_window to nil
7327 before calling Fselect_window.
7328 (unshow_buffer): Don't set point in buffer from window's point
7329 if another more recently selected window also shows the buffer.
7330
bed0c171
GM
73312000-02-25 Gerd Moellmann <gerd@gnu.org>
7332
449c3c52
GM
7333 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
7334
f5b58615
GM
7335 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
7336 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
7337 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay): New
7338 variables.
7339 (DEFAULT_BUSY_CURSOR_DELAY): New define.
7340 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
7341 (hide_busy_cursor): New functions.
7342 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
7343
7344 * minibuf.c (read_minibuf): Cancel busy-cursor.
7345
7346 * keyboard.c (command_loop_1): Call start_busy_cursor before
7347 Fcommand_execute and cancel_busy_cursor after it.
7348 (timer_check): Remove busy-cursor code.
7349 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
7350 cursor timer.
7351
7352 * process.c (wait_reading_process_input): Remove busy-cursor code.
7353
7354 * eval.c (Fsignal): Call cancel_busy_cursor instead of
7355 Fx_hide_busy_cursor.
7356
7357 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
7358 Remove prototyoes.
7359 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
7360
7361 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
7362
7363 * xterm.c (XTread_socket): Remove busy-cursor code.
7364
4eb8436f
GM
7365 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
7366 (build_frame_matrix_from_leaf_window): Put code handling
7367 glyph row's not being a slice of a frame row in #if 0.
7368 (sync_window_with_frame_matrix_rows): New function.
7369 (frame_row_to_window): New function.
7370 (mirror_line_dance): Handle copies between windows.
7371
3cb65b0e
GM
7372 * lread.c (Fload): Use `xfree' instead of `free'.
7373 (init_obarray): Use `xmalloc' instead of `malloc'.
7374
bed0c171
GM
7375 * window.c (Fset_window_buffer): Set WINDOW to the window
7376 after decoding.
2add4349
GM
7377 (coordinates_in_window): Take frame's internal border width
7378 into account.
bed0c171 7379
42088c12
GM
73802000-02-24 Gerd Moellmann <gerd@gnu.org>
7381
7382 * xterm.c (x_display_and_set_cursor): Display cursor of
7383 non-selected windows depending on the setting of
7384 cursor_in_non_selected_windows.
7385
7386 * xdisp.c (cursor_in_non_selected_windows): New variable.
7387 (syms_of_xdisp): DEFVAR_BOOL it.
7388
d1e103b2
GM
73892000-02-23 Gerd Moellmann <gerd@gnu.org>
7390
723e779c
GM
7391 * data.c (Fstring_to_number): If number is greater than what
7392 fits into an integer, return a float.
7393
d1e103b2
GM
7394 * eval.c (specbind): Remove references to
7395 keyword_symbols_constant_flag.
7396
7397 * data.c (keyword_symbols_constant_flag): Removed.
7398 (Fmakunbound, set_internal, syms_of_data): Remove references to
7399 keyword_symbols_constant_flag.
7400
7401 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
7402
214f877f
KH
74032000-02-23 Kenichi Handa <handa@etl.go.jp>
7404
7405 * syntax.c (multibyte_syntax_as_symbol): New variable.
7406 (syms_of_syntax): Declare it as a Lisp variable.
7407 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
7408 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
7409 nonzero, treat all multibyte characters as symbol.
42088c12 7410 (init_syntax_once): Give syntax `word' to all multibyte
214f877f
KH
7411 characters.
7412
130adcb7
EZ
74132000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
7414
3cb65b0e 7415 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 7416 a deleted frame.
130adcb7 7417
17cbbf95
GM
74182000-02-21 Gerd Moellmann <gerd@gnu.org>
7419
7420 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
7421
7422 * xfns.c (x_window_to_frame, x_any_window_to_frame)
7423 (x_non_menubar_window_to_frame): Check the busy-cursor window.
7424
beb0bc36
DL
74252000-02-21 Dave Love <fx@gnu.org>
7426
7427 * frame.c (Vmouse_position_function): New variable.
7428 (Fmouse_position): Use it.
7429 (syms_of_frame): Install it.
7430
7431 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
7432
1d92afcd
GM
74332000-02-20 Gerd Moellmann <gerd@gnu.org>
7434
7435 * fileio.c (Finsert_file_contents): Unbind the binding of
7436 standard-output done by temp_output_buffer_setup.
329eed9f
GM
7437
7438 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
7439 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
7440 (specbind, unbind_to): Handle most common case of non-constant
7441 symbol with trivial value specially.
7442
7443 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
7444
18e21ce8 74452000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
7446
7447 * data.c (Fmake_variable_buffer_local): Doc fix.
7448 Init found_for_buffer to 0.
7449 (Fmake_variable_frame_local): If the variable has already
7450 been buffer-local, set the check_frame field.
7451
1d4311c3
EZ
74522000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
7453
7454 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
7455 produced for CODING_MODE_LAST_BLOCK requires.
7456
2dc95ddd
DL
74572000-02-18 Dave Love <fx@gnu.org>
7458
7459 * keyboard.c (echo_keystrokes): Remove declaration.
7460 (Vecho_keystrokes) New variable.
7461 (read_char, record_menu_key, read_key_sequence): Use it to allow
7462 use of float value.
7463 (syms_of_keyboard): Change Vecho_keystrokes declaration.
7464
7465 * lread.c: Undef feature selection macros before defining.
7466
f0930f35
GM
74672000-02-18 Gerd Moellmann <gerd@gnu.org>
7468
7469 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
7470 for symbols other than the symbol in question.
7471
e3d4de90
DL
74722000-02-17 Dave Love <fx@gnu.org>
7473
7474 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
7475
0b378936
GM
74762000-02-17 Gerd Moellmann <gerd@gnu.org>
7477
d621caf7
GM
7478 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
7479
0b378936
GM
7480 * alloc.c (enum mem_type): Compile unconditionally.
7481
3b451f74
EZ
74822000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
7483
7484 * xfaces.c (tty_defined_color): Don't return faulire indication
7485 for unspecified-fg and unspecified-bg pseudo-colors.
7486
10689a01
GM
74872000-02-17 Gerd Moellmann <gerd@gnu.org>
7488
1216f5e4
GM
7489 * alloc.c (mark_object): Don't mark symbol names in pure space.
7490 (gc_sweep): Don't unmark symbol names in pure space.
7491
7492 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
7493 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
7494 [GC_MARK_STACK]: New defines.
427ec082 7495 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
7496 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
7497
7498 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
7499
7500 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
7501 allocate_buffer instead of xmalloc.
7502
7503 * alloc.c (toplevel): Include setjmp.h.
7504 (PURE_POINTER_P): New define.
7505 (enum mem_type) [GC_MARK_STACK]: New enumeration.
7506 (Vdead) [GC_MARK_STACK]: New variable.
7507 (lisp_malloc): Add parameter TYPE, call mem_insert if
7508 GC_MARK_STACK is defined.
7509 (allocate_buffer): New function.
427ec082 7510 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
7511 (free_float) [GC_MARK_STACK]: Set type to Vdead.
7512 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
7513 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
7514 (MEM_NIL) [GC_MARK_STACK]: New define.
7515 (struct mem_node) [GC_MARK_STACK]: New structure.
7516 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
7517 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
7518 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
7519 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
7520 (mark_stack) [GC_MARK_STACK]: New functions.
7521 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
7522 (clear_marks): Removed.
7523 (gc_sweep): Set free conses' car, free floats' type, free
7524 symbols' function to Vdead. Use lisp_free to free buffers.
7525 (init_alloc_once): Initialize Vdead.
7526 (survives_gc_p): Return non-zero for pure objects.
7527
7528 * alloc.c: Add comments throughout the file.
7529
2503c8b1
GM
7530 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
7531 that unblocks alarms.
7532
8389e1e2
GM
7533 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
7534 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
7535 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
7536
10689a01 7537 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 7538
bfc17d18
KH
75392000-02-17 Kenichi Handa <handa@etl.go.jp>
7540
4a09dee0
KH
7541 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
7542 avoid infinite error signaling. Allocate sufficient memory for
7543 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 7544
2b927d02
SM
75452000-02-17 Stefan Monnier <monnier@cs.yale.edu>
7546
7547 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
7548 depends on the previous behavior.
7549
b49cb764
GM
75502000-02-16 Gerd Moellmann <gerd@gnu.org>
7551
7552 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
7553
99e95407
GM
75542000-02-15 Gerd Moellmann <gerd@gnu.org>
7555
7556 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
7557
7558 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 7559 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
7560 write(2).
7561
6ffd3cf7
RS
75622000-02-15 Richard M. Stallman <rms@gnu.org>
7563
7564 * data.c (set_internal): Don't make variable buffer-local
7565 if within a let-binding for the same buffer.
7566 (let_shadows_buffer_binding_p): New function.
7567
7568 * eval.c (specbind): For buffer-local value,
7569 record the current buffer also.
7570 (unbind_to): Cope with that change.
7571
cad53475
GM
75722000-02-15 Gerd Moellmann <gerd@gnu.org>
7573
7574 * window.c (Fsave_window_excursion): Doc fix.
7575
1aa963c8
SM
75762000-02-15 Stefan Monnier <monnier@cs.yale.edu>
7577
7578 * syntax.c (back_comment): Make sure we only consider comment-starters
7579 of the relevant style and return -1 in case of a failure to find the
7580 beginning of the comment.
7581 (Fforward_comment): If back_comment fails, go back to the position just
7582 after the comment-end.
7583 (scan_lists): Add comment describing a very minor bug.
7584
b9b84fd3
SM
75852000-02-14 Stefan Monnier <monnier@cs.yale.edu>
7586
7587 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
7588 `completion-regexp-list' in the docstring.
7589
3a28db80
DL
75902000-02-14 Dave Love <fx@gnu.org>
7591
7592 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
7593
fb4a568d
SM
75942000-02-14 Stefan Monnier <monnier@cs.yale.edu>
7595
7596 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
7597 to Emacs' syntax. Also fix the comment about set/not-set meanings
7598 since Emacs syntax is not the value 0 any more.
7599 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
7600 since it's now part of RE_SYNTAX_EMACS.
7601
1063ebb5
DL
76022000-02-12 Dave Love <fx@gnu.org>
7603
7604 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on
7605 Alpha.
7606
fb07a302
GM
76072000-02-12 Gerd Moellmann <gerd@gnu.org>
7608
7609 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
7610
aaf2320c
DL
76112000-02-12 Dave Love <fx@gnu.org>
7612
7613 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
7614
7615 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
7616 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
7617 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
7618
7619 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
7620
7621 * s/nextstep.h: Don't define HAVE_ALLOCA.
7622
7623 * config.in: Add vfork bits.
7624
eedf8bde
GM
76252000-02-12 Gerd Moellmann <gerd@gnu.org>
7626
7627 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
7628 unwind function to undo the effect of stopping atimers.
7629
7630 * keyboard.c (bind_polling_period): Stop all timers except
7631 poll_timer.
7632
7633 * atimer.c (stopped_atimers): New variable.
7634 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
7635 New functions.
7636
7637 * atimer.h (stop_other_atimers, run_all_atimers)
7638 (unwind_stop_other_atimers): Add function prototypes.
427ec082 7639
eedf8bde
GM
7640 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
7641
8476c2f8
KR
76422000-02-11 Ken Raeburn <raeburn@gnu.org>
7643
7644 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
7645 library may depend on jpeg.
7646 (atimer.o): Depends on atimer.c.
7647
0e85e4a3
KH
76482000-02-11 Kenichi Handa <handa@etl.go.jp>
7649
7650 * insdel.c (del_range_1): Call update_compositions.
7651 (del_range_both): Call update_compositions just once..
7652
97fa0cc8
DL
76532000-02-10 Dave Love <fx@gnu.org>
7654
7655 * xfns.c (create_frame_xic): Fix initialization of automatic
7656 aggregates for pcc.
7657
25566a3c
KH
76582000-02-09 Kenichi Handa <handa@etl.go.jp>
7659
7660 * ccl.c (CCL_MAKE_CHAR): New macro.
7661 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
7662 registers by CCL_MAKE_CHAR before calling translate_char.
7663 <CCL_TranslateCharacterConstTbl> Likewise.
7664
69da54ba
DL
76652000-02-08 Dave Love <fx@gnu.org>
7666
7667 * lread.c (__EXTENSIONS__): Define.
7668
f7136ee8
GM
76692000-02-08 Gerd Moellmann <gerd@gnu.org>
7670
7671 * puresize.h (BASE_PURESIZE): Increase to 650000.
7672
7768790b
EZ
76732000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
7674
7675 * msdos.c (XMenuActivate): Turn off the cursor after displaying
7676 the help message.
7677
38fd211b
EZ
76782000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
7679
7680 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
7681 md, mh, mb, mr, and me to the fake termcap entry.
7682
66e4690f
KR
76832000-02-06 Ken Raeburn <raeburn@gnu.org>
7684
7685 * sound.c (sound_cleanup): Don't call device close routine if the
7686 function pointer is null.
7687
a75dfea0
AI
76882000-02-06 Andrew Innes <andrewi@gnu.org>
7689
7690 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
7691 around image definitions and prototypes.
7692 (gamma_correct) [WINDOWSNT]: New prototype.
7693
7694 * w32term.c (x_make_frame_visible): Replace call to
7695 input_poll_signal with poll_for_input.
7696
7697 * window.c [WINDOWSNT]: Include w32term.h.
7698
7699 * xdisp.c [WINDOWSNT]: Include w32term.h.
7700
7701 * makefile.nt: Add dependencies on w32gui.h.
7702 (OBJ1): Include atimer.obj.
7703 ($(BLD)\atimer.obj): New dependency rule.
7704
7705 * w32.c (sigmask): New function (does nothing).
7706 (sigunblock): Ditto.
7707
7708 * frame.c [WINDOWSNT]: Include w32term.h.
7709
7710 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
7711
7712 * lread.c (syms_of_lread): Fix literal newlines.
7713
7714 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
7715 the string constant limit (2048 bytes) in MSVC.
7716 (main): Ditto.
7717
59ddecde
GM
77182000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
7719
7720 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit
7721 area.
7722 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
7723 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
7724 dispatch the event.
7725
07590973
DL
77262000-02-04 Dave Love <fx@gnu.org>
7727
7728 * fileio.c: Remove some unused vars.
7729 (_GNU_SOURCE): Define (for euidaccess).
7730
7731 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
7732
7733 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
7734 gcpro1, gcpro2.
7735 (read_minibuf): Deal with allow_props correctly.
7736
649351f9
EZ
77372000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
7738
7739 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
7740
66e4690f 77412000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
7742
7743 * search.c (compile_pattern): If a cache entry has a nil regexp,
7744 fill in that entry instead of clobbering a previously cached
7745 string regexp.
7746
66e4690f 77472000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
7748
7749 * puresize.h (BASE_PURESIZE): Increase to 610000.
7750
d240a249
GM
77512000-02-02 Gerd Moellmann <gerd@gnu.org>
7752
7753 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
7754 can GC.
7755
ca91fb26
KH
77562000-02-02 Kenichi Handa <handa@etl.go.jp>
7757
25660570
KH
7758 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
7759 instead of incrementing ic directly.
7760 <CCL_WriteExprConst> Likewise.
7761 <ccl_set_expr>: Set ic to jump_address.
7762
ca91fb26
KH
7763 * fileio.c (e_write): Fix the handling of
7764 CODING_FINISH_INSUFFICIENT_SRC.
7765
2ede9689
DL
77662000-02-01 Dave Love <fx@gnu.org>
7767
7768 * editfns.c (Fpropertize): Doc fix.
7769
7770 * process.c (Fstart_process): Doc fix.
7771
7772 * eval.c: Fix various doc strings not to duplicate information
7773 from help-manyarg-func-alist.
7774
7775 * window.c (Fset_window_margins): Don't make interactive. Doc
7776 fix.
7777
7778 * doc.c (Vhelp_manyarg_func_alist): New variable.
7779 (Fdocumentation): Use it.
7780 (syms_of_doc): Define it.
7781
b6680a0e
GM
77822000-01-31 Gerd Moellmann <gerd@gnu.org>
7783
2cb750ba
GM
7784 * xterm.c (xim_open_dpy): Remove unused local variable.
7785
74e9213b
GM
7786 * emacs.c (USAGE): Use term `display options' instead of `X
7787 options'.
7788
7789 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
7790 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
7791
b6680a0e
GM
7792 * fns.c (sweep_weak_table): New function.
7793 (sweep_weak_hash_tables): Use it. Keep on marking until there
7794 is no more change.
7795
994c5afe
GM
77962000-01-30 Gerd Moellmann <gerd@gnu.org>
7797
7798 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
7799 that XTread_socket does not crash by trying to call XNoOp on a
7800 closed display.
427ec082 7801
f00276e3
JR
78022000-01-30 Jason Rumney <jasonr@gnu.org>
7803
7804 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
7805 Change selected_frame to SELECTED_FRAME ().
7806 (w32_console_mouse_position): Remove #ifndef MULE from around
7807 `insist' parameter.
7808
7809 * makefile.nt: Remove dosfns.obj.
7810
7811 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
7812
7813 * w32fns.c (w32_defined_color): Check for valid frame before
7814 applying gamma correction. Eliminate dependency on frame elsewhere.
7815 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
7816 (w32_to_x_font): Use resx and resy not height_in and width_in.
7817 (x_to_w32_font): Doc fix.
7818 (xlfd_strip_height): New function to strip and return font height.
7819 (w32_font_match): Compare height separately from rest of xlfd
7820 spec, using xlfd_strip_height.
7821
7822 * w32term.c (w32_term_init): Swap resx and height_in, resy and
7823 width_in. Use w32_defined_color in place of defined_color.
7824
7825 * w32faces.c: Merge more of DOS and X specifics in preparation for
7826 merge with xfaces.c.
7827 (defined_color): Remove FIXME comment.
7828 (tty_color_name): Provide w32-specific function.
7829 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
7830
7831 * w32console.c (turn_on_face, turn_off_face): Removed.
7832 (w32_face_attributes): New function.
7833 (Global_variables): Reduce scope where possible.
7834 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
7835 fill attribute.
7836 (hl_mode): Don't modify text attributes.
7837 (write_glyphs): Don't do anything if len <= 0. Use
7838 w32_face_attributes to get attributes for drawing. Write
7839 terminating codes using char_attr_normal.
7840 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
7841 (update_begin, update_end): Likewise.
7842 (vga_stdcolor_name): New function.
7843 (initialize_w32_display): Remove char_attr_reverse and char_attr.
7844 (Fset_screen_color): Remove char_attr_reverse.
7845
b08e8bb2
GM
78462000-01-29 Gerd Moellmann <gerd@gnu.org>
7847
7848 * xfns.c (xic_set_preeditarea): Take window parameter and
7849 window-relative pixel-positions.
7850
7851 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
7852 is its frame's selected window.
7853 (xim_instantiate_callback): Likewise.
7854
7855 * xfns.c (x_create_im): Removed.
7856 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
7857 (supported_xim_styles): Renamed from supported_styles.
7858 (best_xim_style): Renamed from best_style.
7859 (create_frame_xic): Renamed from xic_create_frame.
7860 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 7861
b08e8bb2
GM
78622000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
7863
7864 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
7865 our frames, call XFilterEvent with 2nd parameter `None'.
7866 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
7867 returning XBufferOverflow.
7868 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status
7869 area.
7870 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
7871 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
7872 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
7873 (xim_initialize, xim_close)
7874 [HAVE_X_I18N && HAVE_X11R6]: New functions.
7875 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
7876 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
7877 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
7878
7879 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
7880 and `xim_styles'.
7881 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
7882 `xic_style' and `xic_xfs'.
7883 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
7884 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
7885 (FRAME_XIM): Removed.
7886
7887 * xfns.c (supported_styles): New variable.
7888 (DEFAULT_STYLE, DEFAULT_FONT): New macros
7889 (xic_create_xfontset, best_style, xic_create_frame)
7890 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
7891 (xic_set_xfontset): New functions.
7892
142e109c
DL
78932000-01-28 Dave Love <fx@gnu.org>
7894
7895 * s/irix6-5.h: Revert last change after change to irix5-0.h.
7896
7897 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
7898
b02786f9
GM
78992000-01-28 Gerd Moellmann <gerd@gnu.org>
7900
d060bc9f
GM
7901 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
7902 for *scratch* if it already existed.
7903
b02786f9
GM
7904 * emacs.c (USAGE): New macro.
7905 (main): Use it to display usage information.
7906
2c52d7e4
EZ
79072000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
7908
7909 Support for the menu-help feature:
7910
7911 * msdos.h: Change prototypes of XMenuAddSelection and
7912 XMenuActivate.
7913
7914 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
7915 part of the line to the termscript file.
7916 (IT_clear_to_end): Clear the entire line, not just its beginning.
7917 (menu_help_message, prev_menu_help_message): New variables.
7918 (IT_menu_make_room): Make room for the help_text member.
7919 (IT_menu_display): New argument disp_help; all callers changed.
7920 If disp_help is non-zero, store the help text of the active menu
7921 item in menu_help_message.
7922 (XMenuAddPane): Initialize the help_text member to NULL.
7923 (XMenuAddSelection): New argument help_text. Store it in the
7924 XMenu structure.
7925 (XMenuActivate): New argument help_callback. If the value of
7926 menu_help_message has changed since the last time, display the
7927 menu help message text while waiting for the mouse to move. Clear
7928 the echo area before exiting.
7929 (XMenuDestroy): Free the help_text member.
7930
ffe0bcd1
GM
79312000-01-27 Gerd Moellmann <gerd@gnu.org>
7932
7933 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
7934 XMenuAddSelection. Pass help callback to XMenuActivate.
7935 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
7936
50dbd23f
EZ
79372000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
7938
7939 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
7940 and EMACS_SET_USECS.
7941
f5941bf8
GM
79422000-01-26 Dave Love <fx@gnu.org>
7943
6c67ddee
DL
7944 * editfns.c (Fchar_after, Fchar_before): Doc fix.
7945
f5941bf8
GM
7946 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
7947 an error may be signalled.
7948
9e49c990
GM
79492000-01-26 Gerd Moellmann <gerd@gnu.org>
7950
fc3cb460
GM
7951 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
7952 LD_SWITCH_SYSTEM inherited from irix5-0.h.
7953
9e49c990
GM
7954 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
7955
d0c037d8
GM
79562000-01-25 Gerd Moellmann <gerd@gnu.org>
7957
7958 * charset.c (Fstring): If there is a multibyte char among
7959 the args, always return a multibyte string.
7960
e12489f9
GM
79612000-01-25 Gerd Moellmann <gerd@gnu.org>
7962
7963 * sysdep.c (sys_select): Turn atimers off and on instead of
7964 recording and restoring old alarm handler
7965
7966 * process.c (toplevel): Include atimer.h.
7967 (create_process_1): Rewritten.
7968 (create_process): Use atimers instead of alarm.
7969 (wait_reading_process_input) [hpux]: Turn atimers off instead
7970 of turning off SIGALRM.
7971 (wait_reading_process_input): Turn off atimers instead off
7972 calling stop_polling.
7973
7974 * emacs.c (main): Call init_atimer.
7975
7976 * keyboard.c (toplevel): Include systime.h and atimer.h.
7977 (polling_for_input): Removed because unused.
7978 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
7979 (poll_timer): New variable.
7980 (poll_for_input, poll_for_input_1): New functions.
7981 (start_polling, stop_polling): Rewritten.
7982
7983 * keyboard.h (polling_for_input): Removed.
427ec082 7984
e12489f9
GM
7985 * atimer.h, atimer.c: New files.
7986
7987 * Makefile.in (obj): Add atimer.o.
7988 (atimer.o): New target.
7989
7990 * blockinput.h (pending_atimers): Add extern declaration.
7991 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
7992
7993 * lisp.h (popup_activated_flag): Add extern declaration.
7994
7995 * xmenu.c (popup_activated_flag): Make externally visible.
7996 (popup_activate_callback) [USE_MOTIF]: Increment
7997 popup_activated_flag.
7998 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
7999
8000 * xterm.c (toplevel): Include atimer.h.
8001 (toolkit_scroll_bar_interaction): New variable.
8002 (Fxt_process_timeouts): Removed.
8003 (x_process_timeouts): New function.
8004 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
8005 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
8006 (x_make_frame_visible): Call poll_for_input_1 instead of
8007 input_poll_signal. Don't call alarm.
8008 (x_initialize): Install timer calling x_process_timeouts.
427ec082 8009
1e5279b9
DL
80102000-01-24 Dave Love <fx@gnu.org>
8011
6c67ddee 8012 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
8013 Don't use -cckr -- apparently not now necessary.
8014
edf6aeb8
EZ
80152000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
8016
8017 * msdos.c (IT_menu_display): Truncate long menu lines at the right
8018 screen boundary.
8019
9badad41
JR
80202000-01-23 Jason Rumney <jasonr@gnu.org>
8021
8022 * w32fns.c (w32_defined_color): Apply gamma correction before
8023 trying to map to the palette.
8024 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
8025 to w32_clear_rect.
8026
8027 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
8028 here. Callers changed to always pass real device context.
8029 (w32_draw_bitmap): Likewise.
8030 (w32_get_glyph_overhangs): Likewise.
8031 (w32_draw_box_rect): Make use of s->hdc rather than getting a new
8032 one.
8033 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
8034 pfnSetScrollInfo and SetScrollRange.
8035 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
8036 back into MULE characters after decoding them.
8037 (x_get_glyph_face_and_encoding): Likewise.
8038 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
8039 GetCharABCWidthsW fails, since this is defined on Windows 9x.
8040 (x_produce_glyphs): Calculate per char metrics for a character
8041 that we know exists in default font when font_not_found_p is true.
8042
63bd786b
JR
80432000-01-22 Jason Rumney <jasonr@gnu.org>
8044
8045 * makefile.nt (intervals.obj, composite.obj): New modules.
8046 (composite.h): Added as dependency where appropriate.
8047
8048 * w32gui.h (XGCValue): New struct for emulating X GCs.
8049
8050 * w32term.h (XCharStruct): New struct for emulating X.
8051
8052 * w32console.c (turn_on_face, turn_off_face): New functions.
8053 (change_line_highlight): New prototype for new redisplay.
8054 (write_glyphs): Support multibyte text. Support faces.
8055
8056 * w32faces.c: Complete rewrite for new redisplay based on new
8057 xfaces.c.
8058
8059 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
8060 throughout. struct frame * in place of FRAME_PTR.
8061 Skeleton support for images, toolbars, tooltips from xfns.c.
8062 (Fx_create_frame): Use system default for default scroll bar
8063 width.
8064 (w32_get_arg): Renamed from x_get_arg.
8065 (Fx_file_dialog): New function.
8066 (w32_list_fonts): Check cache before asking system.
8067 (Vw32_enable_synthesized_fonts): New variable.
8068 (Vw32_enable_italics): Obsolete, removed.
8069
8070 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
8071 Use SELECTED_FRAME macro.
8072
8073 * w32menu.c: Add skeleton support for help strings on menus.
8074 (add_menu_item): Native checkbox and radio support added, but not
8075 yet enabled due to bugs.
8076 (push_menu_item): Add parameters type, selection and help.
8077 Callers updated.
8078 Formatting changes to reduce unnecessary diffs with xmenu.c.
8079
8080 * w32select.c (Fw32_set_clipboard_data): Update call to
8081 find_charset_in_str.
8082
8083 * w32term.c: Complete rewrite for new redisplay based on new
8084 xterm.c with necessary sections merged back in from old w32term.c.
8085
6ffd3cf7 80862000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
8087
8088 * data.c (set_internal): Further fix in same criterion.
8089
6ffd3cf7 80902000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
8091
8092 * data.c (set_internal): Fix the criteria for whether
8093 to swap out the old cached binding.
8094
60af03f1
DL
80952000-01-19 Dave Love <fx@gnu.org>
8096
8097 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
8098
f9be074f
KH
80992000-01-18 Kenichi Handa <handa@etl.go.jp>
8100
8101 * regex.c (re_compile_fastmap): While checking a range table for
8102 `charset', skip flag bits for a character class correctly.
8103
52b8dbf9
GM
81042000-01-17 Gerd Moellmann <gerd@gnu.org>
8105
d36100c9
GM
8106 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
8107
52b8dbf9
GM
8108 * xfns.c (x_window): Call lw_create_widget with new parameter
8109 list.
8110
8111 * widget.c (EmacsFrameSetCharSize): Change size of children first
8112 because of problems with main window geometry management under
8113 Lesstif.
8114
8115 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
8116 MENU_ITEMS_ITEM_.*.
8117 (MENU_ITEMS_ITEM_HELP): New enumerator.
8118 (push_menu_item): Add parameter HELP. Record help in menu_items.
8119 (single_menu_item, single_submenu, list_of_items): Call
8120 push_menu_item with new parameter.
8121 (single_submenu): Set help string in widget value.
8122 (menu_highlight_callback): New function.
8123 (set_frame_menubar): Call lw_create_widget with new
8124 parameter list.
8125 (xmenu_show, xdialog_show): Ditto.
8126
3139018f
GM
81272000-01-13 Gerd Moellmann <gerd@gnu.org>
8128
8129 * sound.c (Fplay_sound): Improve doc string.
8130
83c8f461
RS
81312000-01-11 Richard M. Stallman <rms@gnu.org>
8132
8133 * lisp.h (set_internal): Enter the new arg.
8134
8135 * eval.c (specbind): Record buffer-local variables specially,
8136 indicating which buffer's binding was saved.
8137 (unbind_to): Restore buffer-local variables specially
8138 in the proper buffer.
8139
8140 * data.c (set_internal): New arg BUF.
427ec082 8141
83c8f461
RS
8142 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
8143 * data.c (Fset): Pass new arg to set_internal.
8144 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 8145
1fab1775
GM
81462000-01-11 Gerd Moellmann <gerd@gnu.org>
8147
8148 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload,
8149 xprintsym.
8150
83c8f461 81512000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
8152
8153 * minibuf.c (Ftry_completion): Doc fix.
8154
7a85e4df
GM
81552000-01-11 Gerd Moellmann <gerd@gnu.org>
8156
8157 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
8158 vector, too.
8159
a970dae4
AS
81602000-01-11 Andreas Schwab <schwab@suse.de>
8161
8162 * coding.c (code_convert_region): Initialize total_skip.
8163
c65d14ee
DL
81642000-01-08 Dave Love <fx@gnu.org>
8165
8166 * eval.c (Fuser_variable_p): Check customizability too.
8167
834938d2
GM
81682000-01-07 Gerd Moellmann <gerd@gnu.org>
8169
8170 * minibuf.c (Fcompleting_read): Doc fix.
8171
e0303cd6
GM
81722000-01-05 Gerd Moellmann <gerd@gnu.org>
8173
8a26744b
GM
8174 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
8175 -L /usr/local/lib.
8176
e0303cd6
GM
8177 * xfns.c (x_create_im): New function to set IM and IC of a frame.
8178 Check that input style is supported before trying to create an
8179 IC for it.
8180 (x_window): Call x_create_im.
427ec082 8181
2e471eb5
GM
81822000-01-04 Gerd Moellmann <gerd@gnu.org>
8183
560a7bd2
GM
8184 * xfns.c (current_gif_memory_src): New variable.
8185 (gif_load): Record the address of the current memory source
8186 in current_gif_memory_src.
8187 (gif_read_from_memory): Use current_gif_memory_src.
8188
f9ee84a3
GM
8189 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
8190 macros statement form.
8191
d1299cde
GM
8192 * sound.c (struct sound): Renamed from struct sound_file.
8193 (struct sound): Add members `data' and `header_size'.
8194 (enum sound_attr): Add SOUND_DATA.
8195 (current_sound, current_sound_device): Variables renamed from
8196 sound_file and sound_device.
8197 (parse_sound): Parse :data.
8198 (parse_sound): Handle sound data in strings.
8199 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 8200 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
8201 needed header size.
8202 (wav_play, au_play): Play sounds from string data.
8203
2e471eb5
GM
8204 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
8205
8206 * lisp.h: Add prototype for allocate_string_data.
8207
8208 * alloc.c (Fgarbage_collect): Return number of live and free
8209 strings.
8210
8211 * alloc.c (mark_buffer): Remove code in #if 0.
8212 (gc_sweep): Ditto.
8213 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
8214 (strings_consed): New variable.
8215 (allocate_string): Set it.
8216 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
8217 (Fmemory_use_counts): Return strings_consed. Use Flist.
8218
8219 * alloc.c: General cleanup in comments etc. Remove conditional
8220 compilation for `standalone'.
8221
8222 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
8223
8224 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
8225 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
8226 (DONT_COPY_FLAG): Removed.
8227 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
8228 (struct sdata, struct sblock): New
8229 (struct string_block): Rewritten.
8230 (STRINGS_IN_STRING_BLOCK): New macro.
8231 (oldest_sblock, current_sblock, total_strings, total_free_strings)
8232 (large_sblocks, string_blocks, string_free_list): New variables.
8233 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
8234 (init_strings): Rewritten.
8235 (allocate_string, allocate_string_data, compact_small_strings)
8236 (free_large_strings, sweep_strings): New functions.
8237 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
8238 (struct string_block_head, current_string_block)
8239 (first_string_block, large_string_blocks, STRING_FULLSIZE)
8240 (STRING_PAD): Removed.
8241 (make_uninit_multibyte_string, make_pure_string): Rewritten.
8242 (Fgarbage_collect): Don't set mark bit in large strings.
8243 (mark_object): Mark strings differently. Mark symbol names
8244 differently.
8245 (survives_gc_p): Test marked strings differently.
427ec082 8246 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
8247 symbol names.
8248 (compact_strings): Removed.
8249
42608ba8
EZ
82502000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
8251
8252 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
8253 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
8254
e0a09e1a
KH
82552000-01-04 Kenichi Handa <handa@etl.go.jp>
8256
dd9f0750 8257 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 8258 in a non-empty buffer.
dd9f0750 8259
3c0f3b15 8260 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 8261
44cd3ae5
GM
82622000-01-03 Gerd Moellmann <gerd@gnu.org>
8263
8264 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
8265 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
8266
8267 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
8268
c182a70f
EZ
82692000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
8270
8271 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
8272 need to test for MSDOS frames.
8273
24480d5b
EZ
82742000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
8275
8276 * dosfns.c (unspecified_colors): Remove.
8277 (msdos_stdcolor_idx): Use global variables unspecified_fg and
8278 unspecified_bg.
8279 (msdos_stdcolor_name): Return strings for unspecified fore- and
8280 back-ground colors.
8281
8282 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 8283 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
8284 (tty_color_name): Return Lisp strings for unspecified fore- and
8285 back-ground colors.
8286 (Finternal_set_lisp_face_attribute): Remove the special treatment
8287 for Qunspecified_{f,b}g.
8288 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp
8289 string.
8290
047f434a
GM
82912000-01-03 Gerd Moellmann <gerd@gnu.org>
8292
8293 * xdisp.c (reseat_at_next_visible_line_start): Position before
8294 newline only if ending up on a newline.
8295 (next_element_from_ellipsis): Return success. Handle case of
8296 displaying no ellipsis. Fix case of ellipsis defined in display
8297 table.
8298 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
8299 returns 0.
8300
d684c676
EZ
83012000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
8302
8303 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
8304 (Fcolor_supported_p): Renamed from face-color-supported-p.
8305
5fe1d139
EZ
83062000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
8307
8308 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
8309 list of colors renamed to tty-defined-color-alist.
8310 (tty_color_name): Pass the frame to tty-color-by-index.
8311 (realize_tty_face): tty-color-alist is now a function which
8312 accepts the frame as argument.
8313
8314 * term.c (Ftty_display_color_p): Accept an optional argument
8315 FRAME.
8316
816be8b8
EZ
83172000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
8318
8319 * term.c (insert_glyphs): Pass glyph, not &glyph, to
8320 encode_terminal_code.
8321
b635321e
EZ
83222000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
8323
8324 * dispnew.c (mode_line_string): Support termcap frames as well.
8325
9b784e96
GM
83262000-01-01 Gerd Moellmann <gerd@gnu.org>
8327
27189709
GM
8328 * syntax.c (Fforward_word): Undo previous change.
8329
8330 * editfns.c (Fconstrain_to_field): Don't constrain if
8331 inhibit-field-text-motion is non-nil.
8332 (Fline_beginning_position): Undo previous change.
8333 (Fline_end_position): Ditto.
8334
8335 * syntax.c (Fforward_word): Notice field boundaries only if
8336 inhibit-field-text-motion is nil.
8337
8338 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
8339
8340 * editfns.c (Vinhibit_field_text_motion): New variable.
8341 (inhibit-field-text-motion): New DEFVAR_LISP.
8342 (Fline_beginning_position, Fline_end_position): Notice field
8343 boundaries only if inhibit-field-text-motion is nil.
8344
45158a91
GM
8345 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
8346 All calls adjusted.
8347 (x_build_heuristic_mask): Likewise.
8348 (xbm_load_image_from_file): Change error output.
8349 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
8350 (gif_load, gs_load, x_kill_gs_process): Ditto.
8351
9b784e96
GM
8352 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
8353 color indices when accessing raster pixels.
63cec32f
GM
8354 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
8355 one of :file or :data.
8356 (enum pbm_keyword_index): Add PBM_DATA.
8357 (pbm_format): Add :data.
8358 (pbm_image_p): Allow either :file or :data.
8359 (pbm_read_file): New function.
8360 (pbm_scan_number): Rewritten to read from string.
8361 (pbm_load): Support :data.
9b784e96 8362
2cb085db 8363See ChangeLog.8 for earlier changes.
6922b018
KH
8364
8365;; Local Variables:
49b3bd82 8366;; coding: iso-2022-7bit
6922b018 8367;; End: