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