*** empty log message ***
[bpt/emacs.git] / src / ChangeLog
CommitLineData
719d83ad
GM
12001-04-10 Gerd Moellmann <gerd@gnu.org>
2
3 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
4
5 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
6 able to write to hidden and system files. Make file handles
7 non-inheritable.
8
9 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile.
10
522ed7fb
GM
112001-04-09 Gerd Moellmann <gerd@gnu.org>
12
9170e5d4
GM
13 * fns.c (Fplist_get, Fplist_put): Add QUITs.
14
522ed7fb
GM
15 * window.c (window_internal_height): Return 1 less if the
16 window has a header line.
17
18 * xdisp.c (try_window_id): When scrolling on a terminal, take
19 the change of window_internal_height into account.
20
ceeb3d7d
EZ
212001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
22
23 * gmalloc.c (align): If the argument SIZE would overflow
24 __malloc_ptrdiff_t, fail right away.
25
63685b9d
GM
262001-04-06 Gerd Moellmann <gerd@gnu.org>
27
28 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
29 Make sure the tooltip is completely visible.
30 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
31
32 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
33
34 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
35
3ffb33bb
DL
362001-04-06 Dave Love <fx@gnu.org>
37
38 * composite.c (update_compositions) <check_mask & CHECK_HEAD>: Fix
39 test of `from'.
40
869fb12c
GM
412001-04-06 Gerd Moellmann <gerd@gnu.org>
42
afa3935f
GM
43 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of
44 PROP.
45
869fb12c
GM
46 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
47
441bf856
GM
482001-04-05 Gerd Moellmann <gerd@gnu.org>
49
4d664b04
GM
50 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
51
a55e4e68
GM
52 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone
53 names.
54
30ca89f5
GM
55 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
56 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
57
58 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
59 shell widget's position only if it is non-null.
60
61 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Set
62 f->output_data.x->widget to null after destroying it.
63
81a81c0f
GM
64 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
65 FILENAME to bring it in synch with the documentation.
66
441bf856
GM
67 * xfaces.c (realizing_basic_faces_p): Renamed from
68 realize_default_face_p.
69 (realize_basic_faces): Set/clear realizing_basic_faces_p.
70 (realize_default_face): Don't set the flag.
71
702a1e8e
GM
722001-04-04 Gerd Moellmann <gerd@gnu.org>
73
1013f4e3
GM
74 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
75
76 * keyboard.c (echoing, echo_message_buffer): Make externally
77 visible.
78
79 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
80 the buffer that was used for echoing.
81
702a1e8e
GM
82 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
83 (first_font_matching): Removed unused function.
84 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
85 (may_use_scalable_font_p): Remove parameter FONT; rename
86 parameter NAME to FONT.
87 (x_face_list_fonts): Fix missing bounds check.
88 (realizing_default_face_p): New variable.
89 (realize_default_face): Set and clear that flag.
90 (x_face_list_fonts): When called during the realization of the
91 default face, and no matching fonts are found when ignoring
92 scalable fonts and fonts matching a regexp from
93 face-ignored-fonts, try without ignoring fonts.
94
f9dbcda4
GM
952001-04-03 Gerd Moellmann <gerd@gnu.org>
96
ad18ffb1
GM
97 * xfns.c (postprocess_image): New function.
98 (lookup_image): Call it for all image types except PostScript.
99 (x_kill_gs_process): Call postprocess_image.
100
f9dbcda4
GM
101 * xterm.c (x_use_underline_position_properties): New variable.
102 (x_draw_glyph_string): Use it.
103 (syms_of_xterm): DEFVAR_BOOL it.
104
651f03b6
GM
1052001-04-02 Gerd Moellmann <gerd@gnu.org>
106
107 * xterm.c (x_alloc_nearest_color_1): New function.
108 (x_alloc_nearest_color): Use it.
109 (x_color_cells): Take a Display as argument, instead of a frame.
110 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
111 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
112 (x_initialize): Register cvt_string_to_pixel as resource converter
113 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
114
73d75a62
GM
1152001-03-30 Gerd Moellmann <gerd@gnu.org>
116
b2046df8
GM
117 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
118 (set_iterator_to_next): If a string from a display property ends,
119 consider the case that this might also be the end of an
120 overlay string having the display property.
121
12700f40
GM
122 * xdisp.c (handle_display_prop): Fix recognition of subproperty
123 lists.
b2046df8 124
87d8eba4
GM
125 * xdisp.c (reseat_to_string): Undo last change.
126
73d75a62
GM
127 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
128 matrix of a window when the header line changes, when
129 new rows are allocated, or when the width changes.
130
911a2406
EZ
1312001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
132
133 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last
134 change.
135
aea51abe
EZ
1362001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
137
138 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
139 deprecated.
140
176bc847
GM
1412001-03-29 Gerd Moellmann <gerd@gnu.org>
142
ed31fabf
GM
143 * data.c (Fsubr_interactive_form): New function.
144 (syms_of_data): Defsubr it.
145
176bc847
GM
146 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
147 (live_float_p, live_misc_p): Return 1 only if the offset of the
148 pointer in its block is >= 0.
149
e59d0e9d
GM
1502001-03-28 Paul Eggert <eggert@twinsun.com>
151
152 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
153 microseconds calcuation. Avoid double-rounding problem.
154 In doc string, warn that the result is approximate.
155
f827b862
GM
1562001-03-28 Gerd Moellmann <gerd@gnu.org>
157
30a3f61c
GM
158 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
159 bind `inhibit-eval-during-redisplay' to t.
160
161 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
162
163 * xdisp.c (inhibit_eval_during_redisplay)
164 (Qinhibit_eval_during_redisplay): New variables.
165 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
166 don't eval, return nil instead.
167 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
168 Initialize Qinhibit_eval_during_redisplay.
169
e719f5ae
GM
170 * xdisp.c (reseat_to_string): If STRING is multibyte, set
171 the iterator's multibyte_p flag.
172
deb2613a
GM
173 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
174 instead of setting it to zero; it's incremented for each frame
175 where the menu face is changed.
176
44655e77
GM
177 * xterm.c (x_draw_relief_rect): Extend left shadow to the
178 bottom; change bottom shadow accordingly.
179
a02f1be0
GM
180 * xterm.c (expose_window_tree, expose_frame): Don't compute
181 intersections here.
182 (expose_window): Do it here instead.
183 (x_draw_glyph_string): Fix a computation of the underline
184 position.
185
f827b862
GM
186 * bytecode.c (BYTE_CODE_QUIT): New macro.
187 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
188
4bde0ebb
GM
1892001-03-27 Gerd Moellmann <gerd@gnu.org>
190
607ec83c
GM
191 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
192 Give up if matrix starts in an ellipsis.
193 (init_from_display_pos): Do nothing if POS doesn't specify
194 a dpvec_index but the iterator has such a position.
195
0245398f
GM
196 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
197
aba25348
GM
198 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
199 x/y position is (0, 0) after destroying the menu bar, restore
200 its original position.
201
4bde0ebb
GM
202 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
203 (init_from_display_pos): Use it.
204 (try_window_reusing_current_matrix): Don't use cursor_row_p.
205
8cdb267e
GM
2062001-03-26 Gerd Moellmann <gerd@gnu.org>
207
208 * xdisp.c (try_window_id): Undo last change.
209
9948db79
EZ
2102001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
211
212 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
213
214 * buffer.c (syms_of_buffer): Doc fix.
215
2eddf899
GM
2162001-03-26 Gerd Moellmann <gerd@gnu.org>
217
218 * xfaces.c (x_update_menu_appearance): Use local variable
219 popup_path for setting font resources.
220
6c145d35
EZ
2212001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
222
6a65b1b5
EZ
223 * frame.c (Fframe_list): Don't reference tip_frame if
224 HAVE_WINDOW_SYSTEM is not defined.
225
6c145d35
EZ
226 * emacs.c (main): Update the copyright year. From Werner LEMBERG
227 <wl@gnu.org>.
228
d74c1900
GM
2292001-03-25 Gerd Moellmann <gerd@gnu.org>
230
20fbd925
GM
231 * xdisp.c (init_from_display_pos): Test invisible property
232 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
233
927c5b3b
GM
234 * xdisp.c (redisplay_internal) <update one window>: Make sure
235 last_arrow_position and last_arrow_string are set.
236
d74c1900
GM
237 * frame.c (Fframe_list): Don't return a tooltip frame.
238
091f8878
GM
2392001-03-23 Gerd Moellmann <gerd@gnu.org>
240
43c09969
GM
241 * xdisp.c (mark_window_display_accurate_1): New function,
242 extracted from mark_window_display_accurate. Compute
243 BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
244 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
245 (mark_window_display_accurate): Use it.
246 (redisplay_internal): Use it for the selected window.
247 (redisplay_internal): Avoid duplicate mark_window_display_accurate
248 for the selected frame.
249
ac90c44f
GM
250 * xdisp.c Use make_number, for readability.
251 (try_window_id): Disable rows below the window end.
252 (try_window_reusing_current_matrix): Use cursor_row_p.
253 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
254 of rows.
255 (init_from_display_pos): If POS specifies a position in a display
256 vector, maybe get the iterator set up for that ellipsis.
43c09969 257
091f8878
GM
258 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
259
991786dd
EZ
2602001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
261
262 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
263
6c29b43c
GM
2642001-03-23 Gerd Moellmann <gerd@gnu.org>
265
266 * xfaces.c (x_update_menu_appearance): Use a different path
267 for Lucid popup menus.
268
d8731202
SM
2692001-03-22 Stefan Monnier <monnier@cs.yale.edu>
270
271 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
272
273 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
274 (string_buffer_position): Use `make_number'.
275
f61a541b
GM
2762001-03-22 Gerd Moellmann <gerd@gnu.org>
277
3c9e997b
GM
278 * xfaces.c (x_update_menu_appearance): Renamed from
279 x_set_menu_face_resources. Use different resources for popups.
280
281 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
282 (GC_CHECK_STRING_BYTES): Don't define.
283
364cd450
GM
284 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
285 Removed, together with subroutines.
286 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 287 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 288
d8731202
SM
289 * dispextern.h (x_set_menu_resources_from_menu_face):
290 Remove prototype.
364cd450 291
d8731202 292 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
293 Remove calls to x_set_menu_resources_from_menu_face.
294
d8731202
SM
295 * xfaces.c (xm_set_menu_resources_from_menu_face):
296 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
297
298 * xmenu.c: Include widget.h.
299 (single_submenu): Return int. Some cleanup.
300 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
301
140330de
GM
3022001-03-21 Gerd Moellmann <gerd@gnu.org>
303
304 * xterm.c (x_update_window_end): Handle overwritten mouse face
305 also for tool bar windows.
306 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
307 DRAW is DRAW_IMAGE_RAISED.
308
1741905c
GM
3092001-03-20 Gerd Moellmann <gerd@gnu.org>
310
fa88947e
GM
311 * print.c (syms_of_print): Doc fixes.
312
1741905c
GM
313 * fns.c (Fmd5): Doc fix.
314
ade0bee1
GM
3152001-03-19 Gerd Moellmann <gerd@gnu.org>
316
357e7376
GM
317 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
318 Clear area of the frame not occupied by the scroll bar.
319
c2c097cc
GM
320 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
321 tip frame's root window buffer to *tip* right after creating
322 the frame.
323
ade0bee1
GM
324 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
325 is an integer don't have to be for space characters.
326
88c6e37e
GM
3272001-03-16 Gerd Moellmann <gerd@gnu.org>
328
329 * indent.c (current_column, current_column_1, Fmove_to_column)
330 (compute_motion): Handle characters from display vectors
331 differently.
332
c62eed76
KH
3332001-03-15 Kenichi Handa <handa@etl.go.jp>
334
335 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
336 drawing glyph string.
337
c899e7e6
GM
3382001-03-15 Gerd Moellmann <gerd@gnu.org>
339
d0bbfc99
GM
340 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
341 (command_loop_1): Undo last change.
342
03d1a189
GM
343 * xterm.c (fast_find_position): Return the correct vpos.
344
c899e7e6
GM
345 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
346 non-null, set a per-buffer value in BUF instead of the current
347 buffer.
348 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
349 Call store_symval_forwarding with BUF null.
350 (set_internal): Call store_symval_forwarding with the BUF
351 parameter passed to set_internal. Formerly, the value was always
352 set in the current buffer; the buffer recorded in specbind for
353 this case wasn't used.
354 (arith_driver): Reindent.
355
356 * buffer.c (swap_out_buffer_local_variables): Call
357 store_symval_forwarding with BUF null.
358
359 * lisp.h (store_symval_forwarding): Change prototype.
360
361 * eval.c (specbind): Call store_symval_forwarding with BUF null.
362
57ac7c81
GM
3632001-03-14 Gerd Moellmann <gerd@gnu.org>
364
697617d9
GM
365 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
366 FOR_DELETION. Avoid resizing the mini-window of the selected
367 frame if FOR_DELETION is set.
368 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
369 (Fmake_frame_invisible): Change calls to do_switch_frame for new
370 signature.
371
372 * window.c (Fset_window_configuration): Change call to
373 do_switch_frame to new format.
374
375 * keyboard.c (quit_throw_to_read_char): Change call to
376 do_switch_frame to new format.
377
378 * lisp.h (do_switch_frame): Change prototype.
379
819dce0f
GM
380 * frame.c (Fframe_parameters): In the `buffer-list' frame
381 parameter, store the buffer list of FRAME, not the list of the
382 selected frame.
383
57ac7c81
GM
384 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
385 box just because the glyph row's full_width_p flag is set.
386
65008712
GM
3872001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
388
389 * xdisp.c (highlight_trailing_whitespace): On character terminals,
390 skip the padding blanks inserted in extend_face_to_end_of_line,
391 before checking for trailing whitespace.
392
159cf431
GM
3932001-03-13 Gerd Moellmann <gerd@gnu.org>
394
19b2bb80
GM
395 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
396 Remove special handling for LessTif/Motif.
397 (toplevel): Don't include Xm/Xm.h.
398
afcdc0a1
GM
399 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>: Remove
400 workaround code for LessTif; it doesn't work anymore.
401
2564ea1b 402 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 403 Xm/ScrollBarP.h.
afcdc0a1 404
23442ae4
GM
405 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Don't
406 access private scroll bar data; it's no longer necessary with
407 contemporary LessTif.
408
9faaaa52
GM
409 * xfaces.c (xm_set_menu_resources_from_menu_face): Change
410 #if 0 to #ifndef LESSTIF_VERSION.
411
159cf431
GM
412 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
413 removing button grabs.
414
c6f7429a
KH
4152001-03-13 Kenichi Handa <handa@etl.go.jp>
416
cb82d767
KH
417 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
418 and clip-large-size-font as obsolete.
419
c6f7429a
KH
420 * lread.c (read_multibyte): Check the validity of multibyte
421 sequence. If invalid, return the first byte.
422
760cefb5
GM
4232001-03-12 Gerd Moellmann <gerd@gnu.org>
424
425 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
426 before running the command; timer functions or process
427 filters may have set it.
428
5141f9d0
EZ
4292001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
430
431 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
432 Doc fix.
433
b6a15240
GM
4342001-03-12 Gerd Moellmann <gerd@gnu.org>
435
436 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
437 to sprintf.
438
95522746
GM
4392001-03-09 Gerd Moellmann <gerd@gnu.org>
440
db14cfc5
GM
441 * dispextern.h (string_buffer_position): Add prototype.
442
443 * xdisp.c (string_buffer_position, display_prop_string_p)
444 (single_display_prop_string_p): New functions.
445
446 * xterm.c (note_mouse_highlight): If there's no help-echo on
447 a string, look at the buffer text ``under'' it.
448
449 * keyboard.c (make_lispy_event): Add string info to the event,
450 analogous to what's done on mode lines.
451 (read_key_sequence): For a click on a string, consider `local-map'
452 and `keymap' of that string.
453
3cfd8357
GM
454 * keyboard.c (make_lispy_event, make_lispy_movement): Adjust
455 calls to buffer_posn_from_coords to new format.
456
457 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
458
459 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
460 POS; return void.
461
95522746
GM
462 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
463 flags argument to emacs_open; it seems to conflict with O_EXCL.
464
898a399d
KH
4652001-03-09 Kenichi Handa <handa@etl.go.jp>
466
28cd4910
KH
467 * composite.h (struct composition): Change types of members;
468 glyph_len to unsigned, width to unsigned short.
898a399d 469
4cdf6a6c
AI
4702001-03-08 Andrew Innes <andrewi@gnu.org>
471
472 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
473 menu titles.
474
129004d3
GM
4752001-03-08 Gerd Moellmann <gerd@gnu.org>
476
221dd3e7
GM
477 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
478 instead of nil.
479
5de7c6f2
GM
480 * xterm.c (note_mouse_highlight): Handle mouse-face and
481 help-echo in strings.
482 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
483 (fast_find_string_pos): New function.
484
485 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
486 (display_string): Call face_at_string_position with new
487 parameter.
488
489 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
490 Handle `mouse-face'.
491
492 * dispextern.h (face_at_string_position): Change prototype.
493
e1fbabaf
GM
494 * dired.c (directory_files_internal): Handle EAGAIN more
495 efficiently.
496
129004d3
GM
497 * keyboard.c (make_lispy_event): Avoid generating drag events
498 if the mouse hasn't actually moved to another buffer position.
499
80c8ab8c
DL
5002001-03-08 Dave Love <fx@gnu.org>
501
129004d3 502 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 503
989521fd
GM
5042001-03-08 Gerd Moellmann <gerd@gnu.org>
505
506 * process.c (Fset_process_window_size): Fix a typo.
507
bb5c338d
KH
5082001-03-08 Kenichi Handa <handa@etl.go.jp>
509
510 * coding.c (detect_coding_sjis): Do more rigid check.
511 (detect_coding_big5): Likewise.
512 (decode_coding_sjis_big5): Likewise.
513 (Fdetect_coding_region): Call detect_coding_system with tailing
514 anchor byte `\0' for more rigid detection.
a1b12fe9
KH
515 (detect_coding_mask): Fix the incorrect handling of arg
516 MULTIBYTEP.
bb5c338d
KH
517 (Fdetect_coding_string): Likewise.
518
8b8f9197
SM
5192001-03-07 Stefan Monnier <monnier@cs.yale.edu>
520
521 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
522 a string before extracting its data.
523
3bdf2660
GM
5242001-03-07 Gerd Moellmann <gerd@gnu.org>
525
526 * window.c (Frecenter): Rewrite code handling negative values
527 of ARG on graphical frames.
528
5292001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
530
531 * window.c (displayed_window_lines): If W->start is outside the
532 accessible portion of the buffer, call start_display with BEGV or
533 ZV instead of W->start.
534
471f86b9
GM
5352001-03-07 Gerd Moellmann <gerd@gnu.org>
536
2ab62c6c
GM
537 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
538
471f86b9
GM
539 * process.c (Fset_process_filter): Don't crash if the input
540 file descriptor of PROCESS is closed.
541 (Fset_process_window_size): Likewise.
542
101922c3
GM
5432001-03-06 Kenichi Handa <handa@etl.go.jp>
544
545 * xterm.c (XTflash): Make the timeout of select shorter, and call
546 select repeatedly until the desired time expires.
547
45d051a7
GM
5482001-03-06 Gerd Moellmann <gerd@gnu.org>
549
550 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
551
552 * xfns.c (Fx_create_frame): Clear Vwindow_list.
553
554 * lisp.h (Vwindow_list): Declare extern.
555
8f372c46
EZ
5562001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
557
558 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
559
f16a7aa5
GM
5602001-03-06 Gerd Moellmann <gerd@gnu.org>
561
157ae273
GM
562 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
563 to detect a case where we have to highlight a different region
564 despite not having left the currently highlighted region.
565 Set mouse_face_overlay in the x_display_info.
45d051a7 566 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
567
568 * xterm.h (struct x_display_info): Add mouse_face_overlay.
569
570 * buffer.c (mouse_face_overlay_overlaps): New function.
571
572 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
573 (Qmouse_face): Declare extern.
574
f16a7aa5
GM
575 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
576 if face_change_count is non-zero.
577
827afcac
KH
5782001-03-06 Kenichi Handa <handa@etl.go.jp>
579
580 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
581 that the source is unibyte.
582
14c7242e
DL
5832001-03-05 Dave Love <fx@gnu.org>
584
827afcac 585 * xterm.c (XTmouse_position): Fix typo.
14c7242e 586
c28b847b
GM
5872001-03-05 Gerd Moellmann <gerd@gnu.org>
588
589 * minibuf.c (read_minibuf): Clean up the binding stack if
590 called noninteractively.
591
b86644f2
KH
5922001-03-05 Kenichi Handa <handa@etl.go.jp>
593
594 * coding.c (syms_of_coding): Docstring modified.
595
203682cc 5962001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
597
598 * charset.c (char_to_string): If a single byte char has modifier
599 bits that can't be reflected to the character code, ignore them
45d051a7 600 instead of signaling an error.
b86644f2 601
e30bd7b7
EZ
6022001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
603
604 * s/msdos.h: Update copyright notice.
605
606 * dosfns.h: Update copyright notice.
607
608 * dosfns.c: Update copyright notice.
609
610 * msdos.c: Update copyright notice.
611
b52b65bd
GM
6122001-03-02 Gerd Moellmann <gerd@gnu.org>
613
614 * xterm.c (glyph_rect): New function.
615 (XTmouse_position): Use it to raise the threshold for mouse
616 movement event generation.
617
53c4b1e6
EZ
6182001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
619
620 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
621 specifies (reverse . t), reverse the initial screen colors.
622 (IT_set_frame_parameters): If the property is foreground-color,
623 but we are reversing the colors, set bg_set, not fg_set. Likewise
624 for setting background-color and reversing: set fg_set. Set
625 unspecified-fg and unspecified-bg correctly when (reverse . t) is
626 in effect.
627
628 * xfaces.c (Finternal_set_lisp_face_attribute)
629 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
630 parameters alist.
631
f964b4d7
GM
6322001-03-02 Gerd Moellmann <gerd@gnu.org>
633
ef53d75e
GM
634 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
635 to a single slash in the middle of file names.
636
cda0f4da
GM
637 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
638 Accept only alphanumeric time zone names.
639
f964b4d7
GM
640 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
641 or width area.
642 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
643 a widget to zero height.
644
c3c45f65
GM
6452001-03-01 Gerd Moellmann <gerd@gnu.org>
646
647 * window.c (Fwindow_end): Call move_it_past_eol only if
648 ending up on a partially visible line.
649
028d739a
DL
6502001-03-01 Dave Love <fx@gnu.org>
651
652 * ccl.c (Fccl_execute): Doc fix.
653
57c5889c
GM
6542001-03-01 Gerd Moellmann <gerd@gnu.org>
655
35f59f6b
GM
656 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
657 of the tool bar before calling x_figure_window_size.
658
f84ff02c
GM
659 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
660 NULL after destroying it, otherwise XTread_socket can access a
661 destroyed widget when input is unblocked.
662
8b8f9197 663 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
420f628c 664
57c5889c
GM
665 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
666 same name as before, although there was a change in fontsets.
667
224227d1
KR
6682001-02-28 Ken Raeburn <raeburn@gnu.org>
669
4560730a
KR
670 * lisp.h (Fframe_parameter): Declare.
671
224227d1 672 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 673 Lisp_Object.
224227d1 674
ece93c02
GM
6752001-02-28 Gerd Moellmann <gerd@gnu.org>
676
11ef99b9
GM
677 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
678 NULL instead.
679
680 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
681 NULL instead.
682
ece93c02
GM
683 * alloc.c (toplevel): Include process.h.
684 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
685 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
686 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
687 (allocate_vector, allocate_hash_table, allocate_window)
688 (allocate_frame, allocate_process, allocate_other_vector): New
689 functions.
690 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
691 (mark_maybe_pointer): New function.
692 (mark_memory): Also mark Lisp data to which only pointers
693 remain and not Lisp_Objects.
694 (min_heap_address, max_heap_address): New variables.
695 (mem_find): Return MEM_NIL if START is below min_heap_address or
696 above max_heap_address.
697 (mem_insert): Compute min_heap_address and max_heap_address.
698
699 * process.c (make_process): Use allocate_process.
700
701 * frame.c (make_frame): Use allocate_frame.
702
703 * window.c (make_window, make_dummy_parent): Use allocate_window.
704 (Fcurrent_window_configuration): Use allocate_other_vector.
705
706 * lisp.h (allocate_vectorlike): Remove prototype.
707 (allocate_vector, allocate_other_vector, allocate_frame)
708 (allocate_window, allocate_process, allocate_hash_table):
709 Add prototypes.
710
711 * fns.c (Fdelete, larger_vector): Use allocate_vector.
712 (make_hash_table, copy_hash_table): Use allocate_hash_table.
713
063af457
KH
7142001-02-27 Kenichi Handa <handa@etl.go.jp>
715
716 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
717 treat the produced bytes as a valid multibyte sequence.
718
719 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
720 (ccl_driver) <CCL_WriteMultibyteChar2>: Use
721 CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
722 <ccl_finish>: Set ccl->eight_bit_control properly.
723
724 * ccl.h (struct ccl_program): New member eight_bit_control.
725
f58c6494
SM
7262001-02-26 Stefan Monnier <monnier@cs.yale.edu>
727
728 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
729 accessible_keymaps_char_table.
730 (accessible_keymaps_char_table): Obey `is_metized'.
731 (where_is_internal, Fwhere_is_internal): Don't confuse int and
732 Lisp_Object.
733
c596c392
GM
7342001-02-26 Gerd Moellmann <gerd@gnu.org>
735
736 * dispnew.c: Check HAVE_TERM_H before including term.h.
737
425de386
AI
7382001-02-24 Andrew Innes <andrewi@gnu.org>
739
740 * makefile.w32-in: Update copyright notice.
741
2ba11bbd
SM
7422001-02-24 Stefan Monnier <monnier@cs.yale.edu>
743
744 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
745
66c56ed1
KH
7462001-02-24 Kenichi Handa <handa@etl.go.jp>
747
4c1593ce
KH
748 * Makefile.in (lisp): Add international/utf-8.elc.
749
66c56ed1
KH
750 * fontset.c (Fnew_fontset): Fix handling of the case that an
751 element of FONTLIST is a cons of family and registry.
752
796ead7e
JR
7532001-02-23 Jason Rumney <jasonr@gnu.org>
754
755 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
756 to height unconditionally.
757
758 * w32term.c (x_set_glyph_string_background_width): Extend the
759 background face to the end of the drawing area in the text area,
760 only.
761 (x_insert_glyphs): Call window_box_left to obtain the left
762 x-coordinate of the area to shift.
763
764 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
765 safe_run_hooks.
766
f6839838
AI
7672001-02-22 Andrew Innes <andrewi@gnu.org>
768
769 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header
770 files.
771 ($(BLD)\dispnew.obj):
772 ($(BLD)\editfns.obj):
773 ($(BLD)\fileio.obj):
774 ($(BLD)\filelock.obj):
775 ($(BLD)\keyboard.obj):
776 ($(BLD)\w32proc.obj):
777 ($(BLD)\process.obj):
778 ($(BLD)\sysdep.obj): Ditto.
779
780 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
781 header files.
782 ($(BLD)/dispnew.$(O)):
783 ($(BLD)/editfns.$(O)):
784 ($(BLD)/fileio.$(O)):
785 ($(BLD)/filelock.$(O)):
786 ($(BLD)/keyboard.$(O)):
787 ($(BLD)/w32proc.$(O)):
788 ($(BLD)/process.$(O)):
789 ($(BLD)/sysdep.$(O)): Ditto.
790
c224f70b
GM
7912001-02-22 Gerd Moellmann <gerd@gnu.org>
792
51695746
GM
793 * xdisp.c (forward_to_next_line_start): When taking the shortcut
794 at the start of the function, check that the \n in it->c is
795 from the iterator's current position.
796
a61b7058
GM
797 * xdisp.c (handle_single_display_prop): Add parameter
798 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
799 properties which replace the display of text with something else.
800 (handle_display_prop): Call handle_single_display_prop with
801 additional argument saying if we already replaced text display
802 with something else. Use AREF.
803 (with_echo_area_buffer_unwind_data, display_menu_bar)
804 (decode_mode_spec_coding): Use AREF and ASIZE.
805
3473f362
GM
806 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
807 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
808 * vmstime.h: Files removed.
809
2bb58df3
GM
810 * unexencap.c, unexfx2800.c: Files removed.
811
c224f70b
GM
812 * dispnew.c (direct_output_for_insert): Give up if we are showing
813 a message or just cleared the message because we might need to
814 resize the echo area window or display an empty echo area.
815
ffc9ff0c
GM
8162001-02-21 Gerd Moellmann <gerd@gnu.org>
817
0528abe1
GM
818 * xdisp.c (redisplay_internal): Do the
819 mark_window_display_accurate after all windows have been
820 redisplayed because this call resets flags in buffers which are
821 needed for proper redisplay.
822
ffc9ff0c
GM
823 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c: Use
824 display_hourglass_p, start_hourglass, cancel_hourglass instead of
825 the old names.
826
827 * w32term.h (struct x_output): Rename busy_cursor to
828 hourglass_cursor, busy_window to hourglass_window, busy_p to
829 hourglass_p.
830
831 * msdos.h (struct x_output): Rename busy_window to
832 hourglass_window, busy_p to hourglass_p.
833
834 * xterm.h (struct x_output): Rename busy_cursor to
835 hourglass_cursor, busy_window to hourglass_window, busy_p to
836 hourglass_p.
837
838 * xfns.c: Rename everything containing *busy_cursor* and similar
839 to *hourglass*.
840 (syms_of_w32fns): Rename x-busy-pointer-shape to
841 x-hourglass-pointer-shape, display-busy-cursor to
842 display-hourglass, busy-cursor-delay to hourglass-delay.
843
844 * w32fns.c: Rename everything containing *busy_cursor* and similar
845 to *hourglass*.
846 (syms_of_w32fns): Rename x-busy-pointer-shape to
847 x-hourglass-pointer-shape, display-busy-cursor to
848 display-hourglass, busy-cursor-delay to hourglass-delay.
849
850 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
851 of its busy_p flag.
852
853 * dispextern.h (start_hourglass, cancel_hourglass)
854 (display_hourglass_p): Renamed from *busy_cursor*.
855
ab2c5f0a
GM
8562001-02-20 Gerd Moellmann <gerd@gnu.org>
857
d17e49a8
GM
858 * keyboard.c (read_char): When an event from unread-command-events
859 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
860
fa97adf6
GM
861 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
862 equal to the current buffer.
863
ab2c5f0a
GM
864 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
865 nil, otherwise we're left with truncate_lines t when a message
866 is printed with message-truncate-lines bound to t.
867
aeac019e
GM
8682001-02-19 Gerd Moellmann <gerd@gnu.org>
869
c8bc6f65
GM
870 * window.c (Fmove_to_window_line): Undo last change.
871 (displayed_window_lines): Call line_bottom_y to determine
872 the line's bottom position.
873
874 * dispextern.h (line_bottom_y): Add prototype.
875
876 * xdisp.c (line_bottom_y): New function extracted from
877 pos_visible_p.
878 (pos_visible_p): Use it.
879
980a2d69
GM
880 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
881 set redisplaying_p to 0 here instead of in Frecursive_edit.
882 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
883 set redisplaying_p.
884
184d2372
GM
885 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
886 New variables.
887 (syms_of_xdisp): Initialize new variables.
888 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
889 Specbind `inhibit-menubar-update' when updating the menu bar.
890
65048e97
GM
891 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
892 safe_run_hooks.
893
894 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
895 safe_run_hooks.
896
a57c4026
GM
897 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
898 is null.
899
aeac019e
GM
900 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
901 to the start of the file.
902
76846b31
GM
9032001-02-16 Gerd Moellmann <gerd@gnu.org>
904
f3f053f3 905 * window.c (set_window_buffer): Fix last change.
25237df5 906
f3f053f3
GM
907 * window.c (set_window_buffer): Set window's vscroll to 0.
908
dad75588
GM
909 * window.c (coordinates_in_window): Increase width of area
910 where the vertical line can be dragged.
911
c220b753
GM
912 * xterm.c (x_set_glyph_string_background_width): Extend the
913 background face to the end of the drawing area in the text
914 area, only.
915
c56b1c1b
GM
916 * xdisp.c (handle_single_display_prop): Set iterator's position
917 to where the `display' property starts, like for images.
918 (dump_glyph): New function.
919 (dump_glyph_row): Use it. Dump info about marginal areas.
920
921 * dispnew.c (direct_output_for_insert): Recognize more cases where
922 glyphs can be written instead of being inserted.
923
924 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
925 the left x-coordinate of the area to shift.
926
76846b31
GM
927 * dired.c (directory_files_internal): Set result list to nil
928 before retrying.
929
0fc71a77
KH
9302001-02-15 Kenichi Handa <handa@etl.go.jp>
931
932 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
933 invalid multibyte sequence, treat *SRC as a character of
934 eight-bit-graphic.
935
25078b54
EZ
9362001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
937
938 * textprop.c (Fset_text_properties): Doc fix.
939
8399f8a0
GM
9402001-02-15 Gerd Moellmann <gerd@gnu.org>
941
942 * dispnew.c (update_text_area): Undo change of 2001-01-12.
943
9a2a6f73
DL
9442001-02-14 Dave Love <fx@gnu.org>
945
946 * coding.c: Doc and message fixes.
947
bf853fee
AI
9482001-02-14 Andrew Innes <andrewi@gnu.org>
949
950 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
951 Emacs frame above the screen size.
952
78c663d8
GM
9532001-02-14 Gerd Moellmann <gerd@gnu.org>
954
955 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
956
7cc9f69f
GM
9572001-02-13 Gerd Moellmann <gerd@gnu.org>
958
0a411995
GM
959 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
960 case that TO ends up beyond ZV after running before-change-functions.
961
5ddc1b75
GM
962 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
963 the selected window if it is showing the buffer in question.
964
7cc9f69f
GM
965 * dired.c (directory_files_internal): Initialize errno.
966 (toplevel): Include errno.h.
967
2e6621ca
GM
9682001-02-13 Kenichi Handa <handa@etl.go.jp>
969
970 * xfaces.c (best_matching_font): New parameter width_ratio.
971 Multiply avgwidth by width_ratio.
972 (choose_face_font): Call best_matching_font with width_ratio
973 calculated from the column width of C.
974
60222d69
AI
9752001-02-12 Andrew Innes <andrewi@gnu.org>
976
977 The following changes are to draw box lines inside characters area
978 if line-width is negative.
979
980 * w32term.c (x_produce_image_glyph): Pay attention to the case that
981 face->box_line_width is negative.
982 (x_produce_stretch_glyph): Likewise.
983 (x_produce_glyphs): Likewise.
984 (x_estimate_mode_line_height): Likewise.
985 (x_draw_glyph_string_background): Likewise.
986 (x_draw_glyph_string_foreground): Likewise.
987 (x_draw_composite_glyph_string_foreground): Likewise.
988 (x_draw_glyph_string_box): Likewise.
989 (x_draw_image_foreground): Likewise.
990 (x_draw_image_relief): Likewise.
991 (x_draw_image_foreground_1): Likewise.
992 (x_draw_image_glyph_string): Likewise.
993
9804b846
KH
9942001-02-09 Kenichi Handa <handa@etl.go.jp>
995
996 The following changes are to draw box lines inside characters area
997 if line-width is negative.
998
999 * xterm.c (x_produce_image_glyph): Pay attention to the case that
1000 face->box_line_width is negative.
1001 (x_produce_stretch_glyph): Likewise.
1002 (x_produce_glyphs): Likewise.
1003 (x_estimate_mode_line_height): Likewise.
1004 (x_draw_glyph_string_background): Likewise.
1005 (x_draw_glyph_string_foreground): Likewise.
1006 (x_draw_composite_glyph_string_foreground): Likewise.
1007 (x_draw_glyph_string_box): Likewise.
1008 (x_draw_image_foreground): Likewise.
1009 (x_draw_image_relief): Likewise.
1010 (x_draw_image_foreground_1): Likewise.
1011 (x_draw_image_glyph_string): Likewise.
1012
1013 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
1014 and :line-width can be negative.
1015 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be
1016 negative.
1017
49be9f70
JR
10182001-02-09 Jason Rumney <jasonr@gnu.org>
1019
1020 * w32term.c (w32_encode_char): Treat eight bit graphic and control
1021 characters the same as ASCII and latin-1.
1022 (x_display_and_set_cursor): Check for the focus frame's selected
1023 window instead of selected_window.
1024 (x_after_update_window_line): Don't clear if frame's internal
1025 border width is zero.
1026 (x_new_font): Don't change a tooltip's size.
1027 (w32_initialize): Set char_ins_del_ok to 1.
1028
1029 * w32fns.c (Fx_show_tip): Fix calls to make_number.
1030 (x_set_font): If font hasn't changed, avoid recomputing
1031 faces and other things.
1032 (x_set_tool_bar_lines): Do nothing if frame is
1033 minibuffer-only,
1034 (Fx_create_frame): Add the tool bar height to the frame
1035 height.
1036 (x_create_tip_frame): Prevent changing the tooltip's
1037 background color by specifying a color for the default font
1038 in .Xdefaults.
1039 (Qcancel_timer): New variable.
1040 (syms_of_w32fns): Initialize and staticpro it.
1041 (Fx_hide_tip, Fx_show_tip): Use it.
1042 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1043 the timer.
1044 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
1045
1046 * w32.c (init_environment): Duplicate local string before putenv.
1047
555e35d2
SZ
10482001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
1049
1050 * charset.c (Fstring): A typo.
1051
19c92c94
KH
10522001-02-09 Kenichi Handa <handa@etl.go.jp>
1053
e47a1c33
KH
1054 * charset.c (Fstring): If all arguments are less than 256, return
1055 a unibyte string.
1056
1057 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
1058 return a unibyte string.
1059
19c92c94
KH
1060 * coding.c (code_convert_region): After detecting a coding, if
1061 nothing found, set coding->composing to COMPOSITION_NO.
1062 (decode_coding_string): Likewise.
1063
d8e675f5
SM
10642001-02-08 Stefan Monnier <monnier@cs.yale.edu>
1065
1066 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
1067 to avoid overflow.
1068
bd503487
KH
10692001-02-07 Kenichi Handa <handa@etl.go.jp>
1070
1071 * charset.c (parse_str_to_multibyte): New function.
1072
1073 * charset.h (parse_str_to_multibyte): Extern it.
1074
1075 * print.c (print_string): If we are going to print a unibyte
1076 string into a multibyte buffer, convert the string to multibyte by
1077 str_to_multibyte.
1078
a8370d72
AI
10792001-02-06 Andrew Innes <andrewi@gnu.org>
1080
1081 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
1082 been created. It seems we can get sent window messages such as
1083 WM_ERASEBKGND before we properly update a frame.
1084
c363a1d6
GM
10852001-02-06 Gerd Moellmann <gerd@gnu.org>
1086
1087 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
1088 Avoid some unnecessary cursor positioning.
1089
a08332c0
GM
10902001-02-05 Gerd Moellmann <gerd@gnu.org>
1091
1092 * xfaces.c (split_font_name): Compute numeric value of
1093 XLFD_AVGWIDTH.
1094 (LFACE_AVGWIDTH): New macro.
1095 (LFACEP): Use AREF.
1096 (check_lface_attrs): Check LFACE_AVGWIDTH.
1097 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
1098 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
1099 (merge_face_vectors): Check LFACE_AVGWIDTH.
1100 (Finternal_make_lisp_face): Use AREF.
1101 (xm_set_menu_resources_from_menu_face)
1102 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
1103 (Finternal_lisp_face_empty_p): Use AREF.
1104 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
1105 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
1106 Compare average widths..
1107 (best_matching_font): Arrange for comparing average widths.
1108
1109 * dispextern.h (enum lface_attribute_index): Add
1110 LFACE_AVGWIDTH_INDEX (invisible from Lisp).
1111
5cb3c8d4
DL
11122001-02-05 Dave Love <fx@gnu.org>
1113
1114 * puresize.h: Revert last change following loadup.el change.
1115
193fba87
AI
11162001-02-05 Andrew Innes <andrewi@gnu.org>
1117
1118 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
1119 invocation of temacs, to work with Windows 2000.
1120 (bootstrap-emacs): Ditto.
1121
e16f52ce
GM
11222001-02-05 Gerd Moellmann <gerd@gnu.org>
1123
7a58ab59
GM
1124 * xterm.c (x_display_and_set_cursor): Check for the focus
1125 frame's selected window instead of selected_window.
1126
e89aaabd
GM
1127 * xdisp.c (try_scrolling): If point is in the line below the
1128 window, make sure to move the iterator at least a canonical
1129 char height down.
1130
e16f52ce
GM
1131 * window.c (Fmove_to_window_line): Don't add 1 if window is
1132 vscrolled.
1133
789ce875
KH
11342001-02-05 Kenichi Handa <handa@etl.go.jp>
1135
1136 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not. If
1137 invalid, execute CCL_INVALID_CMD.
1138 (ccl_driver): If the CCL program is terminated because of
1139 CCL_STAT_INVALID_CMD, copy the remaining source data to the
1140 destination instead of throwing them away.
1141
20b28f82
GM
11422001-02-02 Gerd Moellmann <gerd@gnu.org>
1143
79fb38c0
GM
1144 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
1145 faces and other things.
1146
20b28f82
GM
1147 * xdisp.c (get_next_display_element): Fix case of empty
1148 display table entry.
1149
5a72551e
EZ
11502001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
1151
eb24d0bf
EZ
1152 * editfns.c (Fconstrain_to_field): Doc fix.
1153
6a3f48c7
EZ
1154 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
1155 into `thoroughly', to make it consistent with the doc string.
1156
5a72551e
EZ
1157 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
1158
01acdb05
GM
11592001-02-01 Gerd Moellmann <gerd@gnu.org>
1160
0353b28f
GM
1161 * search.c (search_buffer): Call set_search_regs with a byte
1162 position, not a character position.
1163
01acdb05
GM
1164 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
1165 minibuffer-only,
1166
e86b5133
EZ
11672001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
1168
1169 * frame.c (Fmodify_frame_parameters): Doc fix.
1170
7442878f
GM
11712001-01-31 Gerd Moellmann <gerd@gnu.org>
1172
01acdb05
GM
1173 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
1174 identifier which is not reserved by Standard C.
1175
7442878f
GM
1176 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
1177
1178 * window.c (enum window_part): New enumeration.
1179 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
1180 Qright_bitmap_area.
1181 (coordinates_in_window): Return an enumerator from enum
1182 window_part. Fix handling of right scroll bar.
1183 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
1184 `right-fringe' instead of `left-bitmap-area' and
1185 `right-bitmap-area'. Use enumerators from enum window_part
1186 instead of hard-coded integers.
1187 (check_window_containing, window_from_coordinates): Use
1188 enumerators from enum window_part instead of hard-coded integers.
1189 (syms_of_window): Replace Qleft_bitmap_area and
1190 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
1191
7c132cba
EZ
11922001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
1193
1194 * editfns.c (Fformat_time_string): Doc fix.
1195
c359dd9e
SM
11962001-01-31 Stefan Monnier <monnier@cs.yale.edu>
1197
1198 * keymap.c (Fwhere_is_internal): Use the first valid binding
1199 if no ascii binding is found (when firstonly is t).
1200
ce070307
GM
12012001-01-31 Gerd Moellmann <gerd@gnu.org>
1202
b4f30ec5
GM
1203 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
1204 instead of Finteractive_p.
1205
1206 * lisp.h (interactive_p): Add prototype.
1207
1208 * eval.c (interactive_p): New function.
1209 (Finteractive_p): Use it.
1210
ce070307
GM
1211 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
1212
f57b6e64
DL
12132001-01-31 Dave Love <fx@gnu.org>
1214
d61c7afe
DL
1215 * .gdbinit (hook-run): Define to run xreload.
1216
f57b6e64
DL
1217 * textprop.c (Fset_text_properties): Fix newline in doc string.
1218
eef93f99
GM
12192001-01-30 Gerd Moellmann <gerd@gnu.org>
1220
1221 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp): Use
1222 DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
1223
1224 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
1225 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
1226 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
1227
1228 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
1229 height.
1230
d9c1f6f9
DL
12312001-01-30 Dave Love <fx@gnu.org>
1232
1233 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
1234 AFTER_POTENTIAL_GC.
1235
e8f044a0
GM
12362001-01-29 Gerd Moellmann <gerd@gnu.org>
1237
1238 * bytecode.c (Fbyte_code) <Bcurrent_column>: Add
1239 BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
1240
8e1db7b3
EZ
12412001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
1242
1243 * textprop.c (Fset_text_properties): Doc fix.
1244
4eefd9d2
GM
12452001-01-29 Gerd Moellmann <gerd@gnu.org>
1246
1247 * xdisp.c (forward_to_next_line_start): Remove xassert.
1248
fccb8288
EZ
12492001-01-29 Jason Rumney <jasonr@gnu.org>
1250
4eefd9d2 1251 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
1252 returning without releasing it.
1253
76581eab
KH
12542001-01-29 Kenichi Handa <handa@etl.go.jp>
1255
1256 * w32fns.c (w32_font_match): Allocate three more bytes to regex
1257 for '^', '$', and '\0'.
1258
83a96b4d
AC
12592001-01-28 Andrew Choi <akochoi@i-cable.com>
1260
5604ec34
AC
1261 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
1262 regex for '^', '$', and '\0'.
1263
83a96b4d
AC
1264 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
1265 only if current_sblock has been initialized.
1266
1267 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
1268 terminal frame even if it is the only visible frame.
1269
c09a6440
KH
12702001-01-28 Kenichi Handa <handa@etl.go.jp>
1271
1272 * fontset.c (font_family_registry): Even if FONTNAME conform to
1273 XLFD, if it specifies other fields than family and registry,
1274 return FONTANME. New argument FORCE if nonzero cancel that
1275 feature.
1276 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
1277 a signle byte character. Don't set FAMILY part to nil here. It
1278 is handled by the caller choose_face_font.
1279 (Fnew_fontset): Call font_family_registry with FORCE 0.
1280 (Fset_fontset_font): Likewise.
1281
4dcd74e6
GM
12822001-01-27 Gerd Moellmann <gerd@gnu.org>
1283
1284 * xdisp.c (display_line): Don't treat a newline as fitting
1285 on the line.
1286
d2906bf8
GM
12872001-01-26 Gerd Moellmann <gerd@gnu.org>
1288
0130fe1a
GM
1289 * window.c (size_window): Set the window's orig_top to nil when
1290 changing heights, so that a future shrink_mini_window won't
1291 restore a bogus height.
1292
550f0e6a
GM
1293 * frame.c (do_switch_frame): If selected frame has a mini-window,
1294 resize that to exact size.
1295
b7b20fbd
GM
1296 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
1297
a47b7816
GM
1298 * xdisp.c (display_line): Simplify check for glyphs fitting
1299 entirely in the line.
1300
d2906bf8
GM
1301 * xfns.c (xic_style): New variable.
1302 (create_frame_xic): Move static variable to global scope for
550f0e6a 1303 the case that `static' gets defined away.
d2906bf8 1304
73df2b1e
KH
13052001-01-26 Kenichi Handa <handa@etl.go.jp>
1306
1307 * coding.c (decode_coding): Set a flag for inhibiting
1308 inconsistent eol.
1309 (code_convert_region): Always set saved_coding_symbol.
1310 (decode_coding_string): Likewise. Update coding->symbol when we
1311 encounter a inconsistent eol by the same way as
1312 code_convert_region.
1313
6613cfc4
GM
13142001-01-25 Gerd Moellmann <gerd@gnu.org>
1315
c5e6e06b
GM
1316 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
1317 XClearArea.
1318
1319 * xterm.c (x_after_update_window_line): Don't clear if frame's
1320 internal border width is zero.
1321 (x_clear_area): New function.
1322 (x_after_update_window_line, x_clear_end_of_line)
1323 (x_scroll_bar_create, x_scroll_bar_set_handle)
1324 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
1325 instead of XClearArea.
1326
1327 * xterm.h (x_clear_area): Add prototype.
1328
6613cfc4
GM
1329 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
1330 which doesn't seem necessary anymore with Lesstif 0.92.
1331
650cc6cc
DL
13322001-01-25 Dave Love <fx@gnu.org>
1333
34ac3367
DL
1334 * puresize.h (BASE_PURESIZE): Up to 720000.
1335
650cc6cc
DL
1336 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
1337
5e37dc22
GM
13382001-01-25 Gerd Moellmann <gerd@gnu.org>
1339
e1e441f9
GM
1340 * xdisp.c (echo_area_display): Don't call redisplay_internal
1341 when Emacs is shutting down. We can't run hooks etc. that
1342 would be necessary to do a redisplay.
1343
5e37dc22
GM
1344 * lread.c (read_integer): Use type EMACS_INT instead of int.
1345
0fb94c7f
EZ
13462001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
1347
1348 * ccl.c (ccl_driver): Fix last change.
1349
e3778624
KH
13502001-01-25 Kenichi Handa <handa@etl.go.jp>
1351
1352 * ccl.h (sturct ccl_program): New member suppress_error.
1353
bb264518 1354 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
1355 insert error message to the output.
1356 (setup_ccl_program): Initialize ccl->suppress_error to 0.
1357
1358 * coding.h (struct coding_system): New member suppress_error.
1359
1360 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
1361 (Fset_terminal_coding_system_internal): Set the member
1362 suppress_error to 1.
1363 (Fset_safe_terminal_coding_system_internal): Likewise.
1364
245ed2b1
SM
13652001-01-24 Stefan Monnier <monnier@cs.yale.edu>
1366
1367 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
1368 as if it was a `charset'.
1369
f9aaedb6
GM
13702001-01-24 Gerd Moellmann <gerd@gnu.org>
1371
1372 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
1373 value in where_is_cache; the next lookup in the cache returns
1374 something bogus if we do.
1375
c3902c3e
EZ
13762001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
1377
1378 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
1379 if HAVE_WINDOW_SYSTEM isn't defined.
1380
3497f73e
GM
13812001-01-24 Gerd Moellmann <gerd@gnu.org>
1382
e7e41584
GM
1383 * fns.c (sweep_weak_table): Fix code taking items out of
1384 the hash collision chain. Some cleanup.
1385
3497f73e
GM
1386 * xterm.c (x_new_font): Don't change a tooltip's size.
1387
1388 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
1389 background color by specifying a color for the default font
1390 in .Xdefaults.
1391
3d48e687
KH
13922001-01-24 Kenichi Handa <handa@etl.go.jp>
1393
96531b20
KH
1394 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
1395 a workaround for SunOS 4's cc.
1396 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
1397 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
1398 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
1399 statement.
3d48e687 1400
a30629d2
GM
14012001-01-23 Gerd Moellmann <gerd@gnu.org>
1402
1403 * xterm.c (x_set_window_size_1): New function extracted from
1404 x_set_window_size.
1405 (x_set_window_size): Use it.
1406 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
1407 doesn't have a widget, like tooltips.
1408
5a43decf
EZ
14092001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
1410
1411 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc
1412 fix.
1413
b0e98867
KH
14142001-01-23 Kenichi Handa <handa@etl.go.jp>
1415
1416 * fns.c (Fset_char_table_default): Fix to make sub char-table
1417 correctly.
1418
50606b4c
GM
14192001-01-22 Gerd Moellmann <gerd@gnu.org>
1420
cb2ddc53 1421 * xdisp.c (build_desired_tool_bar_string): Make sure we have
a30629d2 1422 a desired tool bar string, even if there are no tool bar
cb2ddc53
GM
1423 items.
1424
57c28064
GM
1425 * xdisp.c (Ftool_bar_lines_needed): New function.
1426 (syms_of_xdisp): Defsubr it.
1427
50606b4c
GM
1428 * editfns.c (Fformat): Don't extend text properties from arguments
1429 to padding chars in the result.
1430
2f169c38
EZ
14312001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
1432
1433 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
1434
0f32f023
AI
14352001-01-20 Andrew Innes <andrewi@gnu.org>
1436
1437 * w32term.c (w32_ring_bell): Only support visible bell on w32
1438 frames.
1439 (w32_initialize): Don't set term hooks that aren't actually needed
1440 in windowed mode.
1441
1442 * xfaces.c (realize_default_face):
1443 (realize_face):
1444 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
1445
1446 * xdisp.c (handle_single_display_prop): Remove references to
1447 FRAME_W32_CONSOLE_P.
1448
1449 * dispnew.c (Fredraw_frame): Remove reference to
1450 FRAME_W32_CONSOLE_P.
1451
1452 * frame.h (output_method): Remove output_w32_console method.
1453 (FRAME_W32_CONSOLE_P): Remove macro.
1454
1455 * frame.c (Qw32_console): Remove variable.
1456 (Fframep): Remove references to it.
1457 (syms_of_frame): Ditto.
1458 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
1459
1460 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
1461 redefinition.
1462
7173eada
KH
14632001-01-20 Kenichi Handa <handa@etl.go.jp>
1464
1465 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
1466
755b45ce
AI
14672001-01-19 Andrew Innes <andrewi@gnu.org>
1468
1469 * w32.c (init_environment): Add a version-independent site-lisp
1470 directory to EMACSLOADPATH, after the version dependent one.
1471
0a949811
GM
14722001-01-19 Gerd Moellmann <gerd@gnu.org>
1473
8501998a
GM
1474 * editfns.c (Fbuffer_substring): Doc fix.
1475
0a949811
GM
1476 * xdisp.c (message_dolog, message2, message2_nolog): Rename
1477 parameter LEN to NBYTES.
1478
e6ebcbbe
KH
14792001-01-19 Kenichi Handa <handa@etl.go.jp>
1480
200ecca2
KH
1481 * charset.c (strwidth): Use c_string_width.
1482 (c_string_width): New function.
1483 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
1484 Caller changed.
1485
1486 * charset.h (c_string_width, lisp_string_width): Extern them.
1487
1488 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
1489
e6ebcbbe
KH
1490 * indent.c (check_composition): Check validity of composition.
1491
200ecca2
KH
1492 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
1493 characters by calling c_string_width.
1494 (x_consider_frame_title): Get byte length of frame tile string
1495 correctly.
1496 (display_mode_element): Pay attention to width of non-ASCII
1497 characters by calling strwidth.
1498
8692ca92
GM
14992001-01-18 Gerd Moellmann <gerd@gnu.org>
1500
8962e303
GM
1501 * xfns.c (Qcancel_timer): New variable.
1502 (syms_of_xfns): Initialize and staticpro it.
1503 (Fx_hide_tip, Fx_show_tip): Use it.
1504 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1505 the timer.
1506 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
1507
91523be9
GM
1508 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
1509
1510 * window.h (WINDOW_LIVE_P): New macro.
1511
b0b7ed0e
GM
1512 * window.c (window_size_fixed): New variable.
1513 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
1514 the doc string.
1515
06bccf8e
GM
1516 * eval.c (specbind): If binding a per-buffer variable which
1517 doesn't have a buffer-local value in the current buffer, change
1518 the global value by changing the value of the symbol bound in all
1519 buffers not having their own value, to make it consistent with
1520 what happens with other buffer-local variables.
1521
8692ca92
GM
1522 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
1523
1524 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
1525 when searching for a newline.
1526
bb3a3b50
KH
15272001-01-18 Kenichi Handa <handa@etl.go.jp>
1528
1529 * xdisp.c (display_string): Fix previous change.
1530
c2cc16fa
JR
15312001-01-18 Jason Rumney <jasonr@gnu.org>
1532
1533 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
1534 GLYPH_DEBUG is defined.
1535 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
1536 true for images with `:ascent 100'.
1537 (x_set_mouse_face_gc): If the last used mouse face has gone in the
1538 meantime, use face MOUSE_FACE_ID.
1539 If first glyph isn't a character glyph, use the ASCII NUL
1540 character to determine the face.
1541 (expose_area): Do not treat left margin specially.
1542 (note_mode_line_highlight): If no local_map, check global keymap.
1543 (note_mouse_highlight): Initialize overlay.
1544 (clear_mouse_face): Don't return if tip_frame is
1545 non-nil.
1546 (show_scroll_bars): Remove unused function.
1547 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
1548 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
1549 Clip to row.
1550 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be
1551 nil.
1552 (x_free_frame_resources): Unload relief colors.
1553
9c11f79e
GM
15542001-01-17 Gerd Moellmann <gerd@gnu.org>
1555
3aec8722
GM
1556 * xdisp.c (forward_to_next_line_start): Avoid calling
1557 get_next_display_element when the newline is already found. This
1558 may change the iterator's position, when its current position is
1559 equal to the iterator's stop_charpos.
1560
f3ffc2c3
GM
1561 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
1562 zero, use this method only at the end of a line.
1563
a86110a8
GM
1564 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
1565 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
1566 if SCALABLE_FONTS_P is set.
1567
d26d6fd9
GM
1568 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
1569 so that scalable fonts are included.
1570
9c11f79e
GM
1571 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
1572 In the cache, use a key containing the information if scalable
1573 fonts are included.
1574 (x_load_font): Adapt to change of keys in the font cache.
1575
15762001-01-17 Kim F. Storm <storm@filanet.dk>
1577
d26d6fd9
GM
1578 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
1579 XListFonts to take advantage of font caching.
1580
9c11f79e
GM
1581 * xterm.c (x_list_fonts): Ensure caching font information when
1582 called for a null frame, which is the case frequently when Emacs
1583 starts.
1584
51446987
GM
15852001-01-17 Gerd Moellmann <gerd@gnu.org>
1586
f864120f
GM
1587 * xfns.c (QCconversion): Replaces QCalgorithm.
1588
1589 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
1590
1591 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
1592 of :algorithm.
1593
e37d1417
GM
1594 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
1595 not everything could be displayed.
1596
51446987
GM
1597 * line.h, x-list-font.c: Files removed because unused.
1598
9ad4f3e5
AI
15992001-01-17 Andrew Innes <andrewi@gnu.org>
1600
1601 * dired.c (directory_files_internal): Convert result from readdir
1602 to a unibyte string initially, to avoid possible misinterpretation
1603 of some bytes as the internal form of Emacs characters.
1604
2eda09b5
KH
16052001-01-17 Kenichi Handa <handa@etl.go.jp>
1606
1607 * fns.c (concat): Be sure to avoid putting the same `composition'
1608 property on the adjacent regions.
1609
826f3788
GM
16102001-01-16 Gerd Moellmann <gerd@gnu.org>
1611
f251459d
GM
1612 * window.c (Fset_window_hscroll): Don't set window's min_hscroll
1613 here.
1614 (Fscroll_right, Fscroll_left): Set it here instead, if called
1615 interactively.
1616
d57b83b3
GM
1617 * buffer.c (Fset_buffer_modified_p): Set buffer's
1618 prevent_redisplay_optimizations_p flag.
1619
826f3788
GM
1620 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
1621 * sysdep.c, vmsproc.c, xselect.c: Call
1622 redisplay_preserve_echo_area with additional arg.
1623
1624 * dispextern.h, lisp.h (redisplay_preserve_echo_area): Change
1625 prototype.
1626
1627 * xdisp.c (redisplay_preserve_echo_area): Add parameter
1628 FROM_WHERE, for debugging.
1629
261d788b
KH
16302001-01-16 Kenichi Handa <handa@etl.go.jp>
1631
1632 * ccl.c (Fregister_ccl_program): Handle the return value of
1633 resolve_symbol_ccl_program correctly.
bda6b481
KH
1634 (CCL_Extension): Fix typo (originally CCL_Extention). Caller
1635 changed.
261d788b 1636
bccee4f2
GM
16372001-01-15 Gerd Moellmann <gerd@gnu.org>
1638
e4ded23c
GM
1639 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
1640 has gone in the meantime, use face MOUSE_FACE_ID.
1641
ae24cb3b
GM
1642 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: If
1643 x_display_info_for_display returns null, don't try to close
1644 the display; we didn't open it.
1645
bccee4f2
GM
1646 * dispnew.c (save_or_restore_current_matrices): Function removed.
1647 (save_current_matrix, restore_current_matrix): New functions.
1648 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
1649 restore the frame's current matrix. Due to the glyph pointer
1650 setup done in adjust_glyph_matrix, there is no easy way to make
1651 saving the current matrix in the desired matrix generally correct,
1652 so don't try it.
1653
ebeccffa
KH
16542001-01-15 Kenichi Handa <handa@etl.go.jp>
1655
1656 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
1657 truncation glyphs.
1658 (display_line): Optimize for wide characters.
e4ded23c 1659 (display_string): Don't try to display a multi-column character
ebeccffa
KH
1660 partially. On ttys, produce more than one truncation glyph for
1661 multi-column characters that don't fit on the line.
1662
64388126
KH
16632001-01-13 Kenichi Handa <handa@etl.go.jp>
1664
1665 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]: Define
1666 it instead of WORDS_BIGENDIAN. Caller changed.
1667
8edb0a6f
JR
16682001-01-13 Jason Rumney <jasonr@gnu.org>
1669
1670 * w32fns.c (Fimage_size, image_ascent, lookup_image)
1671 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
1672 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
1673 (tiff_format, gif_format, gs_format): Adapt to change of image
1674 margins.
1675
1676 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
1677 (x_draw_image_relief, x_draw_image_foreground_1)
1678 (x_draw_image_glyph_string): Adapt to change of image margins.
1679
1680 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
1681 variables.
1682
1683 * w32bdf.c (search_file_line, get_cached_font_char)
1684 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
1685
1686 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
1687
1688 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
1689 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
1690 (Fw32_send_sys_command): Remove unused variables.
1691 (w32_msg_pump): Add parentheses.
1692
1693 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
1694 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
1695 Add parentheses.
1696
4956d1ef
GM
16972001-01-12 Gerd Moellmann <gerd@gnu.org>
1698
b30623be
GM
1699 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
1700 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
1701 being a pair of margins.
1702 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
1703 to DEFVAR_LISP. Extend doc.
1704
1705 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
1706 margins.
1707 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
1708 pair of integers `(X . Y)', use X for the horizontal and Y for the
1709 vertical margin.
1710 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
1711 (parse_image_spec): Check it.
1712 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
1713 (tiff_format, gif_format, gs_format): Use
1714 IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
1715
1716 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
1717 (x_draw_image_relief, x_draw_image_foreground_1)
1718 (x_draw_image_glyph_string): Adapt to the change of image margins.
1719
1720 * dispextern.h (struct image): Replace member `margin' with
1721 `hmargin' and `vmargin'.
1722
4554cc79
GM
1723 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
1724 and GLYPHS.
1725
1726 * dispnew.c (update_text_area): Put code which decrements the
1727 stop position when the row's face extends to the end of the
3bffc665 1728 line in #if 0.
4554cc79 1729
3cccce8d
GM
1730 * xfns.c (x_set_mouse_color): Fix color allocation.
1731
4956d1ef
GM
1732 * keyboard.c: Call get_local_map with new argument list.
1733
1734 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
1735
1736 * intervals.h (enum map_property): Removed.
1737 (get_local_map): Change prototype.
1738
1739 * keymap.c: Call get_local_map with new argument list.
1740 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
1741
2c2ff7f2
GM
17422001-01-11 Gerd Moellmann <gerd@gnu.org>
1743
a23887b9
GM
1744 * xdisp.c (build_desired_tool_bar_string): Correct the computation
1745 of the size needed for the tool bar string. For the last image,
1746 use a `display' property that reaches to the end of the string.
1747
a7ee2d2e
GM
1748 * xselect.c (selection_request_dpyinfo): New variable.
1749 (x_handle_selection_request): Set it.
1750 (x_selection_request_lisp_error): Don't call
1751 x_decline_selection_request if selection request's display has
1752 been closed.
1753
2c2ff7f2
GM
1754 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]: Do
1755 the unregister_colors before calling XFreeColors.
1756
457b792c
GM
17572001-01-10 Dave Love <fx@gnu.org>
1758
1759 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
1760 ${SOME_MACHINE_LISP}, not ${lisp}.
1761
c1efd260
GM
17622001-01-10 Gerd Moellmann <gerd@gnu.org>
1763
a98b5ed9 1764 * xdisp.c (display_line): On ttys, produce more than one
4554cc79 1765 truncation glyph for multi-column characters that don't fit on the
a98b5ed9
GM
1766 line.
1767
ac95a621
GM
1768 * xselect.c (x_reply_selection_request): Add a comment.
1769
c1efd260
GM
1770 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
1771 XkbGetNames instead of XkbGetKeyboard.
1772
1bfb1345
DL
17732001-01-10 Dave Love <fx@gnu.org>
1774
1775 * sysdep.c (random): Revert the declaration.
1776
38119822
GM
17772001-01-09 Gerd Moellmann <gerd@gnu.org>
1778
35f464a7
GM
1779 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]: Call
1780 function string_bytes.
1781 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
1782
1783 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
1784 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
1785 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
1786 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
1787 the current sblock.
1788 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
1789 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
1790 after sweeping strings, and at the end.
1791 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
1792
38119822
GM
1793 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
1794 ensure that pop_message is called.
1795
1796 * keyboard.c (Fexecute_extended_command): Use a
1797 record_unwind_protect to ensure that pop_message is called.
1798
1799 * lisp.h (push_message_unwind): Add prototype.
1800
1801 * xdisp.c (push_message_unwind): New function.
1802
1803 * fileio.c (do_auto_save_unwind): Do the pop_message here
1804 instead of in Fdo_auto_save.
1805 (Fdo_auto_save): Don't call pop_message.
1806
f47a9ec4
KR
18072001-01-08 Ken Raeburn <raeburn@gnu.org>
1808
1809 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
1810 in inner block.
1811
a758f97d
GM
18122001-01-08 Gerd Moellmann <gerd@gnu.org>
1813
6d0afc03
GM
1814 * window.c (window_scroll_pixel_based): Adjust glyph matrices
1815 when increasing window's vscroll.
1816
a758f97d
GM
1817 * macros.c (Qkbd_macro_termination_hook): New variable.
1818 (syms_of_macros): Initialize and staticpro it.
1819 (pop_kbd_macro): Run kbd-macro-termination-hook.
1820
1821 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
1822
1bfb1345 18232001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
1824
1825 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
1826 arglist, for documentation's sake.
1827
0dac6924
AI
18282001-01-06 Andrew Innes <andrewi@gnu.org>
1829
1830 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
1831 of *.pdb.
1832
8182406a
AI
18332001-01-05 Andrew Innes <andrewi@gnu.org>
1834
1835 * term.c (update_end): Don't check updating_frame; for some reason
1836 this can be 0 sometimes, such as after dismissing a popup menu,
1837 and isn't necessary given the explicit frame argument.
1838
3828218c
GM
18392001-01-05 Gerd Moellmann <gerd@gnu.org>
1840
1841 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
1842 on some systems, and an unsigned long on others, like FreeBSD 4.1.
1843
2f5ded21
GM
18442001-01-04 Gerd Moellmann <gerd@gnu.org>
1845
1846 * xterm.c (clear_mouse_face): Don't return if tip_frame is
1847 non-nil.
1848
1849 * xfns.c (x_create_tip_frame): Preserve the value of
1850 face_change_count around the creation of the tip frame.
1851
1852 * xfns.c (last_show_tip_args): New variable.
1853 (compute_tip_xy): New function.
1854 (Fx_show_tip): Reuse an existing tip frame, if possible.
1855 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
1856
dfad65fa
DL
18572001-01-04 Dave Love <fx@gnu.org>
1858
64d4ec0f
DL
1859 * editfns.c (Fformat): Doc fix.
1860
dfad65fa
DL
1861 * systime.h (set_file_times): Prototype.
1862
1863 * widget.h (EmacsFrameSetCharSize_): Prototype.
1864
1865 * sysdep.c (random, srandom): Declare explicitly.
1866
1867 * dispextern.h (move_it_vertically_backward): Declare.
1868
85fe3b5e
GM
18692001-01-04 Gerd Moellmann <gerd@gnu.org>
1870
0f2ac578
GM
1871 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
1872 like in Fx_create_frame.
1873
482cca61
GM
1874 * xfaces.c (set_font_frame_param): Don't do anything for
1875 non-graphical frames.
1876
85fe3b5e
GM
1877 * window.c (Fdelete_other_windows): Set window's window_end_valid
1878 to nil when changing the window's start. Don't change the
1879 window's start when its top position hasn't changed. If we do,
1880 this will set the window's optional_new_start, which act's like a
1881 force_start during redisplay with C-x 1 M-> under particular
1882 circumstances (see report from Per Starback to emacs-pretest-bug
1883 from 2000-12-13.).
1884
3e99d3b4
GM
18852001-01-03 Gerd Moellmann <gerd@gnu.org>
1886
a77dc1ec
GM
1887 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
1888 short cut at the start of the function. Add an assertion.
1889 (reseat_at_next_visible_line_start): Add an assertion.
1890
2f3cad6c
GM
1891 * window.c (Frecenter): When changing the window start, set the
1892 window's window_end_valid to nil.
1893 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
1894
1895 * dispextern.h (move_it_past_eol): Add prototype.
1896
1897 * xdisp.c (move_it_past_eol): New function.
1898
3e99d3b4
GM
1899 * window.c (Fwindow_end): Doc fix.
1900
19012001-01-03 Dave Love <fx@gnu.org>
1902
1903 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3
1904 kluge.
1905
bafb434c
GM
19062001-01-03 Gerd Moellmann <gerd@gnu.org>
1907
1908 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
1909 the enabled_p flag of the glyph row at window_end_vpos to 0.
1910 (handle_single_display_prop): Fix last change.
1911
5297fb00
RS
19122001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
1913
1914 * window.c (Frecenter): Doc fix.
1915
13d6a61c
AI
19162001-01-02 Andrew Innes <andrewi@gnu.org>
1917
1918 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
1919
1920 * frame.h (output_method): Add output_w32_console method.
1921 (FRAME_W32_CONSOLE_P): New macro.
1922
1923 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
1924 use output_w32_console method.
1925 (Qw32_console): New Lisp_Object.
1926 (Fframep): Return it.
1927 (syms_of_frame): Init it.
1928 (Fframe_parameters): Report w32console as font for w32_console
1929 frames.
1930
1931 * xfaces.c (realize_default_face): Set face foreground and
1932 background to unspecified for w32_console frames.
1933 (realize_face): Realize face cache for w32_console frames.
1934 (realize_tty_face): Accept w32_console frames.
1935
1936 * xdisp.c (handle_single_display_prop): Return if frame is
1937 w32_console.
1938 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
1939 necessary, even if running interactively.
1940
1941 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
1942 w32_console frames.
1943
1944 * w32term.c (x_update_begin):
1945 (x_update_end):
1946 (x_clear_frame):
1947 (x_ins_del_lines):
1948 (x_change_line_highlight):
1949 (x_delete_glyphs):
1950 (w32_ring_bell):
1951 (x_update_begin):
1952 (x_update_end):
1953 (w32_reassert_line_highlight):
1954 (w32_frame_rehighlight):
1955 (w32_frame_raise_lower): Do nothing if not w32 frame.
1956
1957 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
1958
1959 * w32fns.c (Fx_display_color_cells): Determine correct value, when
1960 system doesn't tell us directly.
1961 (Fx_display_visual_class): Implement properly.
1962
d6bb0c0d
GM
19632001-01-02 Gerd Moellmann <gerd@gnu.org>
1964
1965 * window.c (Frecenter): Handle centering in graphical frames
1966 specially. Centering on the basis of line counts doesn't work
1967 reliably with variable-height lines.
1968
315f5865
EZ
19692001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
1970
1971 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
1972 and al[].
1973
1974 * composite.c (run_composition_function): Remove unused variable
1975 `val'.
1976 (update_compositions): Remove unused variable `hook'.
1977
1978 * intervals.c (get_local_map): Remove unused variable `tem'.
1979
1980 * doprnt.c (doprnt1): Remove unused variable `size'.
1981
1982 * fns.c (Flength): Remove unused variable `tail'.
1983 (Fdelete): Remove unused variable `size'.
1984
1985 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
1986 and `gcpro2'.
1987
1988 * doc.c (Fsnarf_documentation): Remove unused variables `fun' and
1989 `tem'.
1990
1991 * data.c (find_symbol_value): Remove extra 3rd argument in the
1992 call to swap_in_symval_forwarding.
1993
1994 * undo.c (Fprimitive_undo): Remove unused block-scope variable
1995 `end'.
1996
1997 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
1998 (trivial_regexp_p): Remove unused variable `c'.
1999 (boyer_moore): Remove unused variable `k'.
2000
2001 * indent.c (current_column): Remove unused variable `stopchar'.
2002 (Fcompute_motion): Remove unused variable `contin'.
2003
2004 * casefiddle.c (casify_object): Remove unused variable `tolen'.
2005
2006 * dired.c (directory_files_internal): Fix a typo in a comment.
2007 Remove an unused variable `handler'.
2008 (file_name_completion): Remove unused function-scope variable
2009 `dp'.
2010 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
2011 on BSD4_2.
2012
2013 * fileio.c (e_write): Remove unused variable
2014 `require_encoding_p'.
2015
2016 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
2017 and `buf'.
2018 (Fmarker_insertion_type): Remove unused variable `buf'.
2019
2020 * insdel.c (make_gap): Remove unused variable `result'.
2021
2022 * keyboard.c (record_char): Remove unused function-scope variable
2023 `help'.
2024 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
2025 (menu_bar_items): Remove unused function-scope variable `tem'.
2026
2027 * fontset.c (fontset_ref): Remove unused variable `i'.
2028 (fontset_set): Remove unused variables `j' and `tmp'.
2029 (make_fontset): Remove unused variables `i', `j', `elt' and
2030 `base_elt'.
2031 (make_fontset_for_ascii_face): Remove unused variable `name'.
2032 (fs_load_font): Remove unused variable `font_idx'.
2033 (fs_query_fontset): Remove unused function-local variable
2034 `fontset'.
2035 (list_fontsets): Remove unused variable `tail'.
2036 (Fnew_fontset): Remove unused variables `family' and `registry'.
2037 (accumulate_font_info): Remove unused variable `tmp'.
2038 (Ffontset_font): Remove unused variable `id'.
2039 (syms_of_fontset): Remove unused variable `i'.
2040
2041 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
2042 to x_term_init.
2043 (lookup_image): Remove unused variable `file'.
2044 (xbm_load): Remove unused variables `bitmap_data', `height', and
2045 `width'. Remove function-local variable `i', leave the
2046 block-local one.
2047 (gif_load): Remove unused variable `inc'.
2048
2049 * xterm.c (XTread_socket): Remove unused variables `p' and
2050 `pend'.
2051 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
2052 leave only the one in the inner block.
2053
2054 * xfaces.c (face_fontset, realize_default_face): Remove unused
2055 variable `fontset'.
2056 (face_at_buffer_position): Remove unused variable `multibyte_p'.
2057
2058 * term.c (encode_terminal_code): Remove unused variable `c'.
2059
2060 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
2061 char *' instead of `char *'.
2062
2063 * category.c (Fcategory_docstring): Remove unused variable `doc'.
2064 (Fget_unused_category): Remove unused variable
2065 `docstring_vector'.
2066 (Fchar_category_set): Remove unused variables `val', `charset',
2067 `c1' and `c2'.
2068
2069 * coding.c (detect_coding_iso2022, setup_coding_system): Remove
2070 unused variable `i'.
2071 (detect_coding_mask): Remove unused variable `idx'.
2072 (detect_coding): Remove unused variable `i'.
2073 (ccl_coding_driver): Remove unused variable `result'.
2074 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
2075 (decode_coding_string): Remove unused variables `to' and
2076 `gcpro1'.
2077 (encode_coding_string): Remove unused variables `gcpro1' and
2078 `saved_coding_symbol'.
2079 (Ffind_coding_systems_region_internal): Remove function-local
2080 variable args[], leave only the block-local one.
2081 (code_convert_region1): Remove unused variable `len'.
2082
2083 * charset.c (char_printable_p): Remove unused variable `chars'.
2084 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
2085 (str_to_multibyte): Remove unused variable `c'.
2086
2087 * window.c (size_window): Remove block-local variable `min_size'.
2088
2089 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
2090 `header_line_height'.
2091 (append_space, extend_face_to_end_of_line): Declare `saved_what'
2092 enum display_element_type.
2093
1a8a9daf
GM
20942001-01-02 Gerd Moellmann <gerd@gnu.org>
2095
6dde6abc
GM
2096 * xterm.c (x_connection_closed): Catch X errors around all
2097 statements that call X. Save away the error message in a local
2098 copy.
2099
1883b2c6
GM
2100 * xterm.c (x_connection_closed): Set handling_signal to 0 at
2101 the start.
2102
a13be207
GM
2103 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
2104 in or at the start of invisible text.
2105
1a8a9daf
GM
2106 * dispnew.c (update_window): Don't check_current_matrix_flags.
2107
3608c0f9
JR
21082001-01-01 Jason Rumney <jasonr@gnu.org>
2109
2110 * w32fns.c (x_figure_window_size): Do not allow new_height and
2111 new_width of frame to override specified values.
2112
abb1acc4
KH
21132000-12-30 Kenichi Handa <handa@etl.go.jp>
2114
d279f620
KH
2115 * composite.c (find_composition): Fix a code for searching
2116 backward.
abb1acc4 2117
762a68ec
GM
21182000-12-29 Gerd Moellmann <gerd@gnu.org>
2119
9c8b8382
GM
2120 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New
2121 function.
2122 (update_window) [GLYPH_DEBUG]: Call it.
2123 (scrolling_window): Prevent including current rows which are below
2124 what's displayed in the window.
2125
2126 * xdisp.c (try_window_reusing_current_matrix)
2127 <new start <= old start>: Disable rows in the current matrix
2128 which are below the window after scrolling.
2129
762a68ec
GM
2130 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
2131 is zero. It's not worth the complexity.
2132 (invisible_text_between_p): Put in #if 0 because unused.
2133
2d5912c1
GM
21342000-12-28 Gerd Moellmann <gerd@gnu.org>
2135
46f6a258
GM
2136 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
2137 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
2138
89f93679
GM
2139 * keyboard.c (echo_char): If C is an integer, always call
2140 push_key_description. Former code could signal an invalid
2141 character error.
2142
2143 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
2144 If set, print multibyte text.
2145 (Fsingle_key_description): Call push_key_description with
2146 FORCE_MULTIBYTE set.
2147 (describe_buffer_bindings): Likewise.
2148
2149 * lisp.h (push_key_description): Add prototype.
2150
c06017fb
GM
2151 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
2152 around the call to redisplay_internal.
2153
f1d2ce7f
GM
2154 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2155
2d5912c1
GM
2156 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2157
9371f831
KH
21582000-12-28 Kenichi Handa <handa@etl.go.jp>
2159
2160 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
2161 (ccl_driver): New local variable `extra_bytes'.
2162
2163 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
2164
2165 * coding.c (setup_coding_system): Initialize
2166 coding->spec.ccl.eight_bit_carryover.
2167 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
2168
0c80628a
KH
21692000-12-28 Kenichi Handa <handa@etl.go.jp>
2170
2171 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
2172 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
2173 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
2174 (decode_composition_emacs_mule): New function.
2175 (decode_coding_emacs_mule): Decode composition sequence by calling
2176 decode_composition_emacs_mule.
2177 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
2178 (encode_coding_emacs_mule): Changed from macro to function. If
2d5912c1 2179 a text contains compositions, encode them correctly.
0c80628a
KH
2180 (setup_coding_system): Set coding->commong_flags for emacs-mule so
2181 that decoding and encoding are required.
2182
3e32cc27
GM
21832000-12-27 Gerd Moellmann <gerd@gnu.org>
2184
5e25feee
GM
2185 * xfaces.c (PT_PER_INCH): New macro.
2186 (xlfd_point_size): Compute real point size from font's pixel size.
2187 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
2188 instead of 72.
2189
892d8fcd
GM
2190 * .gdbinit: Comment out the line pointing to the Lesstif source
2191 directory.
2192
12c8b416
GM
2193 * window.c (Frecenter): Use displayed_window_lines instead
2194 of window_internal_height.
2195
6061fbf0
GM
2196 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2197 instead of x-toolkit-scroll-bars-p.
2198 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
2199
2200 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2201 instead of x-toolkit-scroll-bars-p.
2202 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
2203
3e32cc27
GM
2204 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
2205 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
2206 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]: New
2207 variables.
2208 (add_window_display_history, add_frame_display_history)
2209 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
2210 (build_frame_matrix_from_leaf_window): Remove unused code.
2211 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
2212 redisplay history.
2213 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
2214 (update_window) [GLYPH_DEBUG]: Likewise.
2215 (syms_of_display): Defsubr dump-redisplay-history.
2216
31798cfe
GM
22172000-12-23 Gerd Moellmann <gerd@gnu.org>
2218
f717c2ba
GM
2219 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
2220 the end of the prompt. Set echo_after_prompt to the offset
2221 of echoptr in echobuf.
2222
aeb2b8fc
GM
2223 * xdisp.c (init_from_display_pos): Pop until the iterator's
2224 stack is empty; there may be frames for stretch or images
2225 on the stack.
2226
31798cfe
GM
2227 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
2228 (save_or_restore_current_matrix): New function for the same
2229 purpose, but more efficient.
2230 (adjust_frame_glyphs_for_frame_redisplay): Use it.
2231
f8156156
EZ
22322000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
2233
2234 * xdisp.c (syms_of_xdisp): Fix last change.
2235
bdd6d4e8
GM
22362000-12-23 Gerd Moellmann <gerd@gnu.org>
2237
2238 * xdisp.c (syms_of_xdisp): Doc fix.
2239
2240 * xdisp.c (redisplay_window): Remove label restore_buffers;
2241 use finish_scroll_bars instead to make sure that scroll bars
2242 are redeemed. If we don't do this, flickering can result from
2243 scroll bars being destroyed and recreated.
2244
9436cdf9
JR
22452000-12-22 Jason Rumney <jasonr@gnu.org>
2246
2247 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
2248 in the wrong colors when the foreground is not black.
2249 (expose_window): Don't redraw the window that's currently being
2250 updated.
2251
951f9df5
GM
22522000-12-22 Gerd Moellmann <gerd@gnu.org>
2253
856ff7a7
GM
2254 * window.c (size_window): When setting the window's too_small_ok
2255 flag, compare old size with minimum size depending on WIDTH_P,
2256 don't compare with window_min_width.
2257
951f9df5
GM
2258 * window.c (delete_window): Simplify somewhat.
2259 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
2260 freeing window matrices. The flag windows_or_buffers_changed is
2261 set, so the next redisplay will consider all windows; this should
2262 suffice.
2263
886bc933
KH
22642000-12-22 Kenichi Handa <handa@etl.go.jp>
2265
2266 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
2267
2268 * ccl.h (struct ccl_program): New member cr_consumed.
2269
2270 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
2271 (CCL_READ_CHAR): Handle EOL conversion here.
2272 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
2273
177f4e88
GM
22742000-12-21 Gerd Moellmann <gerd@gnu.org>
2275
6ba384dc
GM
2276 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg
2277 GLYPHS.
2278
2279 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
2280 otherwise tabs of different size compare equal.
2281
2282 * callint.c (Fcall_interactively): Prevent a compiler warning.
2283
2284 * print.c (print_unwind): Return nil.
2285 (PRINTDECLARE): Initialize all local variables.
2286 (print_preprocess): Add a default case.
2287
8e15274f
GM
2288 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
2289
2290 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
2291
177f4e88
GM
2292 * window.c (delete_window, Fsplit_window)
2293 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
2294
2295 * dispextern.h (ensure_frame_matrix): Function declaration removed.
2296
2297 * dispnew.c (ensure_frame_matrix): Removed.
2298 (save_frame_matrix, restore_frame_matrix): New functions.
2299 (adjust_frame_glyphs_for_frame_redisplay): Use them.
2300
2301 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
2302 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
2303
99012074
AI
23042000-12-21 Andrew Innes <andrewi@gnu.org>
2305
2306 * w32term.c (x_update_begin): Regenerate the palette here, rather
2307 than for each window.
2308
2309 * w32xfns.c (select_palette): Avoid calling SelectPalette if
2310 palette is NULL, since this corrupts memory! Also get
2311 display_info reference from frame.
2312
29ef7d2d
JR
23132000-12-21 Jason Rumney <jasonr@gnu.org>
2314
2315 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
2316
2317 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
2318 to avoid returning without releasing it.
3e27fa1f 2319
3f9d67a6
KH
23202000-12-21 Kenichi Handa <handa@etl.go.jp>
2321
587fc3f9
KH
2322 * keymap.c (push_key_description): Don't convert eight-bit-control
2323 and eight-bit-graphic to multibyte character.
2324
3f9d67a6
KH
2325 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
2326 generic character and CODE1 is nil, return the smallest character
2327 in CHARSET.
2328
774ba8c9
DL
23292000-12-20 Dave Love <fx@gnu.org>
2330
2331 * s/osf5-0.h (NSIG): Don't redefine.
2332
88416888
SM
23332000-12-20 Stefan Monnier <monnier@cs.yale.edu>
2334
2335 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
2336 excluding menu-bar and tool-bar.
2337 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
2338 (menu_item_p): Remove.
2339 (where_is_internal_1): Don't ignore menu-items.
2340
a6426c6f
GM
23412000-12-20 Gerd Moellmann <gerd@gnu.org>
2342
03ff8aab
GM
2343 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
2344 into account.
2345
2346 * window.c (make_window): Initialize window's min_hscroll.
2347 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
2348 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
2349 to zero.
2350 (struct saved_window): New member min_hscroll.
2351 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
2352 (Fset_window_configuration): Set window's min_hscroll.
2353 (save_window_save): Save window's min_hscroll.
2354 (compare_window_configurations): Compare min_hscroll values.
2355
2356 * window.h (struct window): New member min_hscroll.
2357
2358 * keyboard.c (echo_prompt): Prevent a compiler warning.
2359
8de4aaf8
GM
2360 * xdisp.c (try_cursor_movement): Fix last change. The real
2361 condition is that PT is at the end of the row, and should
2362 be displayed at the start of the next row.
2363
3f7e3031
GM
2364 * xdisp.c (try_cursor_movement): If we end on a partially
2365 visible line, end we already decided to scroll, return -1.
2366
a6426c6f
GM
2367 * dispextern.h (ensure_frame_matrix): Add prototype.
2368
2369 * window.c (delete_window, Fsplit_window)
2370 (Fset_window_configuration): Call ensure_frame_matrix.
2371
2372 * dispnew.c (fake_current_matrices, ensure_frame_matrix): New
2373 functions.
2374 (adjust_frame_glyphs_for_frame_redisplay): If display has been
2375 completed, call fake_current_matrices instead of marking frame
2376 garbaged.
2377
57fa2774
JR
23782000-12-20 Jason Rumney <jasonr@gnu.org>
2379
2380 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
2381
d925df90
EZ
23822000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
2383
2384 * fns.c (Frequire): Doc fix.
2385
7b93a85b
GM
23862000-12-19 Gerd Moellmann <gerd@gnu.org>
2387
71d4497a
GM
2388 * window.c (window_scroll_pixel_based): Don't use
2389 move_it_vertically.
2390
c74e645b
GM
2391 * dispnew.c (direct_output_for_insert): Fix check for mini-window
2392 currently displaying a message.
2393
7b93a85b
GM
2394 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
2395 xterm.h.
2396 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
2397
90d97e64
AI
23982000-12-18 Andrew Innes <andrewi@gnu.org>
2399
2400 * w32.c (w32_strerror): New function.
2401
2402 * w32.h (w32_strerror): New extern.
2403
2404 * w32fns.c (Fw32_shell_execute): Use it.
2405
91c9e6ce
GM
24062000-12-18 Gerd Moellmann <gerd@gnu.org>
2407
2408 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
2409
6f4745e2
EZ
24102000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2411
2412 * msdos.c (IT_set_face): Obey inverse_video.
2413
c9e088ce
KH
24142000-12-18 Kenichi Handa <handa@etl.go.jp>
2415
2416 * dired.c (directory_files_internal): Always return decoded filenames.
2417
c3695f5f
GM
24182000-12-18 Gerd Moellmann <gerd@gnu.org>
2419
52d8e4ff
GM
2420 * xterm.c (x_connection_closed): Prevent being called recursively
2421 because of an error condition in XtCloseDisplay.
2422
62be9979
GM
2423 * xdisp.c (init_iterator): If noninteractive, and the frame's
2424 face cache is null, make one.
2425
5f7a1890
GM
2426 * xfns.c (show_busy_cursor): Check for live frames more
2427 thoroughly.
2428
c3695f5f
GM
2429 * process.c (wait_reading_process_input): Check for pending
2430 input when running timers.
2431
78555fbe
EZ
24322000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2433
2434 * msdos.c (IT_write_glyphs): Compute the glyph face from
2435 str->face_id.
2436
b2b36264
KH
24372000-12-18 Kenichi Handa <handa@etl.go.jp>
2438
2439 * process.c (read_process_output): Don't run a filter if the code
2440 decoder produces nothing but carryover.
2441
9c543fbf
AI
24422000-12-17 Andrew Innes <andrewi@gnu.org>
2443
2444 * w32.c (sys_rename): Only check errno against EEXIST, and not
2445 EACCES, when determining whether rename failed because the target
2446 exists. This was resulting in indefinite looping on Windows 9x if
2447 the source file was locked by another process.
2448
2449 * w32fns.c (Ffile_system_info): New function.
2450 (syms_of_w32fns): Defsubr it.
2451
10c2b5a8
GM
24522000-12-17 Gerd Moellmann <gerd@gnu.org>
2453
b0228ace
GM
2454 * window.c (coordinates_in_window): Fix computation for
2455 position on vertical line between mode lines.
2456
10c2b5a8
GM
2457 * xfns.c (unwind_create_frame): Return t if frame was deleted.
2458 Don't alter tip_frame or tip_window.
2459 (unwind_create_tip_frame): Set tip_frame to nil only if frame
2460 was deleted.
2461
c844a81a
GM
2462 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
2463 Don't alter tip_frame or tip_window.
2464 (unwind_create_tip_frame): Set tip_frame to nil only if frame
2465 was deleted.
2466
6c825f8e
EZ
24672000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
2468
2469 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
2470 be consistent with the doc string. Reported by NAKAJIMA Mikio
2471 <minakaji@osaka.email.ne.jp>.
2472
af4bb4c8
KH
24732000-12-16 Kenichi Handa <handa@etl.go.jp>
2474
2475 * xfaces.c (Vface_ignored_fonts): New variable.
2476 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
2477 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
2478
8062e53a
GM
24792000-12-15 Gerd Moellmann <gerd@gnu.org>
2480
e87b8809
GM
2481 * dispnew.c (update_window): Detect pending input every nth line
2482 updated, i.e. do it depending on real work done, and not on the
2483 vpos of the line.
2484
2485 * xterm.c (expose_window): Don't redraw the window that's
2486 currently being updated.
2487
a6768cc5
GM
2488 * window.c (Fset_window_point): Remove test for
2489 cursor_in_non_selected_windows.
2490
4ea7fdca
GM
2491 * lread.c (read1): Recognize end of file after `\\'.
2492
8062e53a
GM
2493 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
2494 not unwind_create_frame.
2495
bb7959c1
GM
24962000-12-15 Dave Love <fx@gnu.org>
2497
2498 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
2499 bcopy & al.
2500
2501 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
2502
ced04c42
KH
25032000-12-15 Kenichi Handa <handa@etl.go.jp>
2504
c5443913
KH
2505 * coding.c (setup_coding_system): Clear all members of the struct
2506 coding_system at first.
bc137305
KH
2507 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
2508 argument.
2509 (code_convert_region): Don't override coding->src_multibyte and
2510 coding->dst_multibyte.
c5443913 2511
ced04c42
KH
2512 * fns.c (Fmd5): Docstring improved.
2513
c2d7f289
MB
25142000-12-15 Miles Bader <miles@gnu.org>
2515
2516 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
2517 are actually marked as mode-lines; otherwise use
2518 estimate_mode_line_height.
2519
9d7d9263
GM
25202000-12-14 Gerd Moellmann <gerd@gnu.org>
2521
2522 * editfns.c (Fformat): Prevent a buffer overrun when the format
2523 specifies a precision.
2524
7cf0153a
EZ
25252000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
2526
2527 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
2528 argument is outside the range [2..3].
2529
1de0f662
AI
25302000-12-14 Andrew Innes <andrewi@gnu.org>
2531
2532 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
2533 nothing to do. Bind inhibit-quit.
2534 (tip_frame): Make it a Lisp_Object.
2535 (x_create_tip_frame): Set tip_frame after it has been added to
2536 Vframe_list.
2537 (Fx_show_tip): Don't set tip_frame here.
2538 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New
2539 variables.
2540 (unwind_create_frame, unwind_create_tip_frame): New functions.
2541 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
2542 while a frame is only partially constructed.
2543
2544 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
2545 (x_free_frame_resources): New function.
2546 (x_destroy_window): Use it.
2547
02387dcc
GM
25482000-12-14 Gerd Moellmann <gerd@gnu.org>
2549
2550 * xfns.c (Fx_backspace_delete_keys_p): New function.
2551 (syms_of_xfns): Defsubr it.
2552
2553 * config.in (HAVE_XKBGETKEYBOARD): Add.
2554
0544ef49
KH
25552000-12-14 Kenichi Handa <handa@etl.go.jp>
2556
98d62747
KH
2557 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
2558 Always store string in multibyte representation in echobuf.
2559 (echo_char): Always store string in multibyte representation in
2560 echobuf.
2561 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
2562 (read_key_sequence): Adjusted for the change of echo_prompt.
2563
a20193cd
KH
2564 * fns.c (Fmd5): Docstring improved.
2565
191b83b6
KH
2566 * lisp.h (detect_coding_system): Prototype adjusted.
2567
0544ef49
KH
2568 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
2569 (detect_coding_emacs_mule, detect_coding_iso2022,)
2570 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
2571 (detect_coding_utf_16, detect_coding_ccl): Make them static. New
2572 argument MULTIBYTEP. Callers changed.
2573 (detect_coding_mask, detect_coding_system): New argument
2574 MULTIBYTEP. Callers changed.
1da1bb05
KH
2575 (decode_coding_string): Set coding->src_multibyte and
2576 coding->dst_multibyte before calling detect_coding and detect_eol.
2577 Update them after some coding system is detected.
2578
d5b3eb1b
SM
25792000-12-13 Stefan Monnier <monnier@cs.yale.edu>
2580
2581 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
2582
2583 * keyboard.c (menu_bar_items, tool_bar_items):
2584 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
2585
f7f8bb69
GM
25862000-12-13 Gerd Moellmann <gerd@gnu.org>
2587
19f71add
GM
2588 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
2589 New variables.
2590 (unwind_create_frame, unwind_create_tip_frame): New functions.
2591 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
2592 while a frame is only partially constructed.
2593
2594 * xterm.h (x_free_frame_resources): Declare.
2595
2596 * xterm.c (x_free_frame_resources): New function.
2597 (x_destroy_window): Use it.
2598
e10da507
GM
2599 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
2600 don't interrupt the update for pending input initially, i.e.
2601 update at least some lines.
2602
2603 * keyboard.c (do_mouse_tracking): Make externally visible.
2604
d5b3eb1b 2605 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
2606
2607 * xfns.c (gray_bitmap_bits): Declare `char *'.
2608
90aa2856
GM
26092000-12-12 Gerd Moellmann <gerd@gnu.org>
2610
2611 * xdisp.c (display_tool_bar_line): Make sure that tool bar
2612 lines start with a relief line.
2613
a308c9cd
DL
26142000-12-12 Dave Love <fx@gnu.org>
2615
2616 * window.c (Fdisplay_buffer): Doc fix.
2617 (Fwindow_list): Remove unused var.
2618
2619 * buffer.h (mmap_set_vars): Declare.
2620
2621 * window.h (Fset_window_point): Declare.
2622
d575011f
EZ
26232000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
2624
bf6282d2 2625 * msdos.c (fast_find_position): Don't overstep the last window row.
d575011f
EZ
2626 (IT_note_mouse_highlight): Initialize portion to -1. Remove
2627 unused variable `area'. When looking for a row under (X,Y), give
2628 up if some of the previous rows is not enabled.
2629
ecf4d726
GM
26302000-12-12 Gerd Moellmann <gerd@gnu.org>
2631
2ebf6139
GM
2632 * window.c (Fset_window_point): If displaying cursors in windows
2633 other than the selected window, make sure redisplay updates
2634 other windows to show the new value of point in the window.
2635
2636 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
2637
bfdb75ee
GM
2638 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
2639 the buffer is the sole visible buffer when in the mini-buffer.
2640
4fdbd809
GM
2641 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
2642 Bind `inhibit-read-only' to t.
2643 (unwind_with_echo_area_buffer): Use AREF.
2644
c0006262
GM
2645 * xfns.c (Fx_hide_tip): Simplified.
2646
e9a59cad
GM
2647 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use
2648 GC_MAKE_GCPROS_NOOPS instead of `1'.
2649
ecf4d726
GM
2650 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
2651
e5959a9a
GM
26522000-12-11 Gerd Moellmann <gerd@gnu.org>
2653
a3642e49
GM
2654 * xfns.c (Fx_hide_tip): Fix last change.
2655
44b5a125
GM
2656 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
2657 nothing to do. Bind inhibit-quit.
2658 (tip_frame): Make it a Lisp_Object.
2659 (x_create_tip_frame): Set tip_frame after it has been added to
2660 Vframe_list.
2661 (Fx_show_tip): Don't set tip_frame here.
2662
2663 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
2664
2665 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
2666 Lisp_Object.
2667
2668 * dispextern.h: Change external declaration of tip_frame.
2669
d990421f
GM
2670 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
2671 return an empty string.
2672
4db87380
GM
2673 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
2674 of the window's update_mode_line flag, since the former is set by
2675 force-mode-line-update, not the latter. This makes
2676 column-number-mode slightly faster.
2677
e5959a9a
GM
2678 * xdisp.c (try_window_id) <all changes above window start>:
2679 Set the cursor.
2680
169fe44e
GM
26812000-12-11 Paul Eggert <eggert@twinsun.com>
2682
2683 * config.in (HAVE_FTELLO): Remove.
2684 (HAVE_FSEEKO): Add.
2685 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
2686 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
2687 HAVE_FTELLO.
2688 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
2689 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
2690
59ec59ae
MB
26912000-12-11 Miles Bader <miles@gnu.org>
2692
2693 * window.c (displayed_window_lines): Don't round up when
2694 converting empty space at bottom to lines.
ff904dd6
MB
2695 Handle non-newline-terminated final lines properly.
2696 (Fwindow_text_height): New function (used to be in lisp).
2697 (syms_of_window): Initialize it.
59ec59ae 2698
42ebfa31
SM
26992000-12-09 Stefan Monnier <monnier@cs.yale.edu>
2700
2701 * syntax.c (scan_lists): Check that the right quote char has the
2702 right Sstring syntax when jumping over strings.
2703 (init_syntax_once): Use Smax rather than 13.
2704
5cdb3cf3
MB
27052000-12-09 Miles Bader <miles@gnu.org>
2706
2707 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
2708 with PARTIALLY, inverting the sense.
2709 (window_scroll_pixel_based): Scroll partially visible lines into
2710 place if we hit the beginning or end of the buffer.
a12167c5
MB
2711 (displayed_window_lines): Don't include partially visible lines.
2712 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 2713
842b2a94
GM
27142000-12-08 Gerd Moellmann <gerd@gnu.org>
2715
2716 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
2717
2718 * tparam.c (tparam1): Change the way buffers are reallocated to be
2719 portable and less obfuscated.
2720
2721 * termcap.c (tgetent): Change the way buffers are reallocated to
2722 be portable and less obfuscated.
2723
2724 * macros.c (store_kbd_macro_char): Change the way buffers are
2725 reallocated to be portable and less obfuscated.
2726
2727 * lread.c (read1): Change the way buffers are reallocated to be
2728 portable and less obfuscated.
2729
2730 * doc.c (Fsubstitute_command_keys): Change the way buffers
2731 are reallocated so that it is portable.
2732
137cad7c
EZ
27332000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
2734
2735 * dosfns.c (Ffile_system_info): New function.
2736 (syms_of_dosfns): Defsubr it.
2737
5c7f629c
SM
27382000-12-07 Stefan Monnier <monnier@cs.yale.edu>
2739
2740 * alloc.c (gc_sweep): Add comment.
2741
959e647d
GM
27422000-12-07 Gerd Moellmann <gerd@gnu.org>
2743
28fcb7dc
GM
2744 * sound.c (vox_configure): Change order of ioctls. Don't
2745 set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
2746 Ignore errors when changing volume.
2747 (vox_close): Don't reset the device.
2748
926b7e5e
GM
2749 * process.c (read_process_output): Make sure the process marker's
2750 position is valid when the process buffer is changed in
2751 after-change functions. W3 does that.
2752
959e647d
GM
2753 * xfns.c (x_free_gcs): New function.
2754
2755 * xterm.h (x_free_gcs): Add prototype.
2756
2757 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
2758 freeing GCs here.
2759
2760 * xterm.c (x_destroy_window): Call x_free_gcs so that
2761 resources of non-toolkit X windows will be freed.
2762
478ea067
AI
27632000-12-07 Andrew Innes <andrewi@gnu.org>
2764
2765 * w32fns.c (xlfd_charset_of_font): Fix last change.
2766
fbee3231
DL
27672000-12-06 Dave Love <fx@gnu.org>
2768
67292061
DL
2769 * md5.h (__P): Don't define -- it comes from config.h.
2770
fbee3231
DL
2771 * strftime.c: Change some #if foo to #ifdef foo.
2772
4ee87dbb
AI
27732000-12-06 Andrew Innes <andrewi@gnu.org>
2774
2775 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
2776
2777 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname
2778 argument.
2779 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
2780 (w32_list_fonts): Don't choke if pattern doesn't specify a
2781 codepage.
2782
9765b4a4
GM
27832000-12-06 Gerd Moellmann <gerd@gnu.org>
2784
d285b373
GM
2785 * alloc.c (gc_sweep): Prevent symbols read during loadup
2786 from being freed.
2787
384333ee
GM
2788 * xdisp.c (underlying_face_id): New function.
2789 (handle_face_prop, face_before_or_after_it_pos): Use it
2790 to determine the face ``under'' a string. Let strings inherit
2791 the face of the buffer under them.
2792
2793 * xfaces.c (face_at_string_position): Update function comment.
2794
d4b72d58
GM
2795 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
2796 matrix if the window's left position has changed; we need to
2797 redraw it in this case.
2798
2799 * dispextern.h (struct glyph_matrix): Add member window_left_x.
2800
e1d05387
GM
2801 * window.c (coordinates_in_window): Check mouse on mode-line or
2802 header-line first.
2803
eb1b0c74
GM
2804 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
2805 advertized by the function documentation.
2806
d94d636f
GM
2807 * window.c (syms_of_window): Doc fix.
2808
3887b449
GM
2809 * sound.c (vox_configure): Set volume for left and right channel.
2810 (sound_cleanup): Return nil.
2811
efc8f57a
GM
2812 * xdisp.c (move_it_by_lines): Fix paren typo.
2813
9765b4a4
GM
2814 * xterm.c (x_load_font): Don't use the font's max_bounds for
2815 computing the height of the font. If max_bounds' ascent or
2816 descent are greater than the font's ascent or descent, this means
2817 glyphs overlap, which should be handled now by redisplay.
2818
6529ed87
GM
2819 * window.c (Veven_window_heights): New variable.
2820 (syms_of_window): DEFVAR_LISP it.
2821 (Fdisplay_buffer): Check Veven_window_heights before evening the
2822 window heights.
2823
0eb2ecde
MB
28242000-12-06 Miles Bader <miles@gnu.org>
2825
2826 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
2827 update `default-frame-alist' instead of setting no frame parameters.
2828
03d7a167
KH
28292000-12-06 Kenichi Handa <handa@etl.go.jp>
2830
2831 * composite.c (update_compositions): Fix typo (use the correct
2832 variable).
2833
5f8803c2
JR
28342000-12-05 Jason Rumney <jasonr@gnu.org>
2835
2836 * md5.h: Remove underscores from function declarations.
2837 (__attribute__, __alignof__) [!__GNUC__]: Define.
2838
2839 * md5.c: Delay include of md5.h until after namespace cleaning.
2840
c28a075b
JR
2841 * makefile.w32-in (fns.o): Depend on md5.h
2842 (md5.o): New target.
2843 (sunfns.o): Remove.
2844
2845 * makefile.nt: Likewise.
2846
ff3c7056
JR
28472000-12-05 Jason Rumney <jasonr@altavista.net>
2848
2849 * w32term.c (expose_area): Complete last change.
2850
0c21eeeb
KR
28512000-12-05 Ken Raeburn <raeburn@gnu.org>
2852
2853 * minibuf.c: Include intervals.h.
2854
f201d732
JR
28552000-12-05 Jason Rumney <jasonr@gnu.org>
2856
2857 * w32term.c (x_produce_glyphs): If a font for a component of
2858 a composition is not found, use 1 pixel dot ascent and 0 dot
2859 descent value to avoid displaying terribly tall empty boxes.
2860 (expose_area): Pass x-coordinate relative to the exposed
2861 area to x_draw_glyphs instead of a window-relative coordinate.
2862
21999ab9
GM
28632000-12-05 Gerd Moellmann <gerd@gnu.org>
2864
4d2036e4
GM
2865 * xdisp.c (next_element_from_ellipsis): Save face before selective
2866 display in saved_face_id, and set face_before_selective_p.
2867 (reseat_1): Reset face_before_selective_p.
2868 (append_space, extend_face_to_end_of_line): If iterator's
2869 face_before_selective_p is set, use the face from saved_face_id.
2870 (extend_face_to_end_of_line): For tty frames, make sure to
2871 use the right face id when producing spaces at the end of
2872 the line.
2873
2874 * dispextern.h (struct it): Add face_before_selective_p.
2875
52be17cc
GM
2876 * keyboard.c (record_char): Don't record identical help-echo
2877 events in recent_keys.
2878
8a4f36cc
GM
2879 * xterm.c [USE_X_TOOLKIT]: Close the display.
2880 (xim_close_dpy): Handle case that the display has been closed.
2881
57d6e381
GM
2882 * xterm.c (x_destroy_window): Reset the frame's X window after
2883 destroying it.
2884
21999ab9
GM
2885 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
2886 variable window_width.
2887 (line_draw_cost): Fix code skipping over spaces at the end of the
2888 line when must_write_spaces is not set.
2889 (scrolling_window): Fix code inserting runs in list of all runs.
2890
91372bb7
KH
28912000-12-05 Kenichi Handa <handa@etl.go.jp>
2892
2893 * coding.c (setup_coding_system): Be sure to initialize
2894 coding->category_idx.
2895
6c083b4c
GM
28962000-12-04 Gerd Moellmann <gerd@gnu.org>
2897
0c68ce6f
GM
2898 * xterm.c (PER_CHAR_METRIC): Removed because not used.
2899
6452929e
GM
2900 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
2901 area to x_draw_glyphs instead of a window-relative coordinate.
2902
d7f31e22
GM
2903 * fileio.c (auto_save_error): Add parameter ERROR. Show the
2904 error in the message.
2905
ae18aa3b
GM
2906 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
2907 timer after having read a key. It's not good for code reading
2908 several keys in a loop, like an input method.
2909
caa15ef7
GM
2910 * fileio.c (Finsert_file_contents): When VISIT is t, don't
2911 record undo information for format-decode.
2912
2913 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
2914 current buffer is read-only, not if it isn't.
2915
6c083b4c
GM
2916 * keyboard.c (record_char): Record `help-echo' input events
2917 in recent_keys only if they display some help. Don't record
2918 `help-echo' events as macro char.
2919
caa15ef7
GM
29202000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
2921
2922 * editfns.c (save_excursion_restore): Don't move point
2923 in another window if it is showing the wrong buffer.
2924 Avoid the call to Fwindow_live_p, for speed.
2925
5a13529b
KH
29262000-12-04 Kenichi Handa <handa@etl.go.jp>
2927
e225faa7
KH
2928 * xfaces.c (struct font_name): New member registry_priority.
2929 (split_font_name): Initialize the above member to zero.
2930 (concat_font_list): New function.
2931 (font_list): Include fonts of all alternative registries.
2932 (FONT_POINT_SIZE_QUANTUM): New macro.
2933 (better_font_p): Ignore point size difference less than
2934 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
2935
e89648b4
KH
2936 * xterm.c (x_produce_glyphs): If a font for a component of
2937 a composition is not found, use 1 pixel dot ascent and 0 dot
2938 descent value to avoid displaying terribly tall empty boxes.
2939
5a13529b
KH
2940 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
2941
d7935eb6
KR
29422000-12-03 Ken Raeburn <raeburn@gnu.org>
2943
2944 * coding.h (code_convert_string1): Declare.
2945
2946 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
2947
2948 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name):
2949 Declare.
2950
0dd5e255
JR
29512000-12-02 Jason Rumney <jasonr@gnu.org>
2952
2953 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
2954 correctly for single byte character case.
2955 (w32_per_char_metric): Do not try to make any assumptions about
2956 the metrics of BDF fonts.
250cfece
JR
2957 (x_estimate_mode_line_height): If `mode-line' face
2958 hasn't a font, use that of the frame, as drawing glyphs
2959 does.
2960 (note_mouse_highlight): Change the cursor shape on the vertical
2961 border between windows [not enabled].
2962
2963 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
2964
2965 * w32fns.c (Fx_create_frame): Reintroduce the call to
2966 face-set-after-frame-defaults.
2967 (Vx_window_horizontal_drag_shape): New variable.
2968 (syms_of_xfns): DEFVAR_LISP it.
2969 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
2970 enabled].
0dd5e255 2971
b5d8d2ca
GM
29722000-12-02 Simon Josefsson <simon@josefsson.org>
2973
2974 * fns.c (Fmd5): Use a different logic to decide the coding system
2975 to use.
2976
2977 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
2978
fbb87147
EZ
29792000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
2980
2981 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is
2982 NULL.
2983
447e9da0
GM
29842000-12-01 Gerd Moellmann <gerd@gnu.org>
2985
7708ced0
GM
2986 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
2987 height for YNegative.
2988 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
2989 height; also see comment there.
2990
447e9da0
GM
2991 * window.c (coordinates_in_window): Handle computations for
2992 positions on the vertical bar and fringes differently for
2993 window-system frames. Consider some pixels near the vertical bar
2994 as on the bar if the frame doesn't have vertical scroll bars.
2995 Associate positions between mode or header lines with the
2996 right window, the left one.
2997
86d1db20
JR
29982000-12-01 Jason Rumney <jasonr@gnu.org>
2999
3000 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
3001
3002 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
3003 invalid frame.
3004
a1d58e5b
GM
30052000-12-01 Gerd Moellmann <gerd@gnu.org>
3006
3007 * window.c (struct saved_window): Add members orig_top and
3008 orig_height.
3009 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
3010 (save_window_save, Fset_window_configuration): Save/restore
3011 window's orig_top and orig_height.
3012
89c609af
JR
30132000-12-01 Jason Rumney <jasonr@gnu.org>
3014
4d177746 3015 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 3016
89c609af
JR
3017 * w32fns.c (x_set_cursor_color): Fix last change.
3018
eccc05db
GM
30192000-11-30 Gerd Moellmann <gerd@gnu.org>
3020
31b6671b
GM
3021 * xdisp.c (echo_area_display): If cursor is in the echo area, make
3022 sure that the next redisplay displays the minibuffer, so that
3023 the cursor will be replaced with what the minibuffer wants.
3024
eccc05db
GM
3025 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
3026 #ifndef instead of using #if.
3027 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
3028 USE_TOOLKIT_SCROLL_BARS is defined.
3029
162de750
JR
30302000-11-30 Jason Rumney <jasonr@gnu.org>
3031
3032 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
3033 x_display_cursor.
3034
693c4692
GM
30352000-11-30 Gerd Moellmann <gerd@gnu.org>
3036
3037 * fns.c (Fmd5): Doc fix.
3038
b5d8d2ca 30392000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
3040
3041 * fns.c (Fmd5): New function.
3042 (syms_of_fns): Defsubr md5.
3043
3044 * Makefile.in (obj): Add md5.o
3045
b02cd40b
GM
30462000-11-30 Gerd Moellmann <gerd@gnu.org>
3047
edfb795e
GM
3048 * md5.h, md5.c: New files, taken from glibc.
3049
df3aedcf
GM
3050 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
3051
b02cd40b
GM
3052 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
3053 hasn't a font, use that of the frame, as drawing glyphs
3054 does.
3055
8b5176cd
SM
30562000-11-29 Stefan Monnier <monnier@cs.yale.edu>
3057
3058 * eval.c (Frun_hooks): Allow 0 arguments.
3059
346598f1
GM
30602000-11-29 Gerd Moellmann <gerd@gnu.org>
3061
f9396e03
GM
3062 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
3063 is over the menu bar widget, say it's not on the frame.
3064
4a967a9b
GM
3065 * xfns.c (Fx_create_frame): Reintroduce the call to
3066 face-set-after-frame-defaults.
3067
346598f1
GM
3068 * eval.c (Fsignal): Reset handling_signal.
3069
222456a1
JR
30702000-11-28 Jason Rumney <jasonr@gnu.org>
3071
3072 * w32menu.c (add_menu_item): Reset menu item text when changing
3073 type to radio button.
3074
8049ddc0
GM
30752000-11-28 Gerd Moellmann <gerd@gnu.org>
3076
346598f1 3077 * xselect.c: Update copyright.
f4f4ee4d 3078
bebe4a2c
GM
3079 * window.c (coordinates_in_window): If on a mode or header line,
3080 but sufficiently close to its start, return ``on vertical
3081 border''. This gives us a way to drag windows horizontally when
3082 using toolkit scroll bars.
3083
3084 * xterm.c (note_mouse_highlight): Change the cursor shape
3085 on the vertical border between windows.
3086
3087 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
3088
3089 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
3090 (syms_of_xfns): DEFVAR_LISP it.
3091 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
3092
8d2c2642
GM
3093 * textprop.c (text_read_only): New function.
3094 (verify_interval_modification): Use it instead of signaling
3095 `text-read-only'. This makes it easier to catch this error
3096 with a breakpoint.:
3097
8049ddc0
GM
3098 * xdisp.c (forward_to_next_line_start): Check for newlines,
3099 not end of line, which includes CR.
3100
5a2bae6c
KH
31012000-11-28 Kenichi Handa <handa@etl.go.jp>
3102
3103 * coding.c (Ffind_coding_systems_region_internal): Be sure to
3104 include no-conversion.
3105
ae31f84d
JR
31062000-11-27 Jason Rumney <jasonr@gnu.org>
3107
3108 * w32fns.c (w32_load_system_font): Always mark font as double byte
3109 if codepage is unicode.
3110
67f1cf4c
GM
31112000-11-27 Gerd Moellmann <gerd@gnu.org>
3112
4a74d071
GM
3113 * xdisp.c (forward_to_next_line_start): If already on a newline,
3114 just consume it to avoid unintended skipping over invisible text
3115 below.
3116
902ae620
GM
3117 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
3118 `vertical-line', `mode-line' and `header-line' events.
3119
3120 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
3121 of a character, a TAB for instance. This is easier than to set
3122 up the iterator exactly, and it's not a frequent case, so the
3123 additional effort wouldn't really pay off.
3124
c1e279c2
AC
31252000-11-26 Andrew Choi <akochoi@i-cable.com>
3126
67f1cf4c 3127 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
3128 init_window_once.
3129
a609568a
JR
31302000-11-25 Jason Rumney <jasonr@gnu.org>
3131
48b21762
JR
3132 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]: Args
3133 to window_from_coordinates should be pixel coordinates.
3134
a609568a
JR
3135 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
3136 redisplay handles them properly.
3137
a658d039
MB
31382000-11-25 Miles Bader <miles@gnu.org>
3139
3140 * indent.c (compute_motion): Keep pos_byte in sync with pos.
3141
d3416cca
JR
31422000-11-24 Jason Rumney <jasonr@gnu.org>
3143
3144 * w32.c (init_environment): Set LANG environment variable based on
3145 locale settings, if not set.
3146
3147 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
3148 making tool bar smaller. When clearing the frame, also
3149 clear current matrices. Clear frame when tool bar disappears.
3150 Don't use more lines for the tool-bar than is available.
3151 (x_change_window_heights): New function.
3152
ba193890
GM
31532000-11-24 Gerd Moellmann <gerd@gnu.org>
3154
2be8f184
GM
3155 * xdisp.c (init_from_display_pos): If POS says we're already after
3156 an overlay string ending at POS, make sure to pop the iterator
3157 because it will be in front of that overlay string. When POS is
3158 ZV, we've thereby also ``processed'' overlay strings at ZV.
3159
ba193890
GM
3160 * xfaces.c (lface_from_face_name): Function comment fix.
3161
1862a24e
MB
31622000-11-24 Miles Bader <miles@gnu.org>
3163
3164 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
3165 apply `mode-line-inverse-video' -- zero means force display using
3166 the default face, non-zero means display using the specialized face.
3167 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
3168
f07fa1b8
KH
31692000-11-23 Kenichi Handa <handa@etl.go.jp>
3170
3171 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
3172 hard coded `4'.
3173
2bcdf662
EZ
31742000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
3175
3176 * coding.c (decode_coding_emacs_mule): Fix the case of
3177 CODING_EOL_LF, which used uninitialized value of c.
3178
ba8299ff
SM
31792000-11-23 Stefan Monnier <monnier@cs.yale.edu>
3180
3181 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
3182
f4117c4d
GM
31832000-11-22 Gerd Moellmann <gerd@gnu.org>
3184
03e757c1
GM
3185 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
3186 buffer object.
3187
f4117c4d
GM
3188 * frame.h (struct frame): Replace desired_tool_bar_items,
3189 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 3190 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
3191
3192 * frame.c (make_frame): Change initialization of tool bar
3193 items accordingly.
3194
3195 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 3196 Change references to members deleted from struct frame to use the
f4117c4d
GM
3197 new ones.
3198
3199 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
cc362d76 3200 references to members deleted from struct frame to use the new
f4117c4d
GM
3201 ones.
3202
3203 * dispnew.c (update_frame): Do nothing with frame's tool bar
3204 items.
3205
3206 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
3207
3208 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 3209 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
3210 from struct frame to use the new ones.
3211
f8e2f3f2
MB
32122000-11-23 Miles Bader <miles@gnu.org>
3213
3214 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
3215 the face's inverse-video attribute, rather than overriding it.
3216
60e8e0a5
GM
32172000-11-22 Gerd Moellmann <gerd@gnu.org>
3218
3219 * xfns.c (x_set_tool_bar_lines): Clear internal border when
3220 making tool bar smaller.
3221
92dd1b29
DL
32222000-11-22 Dave Love <fx@gnu.org>
3223
3224 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
3225
e672fdce
MB
32262000-11-22 Miles Bader <miles@gnu.org>
3227
3a17d6cc
MB
3228 * keyboard.c (Vminibuffer_message_timeout): New variable.
3229 (command_loop_1): Use it to determine message timeout.
3230 (syms_of_keyboard): Initialize it.
3231
60e8e0a5 3232 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 3233
e9655d81
KH
32342000-11-22 Kenichi Handa <handa@etl.go.jp>
3235
3236 * sysdep.c: Move the code for declaring h_errno after #include
3237 <netdb.h>.
3238
77270fac
GM
32392000-11-21 Gerd Moellmann <gerd@gnu.org>
3240
cd913aae
GM
3241 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
3242 the menu bar when the tooltip is unmapped.
3243
77270fac
GM
3244 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
3245 sole visible buffer when we're currently in the mini-buffer, and
3246 give up if so.
3247
556635d6
JR
32482000-11-21 Jason Rumney <jasonr@gnu.org>
3249
3250 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
3251 put on the clipboard.
3252 (Fw32_get_clipboard_data): Compare data on clipboard with saved
3253 copy of what Emacs last put there. If they are the same, do not
3254 use the clipboard copy to avoid losing data due to coding
3255 conversions.
3256
5b7bde64
MB
32572000-11-22 Miles Bader <miles@gnu.org>
3258
3259 * minibuf.c (Vminibuffer_prompt_properties): New variable.
3260 (syms_of_minibuf): Initialize it.
3261 (read_minibuf): Add properties from Vminibuffer_prompt_properties
3262 to prompt, don't make read-only.
3263
ff23e1dd
GM
32642000-11-21 Gerd Moellmann <gerd@gnu.org>
3265
3c64f287
GM
3266 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>: Add
3267 BEFORE/AFTER_POTENTIAL_GC.
3268
7aaf4388
GM
3269 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
3270
f5f47add 3271 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 3272
ff23e1dd
GM
3273 * term.c, cm.c: Don't try to include termcap.h; see comment there.
3274
37c35586
KH
32752000-11-21 Kenichi Handa <handa@etl.go.jp>
3276
3277 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
3278 ... #endif scope.
3279
ff9ab414
GM
32802000-11-20 Gerd Moellmann <gerd@gnu.org>
3281
c51d2b5e
GM
3282 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
3283 screen supports it.
3284
29a01b72
GM
3285 * s/gnu-linux.h: Don't use `#cpu'.
3286
09dfdf85
GM
3287 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
3288 not defined in mman.h.
3289
ff9ab414
GM
3290 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New
3291 variables.
3292 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
3293 and store an index in the XClientMessageEvent. Storing a
3294 Lisp_Object or pointer can fail on a 64 bit system, since X only
3295 transfers 32 bits.
3296 (x_scroll_bar_to_input_event): Get the window from
3297 scroll_bar_windows.
3298
81459ac9
DL
32992000-11-20 Dave Love <fx@gnu.org>
3300
3301 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
3302
56c13ae6
GM
33032000-11-20 Gerd Moellmann <gerd@gnu.org>
3304
3305 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
3306
495a6df3
KH
33072000-11-20 Kenichi Handa <handa@etl.go.jp>
3308
2bcf3714
KH
3309 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
3310 by WIDTH.
3311
495a6df3
KH
3312 * alloc.c (make_string): Fix previous change. Be sure to make
3313 unibyte string correctly.
3314
6d950f4c
GM
33152000-11-19 Gerd Moellmann <gerd@gnu.org>
3316
39b39373
GM
3317 * window.c (Fwindow_list): Change parameter list to be XEmacs
3318 compatible.
3319 (window_list_1): New function.
3320 (window_loop): Use it instead of Fwindow_list.
3321
b95b34e5
GM
3322 * sysdep.c (emacs_ospeed): New variable.
3323 (toplevel): Don't declare ospeed extern.
3324 (init_baud_rate): Use emacs_ospeed instead of ospeed.
3325
3326 * termcap.c (ospeed): Remove.
3327 (tputs) [!emacs]: Remove unused code.
3328 (tgetent): Avoid a compiler warning.
3329
e83dc917
GM
3330 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
3331 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 3332 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
3333
3334 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
3335 removed.
3336 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
3337 Take the X display as additional argument.
3338 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
3339 `Widget' is a pointer type that's not easily stored in Lisp_Object
3340 form in a portable way.
3341
6d950f4c
GM
3342 * dispnew.c (update_text_area): Fix last change.
3343
e47306e6
GM
33442000-11-18 Gerd Moellmann <gerd@gnu.org>
3345
fb3cd89b
GM
3346 * xdisp.c: Use BINDING_STACK_SIZE throughout.
3347
3348 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
3349 clear current matrices.
3350
edaa9aed
GM
3351 * buffer.c (mmap_enlarge): Don't print a message on stderr
3352 if mapping new memory at the end of the existing region fails.
3353
e47306e6
GM
3354 * dispnew.c (update_text_area): Don't skip over equal glyphs
3355 when the last current glyph overlaps the glyph to its right.
3356
509633e3
MB
33572000-11-18 Miles Bader <miles@gnu.org>
3358
3359 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
3360 lines that *end* with "..." too (that's the most common case!).
3361
d392e9c5
GM
33622000-11-18 Gerd Moellmann <gerd@gnu.org>
3363
67988445
GM
3364 * xdisp.c (resize_mini_window): Temporarily change to the
3365 mini-window's buffer if necessary.
1bfdbe43 3366
d392e9c5
GM
3367 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
3368 the tooltip obscures less text under it.
3369
33702000-11-17 Gerd Moellmann <gerd@gnu.org>
3371
3372 * puresize.h (BASE_PURESIZE): Increase to 700000.
3373
92bb977f
JR
33742000-11-18 Jason Rumney <jasonr@gnu.org>
3375
3376 * w32term.c (w32_draw_bitmap): Use face to set colors.
3377
26fbf20b
DL
33782000-11-17 Dave Love <fx@gnu.org>
3379
3380 * lread.c (Fload): Fix #ifdef for pcc.
3381
100b593b
GM
33822000-11-17 Gerd Moellmann <gerd@gnu.org>
3383
3384 * xdisp.c (pos_visible_p): Compute the default character height
3385 differently.
3386
a288d0d1
GM
33872000-11-16 Gerd Moellmann <gerd@gnu.org>
3388
cac94de6
GM
3389 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
3390 knowing the line's height; use the default font's height in that
3391 case.
3392
a288d0d1
GM
3393 * xfaces.c (weight_table): Add `demi' with the same meaning as
3394 `demibold'.
3395
981fb6f6
KH
33962000-11-16 Kenichi Handa <handa@etl.go.jp>
3397
2cca872d 3398 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
3399 (clear_glyph_row): Delete local static variable null_row.
3400
e5fa381b
JR
34012000-11-15 Jason Rumney <jasonr@gnu.org>
3402
3403 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
3404 (w32_alloc_lighter_color): Use new brightness calculations from
3405 xterm.c. Scale delta to be in the range expected by W32.
3406 (w32_draw_relief_rect): Use frame relief colors.
3407
8e42f043
GM
34082000-11-15 Gerd Moellmann <gerd@gnu.org>
3409
6d133d1f
GM
3410 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
3411 (Qinhibit_default_face_x_resources): New variable.
3412 (syms_of_frame): Initialize it.
3413 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
3414
3415 * xdisp.c (pos_visible_p): Improve function comment.
3416
3417 * lisp.h (BINDING_STACK_SIZE): New macro.
3418
8e42f043
GM
3419 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
3420 reading the directory if readdir returns null and errno is EAGAIN
3421 or EINTR.
3422
e8c87124
SM
34232000-11-14 Stefan Monnier <monnier@cs.yale.edu>
3424
3425 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
3426 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
3427 Set amount_to_scroll to max of dx and scroll_step so that
3428 scroll-conservatively doesn't defeat scroll-step>1.
3429 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
3430 scroll-conservatively for line-at-a-time scrolling.
3431
5f0c971d
GM
34322000-11-14 Gerd Moellmann <gerd@gnu.org>
3433
3434 * window.c (Fpos_visible_in_window_p): Call pos_visible with
3435 extra argument.
3436
3437 * xdisp.c (current_mode_line_height, current_header_line_height):
3438 New variables.
3439 (init_xdisp): Initialize them.
3440 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
3441 and use exact mode line heights if it is set.
3442
3443 * lisp.h (pos_visible_p): Change prototype.
3444
3445 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
3446 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
3447 and current_header_line_height first.
3448 (current_mode_line_height, current_header_line_height): Declare
3449 extern.
3450
d7361edf
MB
34512000-11-14 Miles Bader <miles@lsi.nec.co.jp>
3452
3453 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
3454 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
3455 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
3456
ee5e440a
MB
34572000-11-14 Miles Bader <miles@gnu.org>
3458
3459 * xterm.c (x_alloc_lighter_color): Include an additive component
3460 too for dark colors, because FACTOR isn't enough.
3461 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
3462 New macros.
3463
5ca020fc
GM
34642000-11-13 Gerd Moellmann <gerd@gnu.org>
3465
3466 * keyboard.c (show_help_echo): Call message3_nolog with number of
3467 bytes in the help string as 2nd parameter, instead of the number
3468 of characters.
3469
9d348294
MB
34702000-11-13 Miles Bader <miles@gnu.org>
3471
3472 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
3473 (Fload): Use new openp return protocol.
3474 Don't try to use Vload_source_file_function to load .elc files.
3475 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
3476 openp return protocol.
3477 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
3478
1729bb9a
KH
34792000-11-11 Kenichi Handa <handa@etl.go.jp>
3480
4e677396
KH
3481 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
3482
3483 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
3484 Defined these macros.
3485 (NLIST_STRUCT): Avoid re-defining it.
3486
1729bb9a
KH
3487 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
3488 -I/usr/contrib/X11R6/include.
3489 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
3490
a82fe213
JR
34912000-11-10 Jason Rumney <jasonr@gnu.org>
3492
3493 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
3494
3495 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
3496 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
3497
3498 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
3499 (Qw32_charset_vietnamese): New symbol.
3500 (xlfd_charset_of_font): New function.
3501 (w32_load_system_font): Use it.
3502 (x_to_w32_charset): Use Fassoc to find charset info. Special case
3503 when Vw32_charset_info_alist is nil to ensure default face always
3504 has font. Use Fcar and Fcdr for safety.
3505 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
3506 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
3507 pseudo-codepages for special cases.
3508 (w32_to_x_font): New parameter to allow charset portion to be
3509 specified where there is many to one mapping. Callers changed.
3510 (w32_list_fonts): Avoid listing fonts that won't display.
3511
52d89894
GM
35122000-11-10 Gerd Moellmann <gerd@gnu.org>
3513
3514 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
3515 (font_list_1): Renamed from font_list.
3516 (font_list): New function, trying alternative registries from
3517 Vface_alternative_font_registry_alist.
3518 (Finternal_set_alternative_font_registry_alist): New function.
3519 (syms_of_xfaces): Initialize and Staticpro
3520 Vface_alternative_font_registry_alist. Defsubr
3521 Finternal_set_alternative_font_registry_alist.
3522
651cd3da
KR
35232000-11-09 Ken Raeburn <raeburn@gnu.org>
3524
3525 * lisp.h (Flooking_at): Declare.
3526
388ac098
GM
35272000-11-09 Gerd Moellmann <gerd@gnu.org>
3528
778fbc46
GM
3529 * dired.c (directory_files_internal): Fix a braino.
3530
388ac098
GM
3531 * dired.c (directory_files_internal): Add missing GCPRO's.
3532 Some cleanup.
3533
ecaedde1
GM
35342000-11-08 Gerd Moellmann <gerd@gnu.org>
3535
f7eb32aa
GM
3536 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
3537 (resize_mini_window): Return quickly if Vresize_mini_window is
3538 nil. Don't return if Vmax_mini_window_height is nil.
3539
3540 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
3541 (syms_of_xdisp): Initialize them.
3542 (resize_mini_window): Act according to the setting of
3543 Vresize_mini_window.
3544 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
3545
ecaedde1
GM
3546 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
3547 scroll bar widget after configuring it, so that it will appear at
3548 the right position from the start.
3549 (XTredeem_scroll_bar): Cleaned up.
3550
3747ef2c
KH
35512000-11-08 Kenichi Handa <handa@etl.go.jp>
3552
3553 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 3554 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
3555 division by two.
3556
3557 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
3558
03391420
DL
35592000-11-07 Dave Love <fx@gnu.org>
3560
7758f1c1 3561 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
3562
3563 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
3564
b5de343d
GM
35652000-11-07 Gerd Moellmann <gerd@gnu.org>
3566
acad3c0b
GM
3567 * window.c (Fset_window_configuration): Don't try to preserve
3568 point in the current buffer, if that buffer is displayed in more
3569 than one window.
3570
b5de343d
GM
3571 * xfaces.c (lookup_named_face): If default face isn't realized,
3572 try to realize it. Return -1 if not successful.
3573 (Fx_list_fonts): Handle case that face cannot be determined.
3574 (Fface_font): Likewise.
3575
cdb1fe49
GM
35762000-11-06 Gerd Moellmann <gerd@gnu.org>
3577
3578 * window.c (displayed_window_lines): Detect partially
3579 visible lines at the bottom correctly.
3580
d3a67486
SM
35812000-11-06 Stefan Monnier <monnier@cs.yale.edu>
3582
3583 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
3584 when ensuring we don't do visit in indirect buffer.
3585
ff8dd5d5
KH
35862000-11-06 Kenichi Handa <handa@etl.go.jp>
3587
3588 * composite.h (compose_chars_in_text): Add prototype.
3589
3590 * composite.c (Vcomposition_function_table): New variable.
3591 (Qcomposition_function_table): New variable.
3592 (run_composition_function): Call
3593 Vcompose_chars_after_function with three arguments.
3594 (compose_chars_in_text): New function.
3595 (syms_of_composite): Modified the doc-string of
3596 Vcompose_chars_after_function. Declare composition-function-table
3597 as a lisp variable, and initialize it.
3598
3599 * xfns.c (x_encode_text): Suppress producing escape sequences for
3600 composition.
3601
3602 * xselect.c: Include composite.h.
3603 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
3604
d1145f85
AI
36052000-11-05 Andrew Innes <andrewi@gnu.org>
3606
3607 * w32term.c (x_produce_glyphs): Fix typo in enum name.
3608
3609 * sysdep.c (read_input_waiting): Remove extraneous argument to
3610 read_socket_hook.
3611
3612 * w32fns.c (Fx_server_version): Include w32_build_number in the
3613 return list.
3614
3615 * w32heap.c (w32_build_number): New variable.
3616 (cache_system_info): Set it.
3617
3618 * w32heap.h (w32_build_number): Add extern.
3619
3620 * emacs.c (syms_of_emacs): Update docstring for
3621 system-configuration, to reflect the actual usage on MS-Windows.
3622
e85ee976
GM
36232000-10-31 Gerd Moellmann <gerd@gnu.org>
3624
26dcb81b
GM
3625 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
3626 process idle timers while waiting for another event.
3627
0a894bad
GM
3628 * dispnew.c (update_frame_line): Handle case where spaces in
3629 the default face are colored.
3630
e85ee976
GM
3631 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
3632 window height hasn't changed.
3633
01b220b6
JR
36342000-10-31 Jason Rumney <jasonr@gnu.org>
3635
3636 * w32term.c (x_produce_glyphs): Handle composite characters.
3637 (x_draw_glyph_string_foreground)
3638 (x_draw_composite_glyph_string_foreground): Restore old font.
3639
4e6b7204
MB
36402000-10-31 Miles Bader <miles@lsi.nec.co.jp>
3641
3642 * minibuf.c (read_minibuf): Reset the undo history just before
3643 starting the recursive-edit.
3644
d4358b37
GM
36452000-10-30 Gerd Moellmann <gerd@gnu.org>
3646
563f68f1
GM
3647 * xfaces.c (menu_face_change_count): New variable.
3648 (Finternal_set_lisp_face_attribute): Increment it for changes
3649 of the `menu' face.
3650 (realize_basic_faces): Reflect changes in the `menu' faces
3651 in menu bars.
3652
82e274d1
GM
3653 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
3654 dy obtained from the iterator's y-position after moving from
3655 scroll_margin_pos to PT; see comment there.
3656
0dbf9fd2
GM
3657 * xdisp.c (safe_eval_handler): Call add_to_log.
3658
906b3b14
GM
3659 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
3660 is not a symbol or string.
3661
d4358b37
GM
3662 * xdisp.c (echo_area_display): Don't perform a display update from
3663 inside redisplay. The update will happen anyway at the end of
3664 redisplay, and it can confuse redisplay (GC messages while
3665 redisplaying, for instance.)
3666
70c825df
SM
36672000-10-30 Stefan Monnier <monnier@cs.yale.edu>
3668
cf9b4b0b
SM
3669 * xrdb.c (x_load_resources): Use the class name in the defaults.
3670
70c825df
SM
3671 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
3672 (regex_compile): Catch bogus \(\1\).
3673
a1d34b1e
GM
36742000-10-30 Gerd Moellmann <gerd@gnu.org>
3675
cae71efe
GM
3676 * xterm.c (x_alloc_nearest_color): Fix last change to compare
3677 RGB values.
3678
35efe0a1
GM
3679 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
3680 we have a color cache, check that the cached color equals the
3681 allocated color. If not, clear the color cache.
3682
1d3baf74
GM
3683 * window.c (displayed_window_lines): Change buffers if necessary.
3684 Fix computation of displayed lines.
3685
a1d34b1e
GM
3686 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
3687 update_menu_bindings to DEFVAR_BOOL.
3688
70737ea9
KH
36892000-10-30 Kenichi Handa <handa@etl.go.jp>
3690
70c825df 3691 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 3692
fa0cb51d
KH
3693 * puresize.h (BASE_PURESIZE): Increase to 680000.
3694
70737ea9
KH
3695 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
3696
0e4c08e8
JR
36972000-10-29 Jason Rumney <jasonr@gnu.org>
3698
3699 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
3700
3701 * w32term.c (w32_bdf_per_char_metric): Negate descent.
3702 (w32_cache_char_metrics): Handle possibility that 'x' does not
3703 exist in a BDF font.
3704 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
3705
3706 * w32bdf.h (bdffont): Add nchars.
3707
3708 * w32bdf.c (set_bdf_font_info): Set it.
3709 (w32_BDF_TextOut): Swap byte order of double byte characters.
3710 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
3711
45b84006
EZ
37122000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
3713
3714 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
3715 don't override the colors in frame's param_alist, unless they are
3716 unspecified.
3717
3718 * term.c (reassert_line_highlight): If inverse_video is non-zero,
3719 reverse the effect of the highlight flag.
3720
caf9deee
KR
37212000-10-27 Ken Raeburn <raeburn@gnu.org>
3722
3723 * window.h (Fwindow_live_p): Declare.
3724
ae0b9b46
KR
3725 * undo.c (record_delete): Check that last_undo_buffer is really a
3726 buffer before applying XBUFFER to it.
3727
3728 * keymap.c (where_is_internal): Pass lisp object, not integer, to
3729 Faref.
3730
02067692
SM
37312000-10-27 Stefan Monnier <monnier@cs.yale.edu>
3732
3733 * lisp.h (KEYMAPP): New macro.
3734 (get_keymap): Remove.
3735 (get_keymap_1): Rename get_keymap.
3736
3737 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
3738
3739 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
3740
3741 * xmenu.c (single_submenu): Use KEYMAPP.
3742 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
3743 Use KEYMAPP rather than Fkeymapp.
3744
3745 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
3746
3747 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
3748 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
3749 Use KEYMAPP rather than Fkeymapp.
3750 (single_submenu): Use KEYMAPP.
3751 (w32_menu_show, w32_dialog_show): Use TRUE.
3752
3753 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
3754
3755 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
3756 (Fkeymapp): Use KEYMAPP.
3757 (get_keymap): Rename from get_keymap_1. Remove old def.
3758 Return t when autoload=0 and error=0 and the keymap needs autoloading.
3759 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
3760 (Fminor_mode_key_binding): Don't raise an error if the binding
3761 is not a keymap.
3762 (Fuse_global_map, Fuse_local_map): Allow autoloading.
3763 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
3764
3765 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
3766 Allow Vspecial_event_map to be autoloaded.
3767 (menu_bar_items): Fetch the keymap rather than using keymapp.
3768 (menu_bar_one_keymap): No need to follow func-indirect any more.
3769 (parse_menu_item): get_keymap_1 -> get_keymap.
3770 (tool_bar_items): Fetch the keymap rather than using keymapp.
3771 (read_key_sequence): Use KEYMAPP.
3772
3773 * intervals.c (get_local_map): Use get_keymap rather than following
3774 function-indirections explicitly.
3775
3776 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
3777
f9d80af3
JR
37782000-10-27 Jason Rumney <jasonr@gnu.org>
3779
3780 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
3781 point, as Windows has oversized fonts.
3782
3783 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
3784
a3ba27da
GM
37852000-10-27 Gerd Moellmann <gerd@gnu.org>
3786
3787 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
3788 (freehook, reallochook): Handle null pointer arguments.
3789 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
3790
aa3b80cc
SM
37912000-10-27 Stefan Monnier <monnier@cs.yale.edu>
3792
3793 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
3794 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
3795 Giving in to popular pressure to shut up the compiler with casts.
3796
e24e84cc
GM
37972000-10-27 Gerd Moellmann <gerd@gnu.org>
3798
3799 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
3800 signed value, and use a default value computed from the font's
3801 maximum descent.
3802
05ea7ef2
MB
38032000-10-27 Miles Bader <miles@lsi.nec.co.jp>
3804
3805 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
3806 that specify a negative underline position can still use underlines.
3807
3808 * window.c (Fpos_visible_in_window_p): Make POS default to
3809 WINDOW's point, not the current buffer's point.
3810
0b95284b
DL
38112000-10-26 Dave Love <fx@gnu.org>
3812
3813 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
3814 when it's necessary.
3815
6c5b90af
GM
38162000-10-26 Gerd Moellmann <gerd@gnu.org>
3817
8b6d9dc9
GM
3818 * window.c (size_window): Compute size difference from sum of old
3819 child window sizes instead of from parent's size.
3820
6bc92b2e
GM
3821 * xdisp.c (pos_visible_p): Change current buffer if necessary.
3822 Handle obscured lines at the top of the window.
3823
3824 * frame.c (Fdelete_frame): Doc fix. Move running the hook
3825 down after the last error condition check.
3826
6c5b90af
GM
3827 * frame.c (Fdelete_frame): Run delete-frame-hook.
3828
42f92d4d
KH
38292000-10-26 Kenichi Handa <handa@etl.go.jp>
3830
3831 * coding.c (decode_coding): Fix previous change (check also
3832 CODING_MODE_LAST_BLOCK).
3833
d97151cb
SM
38342000-10-25 Stefan Monnier <monnier@cs.yale.edu>
3835
e7efc503
SM
3836 * regex.c: More `unsigned char' -> `re_char' changes.
3837 Also change several `int' into `re_wchar_t'.
3838 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
3839 (PUSH_FAILURE_POINTER): Don't cast any more.
3840 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
3841 We want GCC to complain, since this piece of code makes
3842 re_match non-reentrant, which *should* be fixed.
3843 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
3844 (EXTEND_BUFFER): Use RETALLOC.
3845 (SET_LIST_BIT): Don't cast.
3846 (re_wchar_t): New type.
3847 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
3848 that those two functions will always properly return.
3849 (IMMEDIATE_QUIT_CHECK): Cast to void.
3850 (analyse_first): Use recursion rather than an explicit stack.
3851 (re_compile_fastmap): Can't fail anymore.
3852 (re_search_2): Don't check re_compile_fastmap for failure.
3853 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
3854 Now also sets the new value (passed in a new argument).
3855 (re_match_2_internal): Use it.
3856 Also, use a new var `reg' of type size_t when looping through regs
3857 rather than reuse the inappropriate `mcnt'.
3858
d97151cb
SM
3859 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
3860 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
3861 (where_is_internal): Renamed from Fwhere_is_internal.
3862 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
3863 (Fwhere_is_internal): New function wrapping where_is_internal.
3864 (where_is_internal_1): Handle the case where we're filling the cache.
3865 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
3866
d5789b65
MB
38672000-10-25 Miles Bader <miles@gnu.org>
3868
3869 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
3870
4ecda532
GM
38712000-10-25 Gerd Moellmann <gerd@gnu.org>
3872
3873 * window.c (pos_fully_visible_p): Removed.
3874 (Fpos_visible_in_window_p): Use pos_visible_p to determine
3875 if position is visible and/or fully visible.
3876
3877 * lisp.h (pos_visible_p): Add prototype.
3878
3879 * xdisp.c (pos_visible_p): New function.
3880
68c3a137
KH
38812000-10-25 Kenichi Handa <handa@etl.go.jp>
3882
3883 * process.c (send_process): If OBJECT is t, it means that the data
3884 is from C string, but we should encode it. Before calling
3885 setup_raw_text_coding_system, be sure to flush out data by the
3886 previous coding system.
3887
7ae1c032
MB
38882000-10-25 Miles Bader <miles@lsi.nec.co.jp>
3889
ff4dcd4b
MB
3890 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
3891 assignment of startpos to prev when startpos == pos.
3892
7ae1c032
MB
3893 * editfns.c (find_field): Set the field stickiness correctly from
3894 overlay fields. Use renamed `text_property_stickiness'.
3895 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 3896 Only check text properties, not overlays.
7ae1c032
MB
3897 * textprop.c (get_char_property_and_overlay): New function.
3898 (Fget_char_property): Use it.
3899 * intervals.h (get_char_property_and_overlay): Add declaration.
3900
49801145
SM
39012000-10-25 Stefan Monnier <monnier@cs.yale.edu>
3902
3903 * keymap.c: Use AREF, ASET and ASIZE macros.
3904 (Fmake_sparse_keymap): Docstring fix.
3905 (synkey): Remove.
3906 (shadow_lookup): Move up.
3907 Handle the case where lookup-key returns an integer.
3908 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
3909 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
3910 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
3911 Simplify/rewrite the keymap-finding code.
3912 Add check for command shadowing, using shadow_lookup.
3913
39e776cd
SM
39142000-10-24 Stefan Monnier <monnier@cs.yale.edu>
3915
3916 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
3917 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
3918 a symbol.
3919
2488aba5
AI
39202000-10-24 Andrew Innes <andrewi@gnu.org>
3921
3922 * dired.c (directory_files_internal_unwind): New function.
3923 (directory_files_internal): Use it to ensure closedir is called
3924 even if expand-file-name or file-attributes throw, eg. because of
3925 a user interrupt. Also enable immediate_quit while calling
3926 re_search, so that matching can be interrupted as well.
3927
b94fdf61
AI
39282000-10-24 Andrew Innes <andrewi@gnu.org>
3929
3930 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
3931 NT-Emacs only.
3932 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
3933 so that re_search functions only quit when callers expect them to.
3934
39352000-10-24 Kenichi Handa <handa@etl.go.jp>
3936
3937 * regex.c (regex_compile): Change the way of handling a range from
3938 a char less than 256 to a char not less than 256.
3939
1946f901
GM
39402000-10-24 Gerd Moellmann <gerd@gnu.org>
3941
7ae2f10f
GM
3942 * window.c (size_window): Prevent setting window's width or
3943 height to a negative value (esp. with XSETFASTINT).
3944
5dcab13e
GM
3945 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
3946 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
3947 (protect_malloc_state) [GC_MALLOC_CHECK &&
3948 GC_PROTECT_MALLOC_STATE]: New function.
3949 (PROTECT_MALLOC_STATE): New macro.
3950 (__malloc_initialize, morecore, _malloc_internal)
3951 (_free_internal) _realloc_internal): Use it to make _heapinfo
3952 read-only outside of gmalloc.
3953
63e1b552
GM
3954 * keymap.c: Update copyright.
3955
1946f901
GM
3956 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
3957 a symbol.
3958
4fa09beb
GM
39592000-10-24 Colin Walters <walters@cis.ohio-state.edu>
3960
3961 * filelock.c (unlock_all_files): Use unlock_file to expand each
3962 buffer's file_truename before trying remove its lock file.
3963
23afac01
EZ
39642000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
3965
3966 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
3967 or CRLF, decode EOLs.
3968
04448b95
KH
39692000-10-24 Kenichi Handa <handa@etl.go.jp>
3970
3971 * window.c (Fdisplay_buffer): Fix doc.
3972
3090a5a5
JR
39732000-10-23 Jason Rumney <jasonr@gnu.org>
3974
3975 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
3976 ASCII font of default fontset on Windows.
3977
3978 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
3979 xterm.c comment below).
3980
3981 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
3982
a83fee2c
GM
39832000-10-23 Gerd Moellmann <gerd@gnu.org>
3984
3985 * xterm.c (x_connection_closed): Reset handling_signal.
3986
3987 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing
3988 null.
3989
6ffdb539
MB
39902000-10-23 Miles Bader <miles@gnu.org>
3991
3992 * window.c (window_scroll_pixel_based, window_scroll_line_based):
3993 Pass nil for FULLY argument to Fpos_visible_in_window_p to
3994 maintain old behavior.
3995 * minibuf.c (Fminibuffer_complete): Likewise.
3996
7f1c969b
MB
39972000-10-23 Miles Bader <miles@lsi.nec.co.jp>
3998
3999 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
4000 that when a font can't be exactly centered, it errs up rather than
4001 down.
4002
23afac01 40032000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd
SZ
4004
4005 * fns.c (Fbase64_decode_string): The decoded result should be
4006 unibyte.
4007
1a578e9b
AC
40082000-10-23 Andrew Choi <akochoi@i-cable.com>
4009
4010 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
4011
4012 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 4013 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
4014
4015 * emacs.c (main) [macintosh]: Call syms_of_textprop,
4016 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
4017 syms_of_search, x_term_init, and init_keyboard before calling
4018 init_window_once. Also, call syms_of_xmenu.
4019
4020 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
4021 default fontset to Monaco.
4022
4023 * frame.c [macintosh]: Include macterm.h. Remove declarations of
4024 NewMacWindow and DisposeMacWindow.
4025 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
4026 instead of calling NewMacWindow and setting fields of
4027 f->output_data.mac directly. Call init_frame_faces.
4028 (Fdelete_frame) [macintosh]: Remove unused code.
4029 (Fmodify_frame_parameters) [macintosh]: Call
4030 x_set_frame_parameters instead of mac_set_frame_parameters.
4031
4032 * frame.h [macintosh]: Define menu_bar_lines field in struct
4033 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
4034
4035 * keyboard.c [macintosh]: Include macterm.h.
4036 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
4037 and menu_bar_activate_event type events as for X and NT.
4038 (make_lispy_event) [macintosh]: Construct lisp events of type
4039 MENU_BAR_EVENT as for X and NT.
4040
4041 * sysdep.c [macintosh]: Remove declaration for sys_signal.
4042 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
4043 (sys_subshell) [macintosh]: Remove definition entirely.
4044 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
4045 Vwindow_system_version here. Remove initialization of
4046 Vx_bitmap_file_path.
4047 (read_input_waiting): Correct the number of parameters passed to
4048 read_socket_hook.
4049 Move all Macintosh functions to mac/mac.c.
4050
4051 * term.c [macintosh]: Include macterm.h.
4052
4053 * window.c [macintosh]: Include macterm.h.
4054
4055 * xdisp.c [macintosh]: Include macterm.h. Declare
4056 set_frame_menubar and pending_menu_activation.
4057 (echo_area_display) [macintosh]: Do not return if terminal frame
4058 is the selected frame.
4059 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
4060 Allow only the selected frame to set menu bar.
4061 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
4062 calling FRAME_EXTERNAL_MENU_BAR (f).
4063 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
4064
4065 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
4066 and check_x. Declare XCreateGC. Define x_create_gc and
4067 x_free_gc. Initialize font_sort_order.
4068 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
4069 but call x_list_fonts instead of w32_list_fonts.
4070 (Finternal_face_x_get_resource) [macintosh]: Do not call
4071 display_x_get_resource.
4072 (prepare_face_for_display) [macintosh]: Set xgcv.font.
4073 (realize_x_face) [macintosh]: Load the font if it is specified in
4074 ATTRS.
4075 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed
4076 to Qt.
4077
1ffbabe3
SM
40782000-10-22 Stefan Monnier <monnier@cs.yale.edu>
4079
4080 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
4081 is nil: since we go to the end of submap anyway, we'd end up
4082 setting nil to nil.
4083 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
4084 doesn't obey autoload.
4085
bed43f1d
EZ
40862000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4087
1ffbabe3 4088 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 4089
ea4233a7
JR
40902000-10-21 Jason Rumney <jasonr@gnu.org>
4091
4092 * w32term.c (w32_cache_char_metrics): Double check that font is
4093 really fixed pitch before trusting tmPitchAndFamily.
4094
f3d3c491
AI
40952000-10-21 Andrew Innes <andrewi@gnu.org>
4096
4097 * w32gui.h (w32_char_font_type): Move enum from w32term.c
4098
4099 * w32term.h: Extern decl for w32_cache_char_metrics.
4100
4101 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
4102
4103 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
4104 (w32_unload_font): Free per_char array if present.
4105
4106 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
4107 cached information in emulated XFontStruct to handle common cases
4108 quickly. Do not allocate XCharStruct for return.
4109 (w32_native_per_char_metric): New function.
4110 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
4111 allocating one.
4112 (x_produce_glyphs): Don't get an HDC. Change calls to
4113 w32_per_char_metric to match arg change above. Remove calls to
4114 free results.
4115 (w32_get_glyph_overhangs): Ditto.
4116 (w32_cache_char_metrics): New function.
4117
4118 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
4119 ($(BLD)/casefiddle.$(O)): Remove compile command.
4120 ($(BLD)/gmalloc.$(O)): Remove compile command.
4121 ($(BLD)/dispnew.obj):
4122 ($(BLD)/keyboard.obj):
4123 ($(BLD)/w32inevt.obj):
4124 ($(BLD)/w32bdf.obj):
4125 ($(BLD)/alloc.obj):
4126 ($(BLD)/buffer.obj):
4127 ($(BLD)/editfns.obj):
4128 ($(BLD)/emacs.obj):
4129 ($(BLD)/fileio.obj):
4130 ($(BLD)/fns.obj):
4131 ($(BLD)/indent.obj):
4132 ($(BLD)/insdel.obj):
4133 ($(BLD)/intervals.obj):
4134 ($(BLD)/minibuf.obj):
4135 ($(BLD)/print.obj):
4136 ($(BLD)/scroll.obj):
4137 ($(BLD)/sysdep.obj):
4138 ($(BLD)/textprop.obj):
4139 ($(BLD)/widget.obj):
4140 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
4141 ($(BLD)/term.obj): Add dependency on dispextern.h.
4142
4143 * makefile.nt ($(BLD)\dispnew.obj):
4144 ($(BLD)\keyboard.obj):
4145 ($(BLD)\w32inevt.obj):
4146 ($(BLD)\w32bdf.obj):
4147 ($(BLD)\alloc.obj):
4148 ($(BLD)\buffer.obj):
4149 ($(BLD)\editfns.obj):
4150 ($(BLD)\emacs.obj):
4151 ($(BLD)\fileio.obj):
4152 ($(BLD)\fns.obj):
4153 ($(BLD)\indent.obj):
4154 ($(BLD)\insdel.obj):
4155 ($(BLD)\intervals.obj):
4156 ($(BLD)\minibuf.obj):
4157 ($(BLD)\print.obj):
4158 ($(BLD)\scroll.obj):
4159 ($(BLD)\sysdep.obj):
4160 ($(BLD)\textprop.obj):
4161 ($(BLD)\widget.obj):
4162 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
4163 ($(BLD)\term.obj): Add dependency on dispextern.h
4164
18ad4821
EZ
41652000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4166
4167 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
4168 with an additional argument of Qt.
4169
de54681a
MB
41702000-10-21 Miles Bader <miles@gnu.org>
4171
4172 * window.c (pos_fully_visible_in_window_p): New function.
4173 (Fpos_visible_in_window_p): Add FULLY argument.
4174 Use pos_fully_visible_in_window_p.
4175 (window_scroll_pixel_based, window_scroll_line_based): Update
4176 calls to Fpos_visible_in_window_p.
4177 * lisp.h (Fpos_visible_in_window_p): Update prototype
4178
13c844fb
GM
41792000-10-20 Gerd Moellmann <gerd@gnu.org>
4180
4181 * alloc.c (toplevel): Conditionalize compilation of mem_*
4182 functions differently.
4183
d9506268
JR
41842000-10-20 Jason Rumney <jasonr@gnu.org>
4185
4186 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
4187 mem_init where it used to be. mem_z etc not defined otherwise.
4188
8094989b
GM
41892000-10-20 Gerd Moellmann <gerd@gnu.org>
4190
4191 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
4192 GC_MALLOC_CHECK.
4193 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
4194 structure definition and related variabled to the top of the file.
4195 Include this code when GC_MALLOC_CHECK is defined.
4196 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
4197 register/unregister allocated region.
4198 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
4199 which isn't allocated.
4200 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
4201 something which is already in use.
4202 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
4203 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
4204 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
4205 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
4206
4207 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
4208 _malloc_internal instead of malloc.
4209 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
4210 of free.
4211
ea456eb4
AI
42122000-10-20 Andrew Innes <andrewi@gnu.org>
4213
4214 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
4215 Windows.
4216 (my_strftime) <macro>: Don't use macro arg list when redefining as
4217 _strftime_copytm.
4218 (my_strftime) <function>: Supply 0 as ut argument.
4219
e64c3a75
JR
42202000-10-19 Jason Rumney <jasonr@altavista.net>
4221
4222 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
4223 including dispextern.h, as it stops faces from working.
4224
4225 * w32fns.c (Fx_create_frame): Don't bother calling
4226 face-set-after-frame-default since the caller does it for us
4227 anyway. Clean up calls to x_get_arg to be consistent with X.
4228
4229 * w32term.c (x_produce_glyphs): Handle
4230 unibyte_display_via_language_environment correctly.
4231 (w32_draw_box_rect): Fix the calculation of width and height.
4232
4233 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
4234 as it has stopped working.
4235 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
4236 menu-bar.
4237
17401c97
GM
42382000-10-19 Gerd Moellmann <gerd@gnu.org>
4239
4240 * eval.c (skip_debugger): Prevent a compiler warning.
4241 (Fcondition_case): Likewise.
4242 (Fbacktrace_frame): Use a null interactive spec.
4243
773272d8
KH
42442000-10-19 Kenichi Handa <handa@etl.go.jp>
4245
4246 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
4247
a42943e9
GM
42482000-10-18 Gerd Moellmann <gerd@gnu.org>
4249
e50517d9
GM
4250 * strftime.c: Sync with glibc, file version 1.78.
4251 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
4252 should no longer be used according to ISO 8601.
4253
9035a35a
GM
4254 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
4255 no map for meta_prefix_char, don't try to use it as a keymap.
4256 Instead, if T_OK is non-zero, look up a default binding, if any,
4257 otherwise, if T_OK is zero, return nil.
4258
a42943e9
GM
4259 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
4260 (x_to_xcolors, png_load): Use x_query_color.
4261
4262 * xterm.c (x_color_cells, x_query_colors, x_query_color): New
4263 functions.
4264 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
4265 which can be slow.
4266 (x_copy_color, x_alloc_lighter_color): Likewise.
4267
4268 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
4269 (x_query_color, x_query_colors): Add prototype.
4270
4271 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
4272 check_string_bytes only if not noninteractive, increase count to 50.
4273
00de2987
MB
42742000-10-18 Miles Bader <miles@lsi.nec.co.jp>
4275
4276 * insdel.c (adjust_markers_for_delete): Handle before-insertion
4277 markers correctly.
4278
54918e2b
GM
42792000-10-17 Gerd Moellmann <gerd@gnu.org>
4280
1f0b3fd2
GM
4281 * alloc.c (pure_bytes_used): Renamed from pureptr.
4282 (ALIGN): New macro.
4283 (pure_alloc): New function.
4284 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
4285 Use it.
4286 (Fpurecopy): Use PURE_POINTER_P.
4287
68c5d1db
GM
4288 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
4289 PT has moved backward.
4290
9a038881
GM
4291 * xdisp.c (cursor_row_p): Take continued lines into account.
4292
361b097f
GM
4293 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
4294 string's size_byte.
4295 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
4296 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
4297 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
4298 string allocated.
4299
54918e2b
GM
4300 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
4301 of selective display off while searching for the next line start.
4302
03ed0806
KH
43032000-10-17 Kenichi Handa <handa@etl.go.jp>
4304
4305 * Makefile.in (term.o): Depend on dispextern.h.
4306
7e05cdaf
SM
43072000-10-16 Stefan Monnier <monnier@cs.yale.edu>
4308
4309 * keymap.c (keymap_memberp): Ensure that nil is not a member.
4310
a6801fd1
GM
43112000-10-16 Gerd Moellmann <gerd@gnu.org>
4312
483de32b
GM
4313 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
4314 the iterator at the beginning, so that they can be set later on,
4315 for instance in reseat_at_next_visible_line_start, without being
4316 overwritten.
4317
a6801fd1
GM
4318 * xfns.c (pbm_format): Add :foreground and :background keywords.
4319 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
483de32b 4320 (xbm_load): Recognize foreground and background color
a6801fd1
GM
4321 specifications.
4322
dbf1fcc1
EZ
43232000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
4324
4325 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
4326
4327 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern
4328 declaration.
4329
4330 * msdos.c (IT_set_face): Compare highlighted face with the default
4331 face, and invert colors if these faces' colors are identical.
4332 (Fmsdos_remember_default_colors): Don't swap foreground and
4333 background colors in initial_colors[].
4334 (IT_set_frame_parameters): Don't swap frame's foreground and
4335 background pixels. If ALIST includes "(reverse . t)", swap
4336 foreground-color and background-color properties in frame's
4337 param_alist. If the original frame's param_alist doesn't specify
4338 the colors, store unspecified-fg and unspecified-bg, reversed if
4339 required.
4340
4341 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
4342 the colors are unspecified and reversed, reverse fore- and back-
4343 ground in the returned value.
4344 (Fframe_parameter): Ditto.
4345
b41fe2c3
GM
43462000-10-16 Gerd Moellmann <gerd@gnu.org>
4347
3a6b59d9
GM
4348 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
4349 get_last_unchanged_at_beg_row.
4350 (find_first_unchanged_at_end_row): Renamed from
4351 get_first_unchanged_at_end_row.
4352 (find_first_unchanged_at_end_row): Convert assertions to
4353 unconditional tests which abort. When looking for a row in
4354 unchanged text, don't go further back than first_text_row.
4355
b41fe2c3
GM
4356 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
4357 Don't add in the last line's height when deciding if the new
4358 position is below the scroll margin.
9d1af64f 4359
b41fe2c3 43602000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
4361
4362 * editfns.c (Fconstrain_to_field): Check carefully for field
4363 boundaries if either OLD_POS or NEW_POS has a non-nil field
4364 property, even if they're the same.
4365
c412cb7b
KH
43662000-10-16 Kenichi Handa <handa@etl.go.jp>
4367
4368 * xterm.c (x_draw_box_rect): Fix the calculation of width and
4369 height for XFillRectangle.
4370
5586f3eb
SM
43712000-10-15 Stefan Monnier <monnier@cs.yale.edu>
4372
4373 * syntax.c (Fstring_to_syntax): New function extracted from
4374 Fmodify_syntax_entry.
4375 (Fmodify_syntax_entry): Use it and document the ! and | fences.
4376 (skip_chars, Fforward_comment): Remove unused variables.
4377 (syms_of_syntax): Add defsubr for string-to-syntax.
4378 (describe_syntax): Add code for comment and string fences.
4379
db785038
SM
43802000-10-14 Stefan Monnier <monnier@cs.yale.edu>
4381
4382 * keymap.c (access_keymap): Add AUTOLOAD parameter.
4383 Do the meta->esc mapping. Call get_keyelt before returning.
4384 Start scanning from the second element (the first is always `keymap')
4385 to make it easier to detect when we reach a parent map.
4386 Handle the case of inheriting from a symbol whose function is a map.
4387 (Fkeymap_parent): Also handle the `inherit from symbol' case.
4388 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
4389 (get_keyelt, Flookup_key): Update call to access_keymap.
4390 Remove the meta->esc mappings.
4391 (define_as_prefix): Delete old disabled code.
4392 (menu_item_p): New function.
4393 (where_is_internal_1): Skip over the few remaining menu items.
4394 * lisp.h (access_keymap): Update prototype.
4395 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
4396 Update call to access_keymap.
4397 (follow_key, read_key_sequence): Update calls to access_keymap.
4398 Remove the meta->esc mappings.
4399
cafafe0b
GM
44002000-10-13 Gerd Moellmann <gerd@gnu.org>
4401
a2e2a7f6
GM
4402 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
4403 with additional argument.
4404
cafafe0b
GM
4405 * xdisp.c (cursor_row_p): New function.
4406 (try_cursor_movement, display_line): Use it.
4407
4408 * xdisp.c (append_space): Also save/restore iterator's current
4409 character and its length.
4410
4411 * xdisp.c (init_from_display_pos): Add an assertion.
4412 (handle_stop): Don't set iterator's add_overlay_start.
4413 (handle_invisible_prop): Likewise.
4414 (load_overlay_strings): If text under an overlay is invisible,
4415 take both before- and after-strings into account when the iterator
4416 is positioned either at the start or at the end of the overlay.
4417 (forward_to_next_line_start): Rewritten.
4418 (reseat_at_next_visible_line_start): Rewritten.
4419 (set_iterator_to_next): Add parameter RESEAT_P.
4420
4421 * dispextern.h (struct it): Remove member add_overlay_start.
4422 (set_iterator_to_next): Change prototype.
4423
c744452b
KH
44242000-10-13 Kenichi Handa <handa@etl.go.jp>
4425
4426 * coding.c (code_convert_region): Be sure to initialize
4427 coding->category_idx.
e4a3f4e1
KH
4428 (decode_coding_string): Set coding->src_multibyte and
4429 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
4430 (encode_coding_string): Set coding->src_multibyte and
4431 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 4432
321fd26f
SM
44332000-10-12 Stefan Monnier <monnier@cs.yale.edu>
4434
4435 * xfns.c (Fx_create_frame): Don't bother calling
4436 face-set-after-frame-default since the caller does it for us anyway.
4437
76832439
EZ
44382000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
4439
4440 * window.c (coordinates_in_window): Fix detection of vertical line
4441 on character terminals.
4442
2483cf58
GM
44432000-10-12 Gerd Moellmann <gerd@gnu.org>
4444
4445 * editfns.c (save_excursion_save): Additionally record the
4446 selected window.
4447 (save_excursion_restore): If buffer was visible in a window, and a
4448 different window was selected, and the old selected window is
4449 still live, restore point in that window.
4450
eb991b25
KH
44512000-10-12 Kenichi Handa <handa@etl.go.jp>
4452
8a0eba09
KH
4453 * xterm.c (x_produce_glyphs): Handle
4454 unibyte_display_via_language_environment correctly.
4455
20401fcc
KH
4456 * regex.c (regex_compile): Change the way of handling a range from
4457 unibyte char to multibyte char.
4458
4459 * syntax.c (skip_chars): Change the way of handling a range from
4460 unibyte char to multibyte char.
4461
eb991b25
KH
4462 * process.c (read_process_output): Cancel previous change.
4463
365dd325
EZ
44642000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
4465
c1b096cb
EZ
4466 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
4467
365dd325
EZ
4468 * charset.c (Ffind_charset_string): Doc fix.
4469 (Ffind_charset_region): Doc fix.
4470
eb483c2b
KH
44712000-10-11 Kenichi Handa <handa@mule.m17n.org>
4472
4473 * process.c (read_process_output): Fix previous change. Adjust
4474 multibyteness of text to insert in a buffer by
df3c11b9 4475 string_make_unibyte/multibyte instead of
eb483c2b
KH
4476 Fstring_as_unibyte/multibyte.
4477
b40bfb99
AS
44782000-10-10 Andreas Schwab <schwab@suse.de>
4479
4480 * alloc.c (mark_object): Remove all workarounds installed on
4481 1993-08-08.
4482
caff31d4
KH
44832000-10-10 Kenichi Handa <handa@etl.go.jp>
4484
4485 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before
4486 returning.
4487 (base64_encode_1): Make it work for a text of multibyte form.
4488 (Fbase64_decode_region): Allocate sufficient memory for multibyte
4489 case. Don't call str_to_multibyte because base64_decode_1
4490 produces correct multibyte form for eight-bit codes.
4491 (Fbase64_decode_string): Adjusted for the change of
4492 base64_decode_1.
4493 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
4494 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
4495 codes.
4496
4497 * charset.h (CHAR_STRING): Optimized for single byte characters.
4498
cba026ef
AS
44992000-10-09 Andreas Schwab <schwab@suse.de>
4500
4501 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
4502 -1 after socket is closed, to fall through to error processing.
4503
1e21fe48
EZ
45042000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
4505
4506 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 4507 variables. If ALIST includes foreground-color or
1e21fe48
EZ
4508 background-color, change also the colors of the default face for
4509 this frame.
4510
a640322e
EZ
45112000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
4512
4513 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
4514 them extern (they are defined on xfaces.c).
4515 (syms_of_msdos): Don't intern and don't staticpro
4516 Qbackground_color and Qforeground_color.
4517
a115794c
EZ
45182000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
4519
4520 * frame.c (Fframe_parameter): For non-windowed frames, if
4521 f->param_alist says foreground or background color is unspecified,
4522 call tty_color_name to return the color name computed from the
4523 frame's current colors.
4524
f5533b63
DL
45252000-10-06 Dave Love <fx@gnu.org>
4526
4527 * terminfo.c (ospeed): Don't declare.
4528
4529 * sysdep.c: Don't include string.h.
4530 (h_errno): Declare conditional also on TRY_AGAIN.
4531
4532 * charset.c (Ffind_charset_string): Doc fix.
4533
4534 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
4535 (Fbase64_decode_region, Fbase64_decode_string): More explicit
4536 error messages.
4537
2b06561a
DL
45382000-10-05 Dave Love <fx@gnu.org>
4539
4540 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
4541 position like menu-bar.
4542
ca839c85
GM
45432000-10-05 Gerd Moellmann <gerd@gnu.org>
4544
4545 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
4546
4547 * xdisp.c (handle_single_display_prop): Use safe_call1.
4548 (safe_call): Renamed from call_function.
4549 (safe_call1): New function.
4550 (handle_fontified_prop): Use safe_call1 instead of call1.
4551 (safe_eval): Renamed from eval_form.
4552 (safe_eval_handler): Renamed from eval_handler.
4553 (handle_single_display_prop, display_mode_element): Use safe_eval
4554 instead of eval_form.
4555
4556 * xfaces.c (merge_face_heights): Use safe_call instead of
4557 call_function.
4558
4559 * keyboard.c (show_help_echo): Use safe_call instead of
4560 call_function; use safe_eval instead of eval_form.
4561
4562 * lisp.h (safe_call): Renamed from call_function.
4563 (safe_eval): Renamed from eval_form.
4564 (safe_call1): Add prototype.
4565
a3489ece
MB
45662000-10-05 Miles Bader <miles@lsi.nec.co.jp>
4567
4568 * xfns.c (image_ascent): Rearrange ascent calculation for the
4569 has-a-font case.
4570
35810b6f
SM
45712000-10-04 Stefan Monnier <monnier@cs.yale.edu>
4572
4573 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
4574 (where_is_internal_1): Don't bother ignoring menu-items any more.
4575
3dc78168
GM
45762000-10-04 Gerd Moellmann <gerd@gnu.org>
4577
4578 * keyboard.c (update_menu_bindings): New variable.
4579 (parse_menu_item): Use AREF. If update_menu_bindings
4580 is 0, don't update menu bindings.
4581 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
4582
1efc2bb9
EZ
45832000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
4584
4585 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
4586 to `mark_object'.
4587
3f679f55
SM
45882000-10-02 Stefan Monnier <monnier@cs.yale.edu>
4589
4590 * syntax.c (forw_comment): Match nestedness of ender/starter.
4591 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
4592 (prev_char_comstart_first): Remove.
4593 (back_comment): Check two-char comment markers more carefully
4594 to better handle overlapping cases like *//* or /* */* */ ...
4595 Match nestedness of ender/starter.
4596
2021ab61
DL
45972000-10-02 Dave Love <fx@gnu.org>
4598
4599 * config.in (HAVE_GAI_STRERROR): Add undef.
4600
4601 * process.c (Fopen_network_stream): Use it.
4602
4603 * m/alpha.h (NO_REMAP): Don't define.
4604
64e6cc18
GM
46052000-10-02 Gerd Moellmann <gerd@gnu.org>
4606
4607 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
4608 return with a string converted to an integer or vice versa when
4609 Vmocklisp_arguments is t.
4610 (Fsignal): Likewise. The function can return for `quit'.
4611 (struct gcpro): Declare member `var' to point to a volatile
4612 Lisp_Object.
4613
4614 * eval.c (error): Prevent compiler warning.
4615
b1904cd9
SM
46162000-09-30 Stefan Monnier <monnier@cs.yale.edu>
4617
4618 * keymap.c (keymap_memberp): New function.
4619 (Fset_keymap_parent): Use it.
4620 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
4621 Use keymap_memberp to avoid creating cycles.
4622 (access_keymap): Use KEYMAPP.
4623
71c9ec51
GM
46242000-09-30 Gerd Moellmann <gerd@gnu.org>
4625
4626 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
4627 gai_strerror. Make sure xerrno is set if connect fails. Improve
4628 error recovery.
71c9ec51 4629
c70c6b58
JR
46302000-09-29 Jason Rumney <jasonr@gnu.org>
4631
4632 * w32term.c (w32_char_font_type, w32_encode_char)
4633 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
4634 (w32_bdf_per_char_metric): New function.
4635 (w32_per_char_metric): Use it.
4636 (x_draw_glyph_string_background): Always draw background for BDF
4637 glyphs.
4638
4639 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
4640 GDI object which is a scarce resource.
4641
4642 * w32bdf.c (search_file_line): Fix skipping of whitespace.
4643 (get_quoted_string): Fix limit on memchr search.
4644 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
4645 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
4646 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
4647 (get_cached_font_char, cache_char_offset): Use macro
4648 BDF_CODEPOINT_RANGE_COVER_P.
4649 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
4650 (clear_cached_bitmap_slots): New function.
4651 (GET_HEX_VALUE): G-Z, g-z are not hex.
4652 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
4653 (get_bitmap_with_cache): Use new cache implementation.
4654 (create_offscreen_bitmap): New function.
4655 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
4656
4657 * w32term.c (x_produce_glyphs): If the distance from the current
4658 position to the next tab stop is less than a canonical character
4659 width, use the tab stop after that.
4660 (x_draw_glyphs): Handle case START and END are out of bounds more
4661 carefully.
4662 (x_clear_mouse_face): Block/unblock input.
4663 (x_display_and_set_cursor): Don't show a hollow box cursor for
4664 buffers whose cursor_type is nil.
4665
fe01239f
GM
46662000-09-29 Gerd Moellmann <gerd@gnu.org>
4667
4668 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar
4669 disappears.
4670
4671 * dispextern.h (updating_frame): Declare extern.
4672
e7c52f1f
AS
46732000-09-29 Andreas Schwab <schwab@suse.de>
4674
4675 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
4676
de6e1f7c
GM
46772000-09-29 Gerd Moellmann <gerd@gnu.org>
4678
25126faa
GM
4679 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
4680 use its function definition.
4681 (tool_bar_items): Likewise.
4682
de6e1f7c
GM
4683 * lisp.h (fatal): Declare NO_RETURN.
4684
454ee39b
KH
46852000-09-29 Kenichi Handa <handa@etl.go.jp>
4686
4687 * keymap.c: Remove the line "#undef NULL".
4688
96301c5f
GM
46892000-09-28 Gerd Moellmann <gerd@gnu.org>
4690
4691 * xterm.c (x_make_frame_visible): Try harder to make the frame
4692 visible.
4693
efffeeb4
DL
46942000-09-28 Dave Love <fx@gnu.org>
4695
ecb8b666
DL
4696 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
4697
dc3cd20f
DL
4698 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
4699
4700 * .gdbinit (xreload): Note its need on GNU/Linux.
4701
efffeeb4
DL
4702 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
4703 r_alloc, r_alloc_free.
4704
8610d903
KH
47052000-09-28 Kenichi Handa <handa@etl.go.jp>
4706
4707 * syntax.c (skip_chars): Handle negation correctly.
4708
8901d1ac
GM
47092000-09-27 Gerd Moellmann <gerd@gnu.org>
4710
6f22f1ad
GM
4711 * xfaces.c (realize_default_face): Call set_lface_from_font_name
4712 with non-zero FORCE_P argument.
4713
8901d1ac
GM
4714 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
4715 Add assertions.
4716
4717 * xdisp.c (window_box_height): Add an assertion.
4718
4719 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
4720 tool-bar than is available.
4721 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
4722
36f1966f
DL
47232000-09-27 Dave Love <fx@gnu.org>
4724
efffeeb4 4725 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 4726
31d929e5
GM
47272000-09-26 Gerd Moellmann <gerd@gnu.org>
4728
c98863bf
GM
4729 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
4730 instead of BITS_PER_INT.
4731 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
4732 EMACS_UINT, respectively.
4733 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
4734
4735 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
4736
4737 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
4738
77072ab1
GM
4739 * window.c (freeze_window_starts): Construct last argument for
4740 foreach_window differently.
4741
4742 * xfns.c (x_decode_color): Don't return a Lisp_Object.
4743
4744 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
4745 EMACS_UINT instead of `int' and `unsigned int'.
4746 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
4747
4748 * frame.h (struct frame): Make the `nothing' member of union
4749 output_data an EMACS_INT.
4750
31d929e5
GM
4751 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug
4752 hunting.
4753 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
4754 size in the sdata structure.
4755 (SDATA_NBYTES, SDATA_DATA): New macros.
4756 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
4757 differently for the different layout of the sdata structure.
4758 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
4759 in sdata.
4760 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
4761 Check that size recorded in the string size and size recorded in
4762 the sdata structure agree.
4763
3e60b029
DL
47642000-09-25 Dave Love <fx@gnu.org>
4765
4766 * buffer.c: Include stdio.h.
4767
4768 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
4769
4770 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
4771
4772 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
4773 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as
4774 size_t.
4775 (__malloc_extra_blocks): Declare as __malloc_size_t.
4776
8ff16b4e
GM
47772000-09-25 Gerd Moellmann <gerd@gnu.org>
4778
755a2ccd
GM
4779 * alloc.c (mark_image): Use GC_NILP instead of NILP.
4780
d8b4516f
GM
4781 * keyboard.c (show_help_echo): Set help_echo_showing_p.
4782 (read_char): If help-echo is showing, preserve the echo area
4783 when redisplaying.
4784
4785 * xdisp.c (help_echo_showing_p): New variable.
4786 (set_message): Reset it to 0.
4787 (init_xdisp): Initialize help_echo_showing_p.
4788
4789 * dispextern.h (help_echo_showing_p): Declare extern.
4790
4791 * config.in: Fix typo in __GNUC_MINOR__.
4792
4793 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
4794
b11af2dd
GM
4795 * s/freebsd.h (POSIX_SIGNALS): Define.
4796
8ff16b4e
GM
4797 * xterm.c (x_clear_mouse_face): Block/unblock input.
4798
844eb643
DL
47992000-09-24 Dave Love <fx@gnu.org>
4800
4801 * fns.c (base64_encode_1): Fix last change.
4802
b30ab1b3
GM
48032000-09-22 Gerd Moellmann <gerd@gnu.org>
4804
4805 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
4806
4807 * xdisp.c (try_window_reusing_current_matrix): More fixes
4808 for the case window has a header-line.
4809
c6cbe5f0
DL
48102000-09-22 Dave Love <fx@gnu.org>
4811
4c7c1f3f
DL
4812 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
4813 a doc string.
4814
4815 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
4816
c6cbe5f0
DL
4817 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
4818
550a625e
GM
48192000-09-21 Gerd Moellmann <gerd@gnu.org>
4820
4c7c1f3f 4821 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
4822 for GCC >= 2.5.
4823
4824 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error): Declare
4825 NO_RETURN.
4826
80d26f99
GM
4827 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
4828 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
4829 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
4830 warnings.
4831
4832 * marker.c (byte_char_debug_check): Return void.
4833
623a0aae
GM
4834 * xfns.c (Fx_create_frame): Set default frame parameter value
4835 for tool-bar-lines to 1.
4836
4837 * dispnew.c (scrolling_window): Compare y-positions of rows
4838 equal at the start. Some simplification.
4839
4840 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
4841 reused rows' y-position in the case window has a header-line, and
4842 new window start is greater than old window start.
4843
42ac0ae5
GM
4844 * process.c (process_sent_to): New variable.
4845 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
4846 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
4847 Declare more parameters volatile.
4848
550a625e
GM
4849 * lread.c (Vrecursive_load_depth_limit): New variable.
4850 (Fload): Check recursive loads whose recursion depth exceeds
4851 Vrecursive_load_depth_limit.
4852 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
4853
8320414c
GM
48542000-09-20 Gerd Moellmann <gerd@gnu.org>
4855
f46c275e
GM
4856 * fileio.c (Fread_file_name): Doc fix.
4857
4858 * editfns.c (Fmessage_or_box): Doc fix.
4859
4860 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
4861
b7e11c5b
GM
4862 * xfns.c (xbm_scan): Allow C-style comments.
4863
8320414c
GM
4864 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
4865 symbols are specified, add color translations to the cache.
4866 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New
4867 functions.
4868 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
4869 xpm_cache_color.
4870 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
4871 structures to xpm_init_color_cache.
4872
da1608d9
GM
48732000-09-19 Gerd Moellmann <gerd@gnu.org>
4874
4875 * dispnew.c (update_window_line): Make sure to always draw
4876 mode-lines.
4877
6badfa25
AI
48782000-09-19 Andrew Innes <andrewi@gnu.org>
4879
4880 * makefile.nt (bootstrap-emacs): Don't change directory.
4881
3a5f42bb
KH
48822000-09-19 Kenichi Handa <handa@etl.go.jp>
4883
1b7649bd
KH
4884 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
4885
3a5f42bb
KH
4886 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
4887 If output buffer is too small, signal an appropriated error.
4888
9f83cf0b
DL
48892000-09-18 Dave Love <fx@gnu.org>
4890
4891 * keyboard.c (menu_bar_items, tool_bar_items)
4892 (current_active_maps): Remove redundant get_local_map call.
4893
28c7826c
GM
48942000-09-18 Gerd Moellmann <gerd@gnu.org>
4895
5cefa566
GM
4896 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
4897 cursor for buffers whose cursor_type is nil.
4898
6fed3546
GM
4899 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
4900 a feature to implement that is already implemented.
4901 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
4902 warnings.
4903
4904 * xfns.c (x_clear_image_1): New function.
4905 (x_clear_image): Use it.
4906 (x_from_xcolors): Use x_clear_image_1; don't free the image's
4907 mask.
4908
05b1f851
GM
4909 * dispnew.c (update_window): Move test for invisible lines
4910 at the top to update_window_line.
4911 (update_window_line): Handle invisible lines here.
4912
f4779de9
GM
4913 * xfns.c (clear_image_cache): Clear current matrices of all
4914 frames sharing an image cache. Block input while freeing
4915 images. Fix timestamp comparison.
4916 (x_clear_image): Also free the mask.
4917
28c7826c
GM
4918 * xfns.c (lookup_image): Block input while loading the image so
4919 that we won't get interrupted in a state where the image isn't yet
4920 set up completely.
4921 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
4922 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
4923 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
4924 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock
4925 input.
4926
b7412313
GM
49272000-09-16 Gerd Moellmann <gerd@gnu.org>
4928
4929 * dispnew.c (update_window): Make sure to make desired rows
4930 current even if they are completely invisible at the top
4931 of a window.
4932
47e351a3
GM
49332000-09-15 Gerd Moellmann <gerd@gnu.org>
4934
7f8f1edc
GM
4935 * xfns.c (lookup_image): Build mask before applying an algorithm.
4936 Recognize algorithm `disabled'.
4937 (cross_disabled_images): New variable.
4938 (COLOR_INTENSITY): New macro.
4939 (x_detect_edges): Use COLOR_INTENSITY.
4940 (x_disable_image): New function.
4941 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
4942
4943 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
4944 disabled state, don't apply an image transformation algorithm if
4945 the user specified an image for the disabled state. Use
28c7826c 4946 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
4947 user hasn't specified an image.
4948
ebb8f116
GM
4949 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
4950 allocation functions with the XPM lib.
4951 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
4952 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
4953 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
4954 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
4955 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New
4956 functions.
4957 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
4958 functions, if possible, because these handle color allocation
4959 failure more gracefully.
4960 (Fimage_mask_p): New function.
4961
47e351a3
GM
4962 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
4963 (Qedge_detection, Qheuristic): New symbols.
4964 (syms_of_xfns): Initialize new symbols.
4965 (lookup_image): Handle `:mask X', `:algorithm emboss', and
4966 `algorithm (edge-detection ...)'.
4967 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
4968 (tiff_format, gif_format, gs_format): Add `:mask'.
4969 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
4970 (GIF_MASK, GS_MASK): New enumerators.
4971 (x_laplace_read_row, x_laplace_write_row): Functions removed.
4972 (emboss_matrix, laplace_matrix): New variables.
4973 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
4974 (x_edge_detection): New functions.
4975 (x_laplace): Rewritten in terms of x_detect_edges.
4976 (x_build_heuristic_mask): If image has a mask, free it.
4977
fe83b953
AI
49782000-09-14 Andrew Innes <andrewi@gnu.org>
4979
4980 * makefile.w32-in: Revert to Unix line endings.
4981
3021e816
AI
49822000-09-14 Andrew Innes <andrewi@gnu.org>
4983
4984 * makefile.w32-in: Standardize indentation somewhat.
4985 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
4986 cater for differences between shells.
4987
4988 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
4989
2a32b5ea
GM
49902000-09-14 Gerd Moellmann <gerd@gnu.org>
4991
4992 * xterm.c (x_produce_glyphs): If the distance from the current
4993 position to the next tab stop is less than a canonical character
4994 width, use the tab stop after that.
4995
b4331e96
DL
49962000-09-14 Dave Love <fx@gnu.org>
4997
4998 * buffer.c (alloc_buffer_text): Fix xmalloc call.
4999
ef9e4345
GM
50002000-09-14 Gerd Moellmann <gerd@gnu.org>
5001
085536c2
GM
5002 * xdisp.c (handle_fontified_prop): While running fontification
5003 functions, bind `fontification-functions' and
5004 `after-change-functions' to nil.
5005
ef9e4345
GM
5006 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
5007 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
5008
5009 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
5010
5011 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
5012 USE_MMAP_FOR_BUFFERS.
5013
5014 * insdel.c (make_gap): Use enlarge_buffer_text.
5015
5016 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
5017 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
5018 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
5019 from former r_alloc_* functions in ralloc.c.
5020 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New
5021 variables.
5022 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
5023 (mmap_init) [REL_ALLOC_MMAP]: New function.
5024 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
5025 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
5026 BUFFER_FREE.
5027
5028 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
5029 (enlarge_buffer_text): Add prototype.
5030
5031 * ralloc.c: Remove everything having to do with the use of mmap.
5032
f8608968
GM
50332000-09-13 Gerd Moellmann <gerd@gnu.org>
5034
2a494b2d
GM
5035 * sound.c (Fplay_sound): Doc fix.
5036
8c907a56
GM
5037 * keyboard.c: Avoid some more compiler warnings.
5038 (parse_tool_bar_item): Ignore cached key bindings.
5039
f8608968
GM
5040 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
5041 and allocation of Lisp data.
5042
6ab70e9a
GM
50432000-09-12 Gerd Moellmann <gerd@gnu.org>
5044
d12d0a9b
GM
5045 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
5046 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
5047 defaults first.
5048
6ab70e9a
GM
5049 * lread.c (Fload): Put code checking for recursive loads in #if 0.
5050
63c36c3c
KH
50512000-09-12 Miyashita Hisashi <himi@meadowy.org>
5052
5053 * ccl.c: Comment fixed.
5054 (MAX_MAP_SET_LEVEL): Increased to 30.
5055 (PUSH_MAPPING_STACK): Enclose with do-while block.
5056 (POP_MAPPING_STACK): Likewise.
5057 (stack_idx_of_map_multiple): New variable.
5058 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
5059 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
5060 call the corresponding CCL program by
5061 CCL_CALL_FOR_MAP_INSTRUCTION.
5062 (ccl_driver) <CCL_MapSingle>: Likewise.
5063 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
5064 with the case where looking up process reaches to the end of
5065 map-set, and call CCL programs as the above change.
5066
7ee3bd7b
GM
50672000-09-11 Gerd Moellmann <gerd@gnu.org>
5068
8ec8a5ec
GM
5069 * xfns.c (png_load, jpeg_load): Declare some variables volatile
5070 that might be clobbered by longjmp.
5071 (check_x_display_info, x_decode_color, create_frame_xic)
5072 (Fx_display_backing_store, Fx_display_visual_class)
5073 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler
5074 warnings.
5075
f74b0705
GM
5076 * lread.c (init_lread): Set Vloads_in_progress to nil.
5077 (Fload): Show list of recursively loaded files, when signaling an
5078 error.
5079
7ee3bd7b
GM
5080 * lread.c (Vloads_in_progress): New variable.
5081 (record_load_unwind): New function.
5082 (Fload): Check for recursive loads.
5083 (syms_of_lread): Initialize Vloads_in_progress.
5084 (read_integer, read1): Avoid some compiler warnings.
5085
5086 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
5087 compiler warnings.
5088
974e1e5b
MB
50892000-09-11 Miles Bader <miles@gnu.org>
5090
5091 * editfns.c (Fbuffer_string): Doc fix.
5092
9824c4e3
GM
50932000-09-10 Gerd Moellmann <gerd@gnu.org>
5094
5095 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
5096
6a72fdd1
KR
50972000-09-09 Ken Raeburn <raeburn@gnu.org>
5098
5099 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
5100 whether to include other header files.
5101
28e6fb66
GM
51022000-09-09 Gerd Moellmann <gerd@gnu.org>
5103
5104 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 5105 by Fmemq as a boolean.
28e6fb66 5106
7f8b6551
SM
51072000-09-08 Stefan Monnier <monnier@cs.yale.edu>
5108
5109 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
5110
a8710abf
GM
51112000-09-08 Gerd Moellmann <gerd@gnu.org>
5112
d1a02881
GM
5113 * ralloc.c (mmap_fd): Remove initializer which can make it
5114 read-only in a dumped Emacs.
5115 (mmap_fd_1): New variable.
5116 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
5117 restore it from there.
5118 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
5119 unconditionally so that mmap_fd can be initialized there.
5120 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
5121 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
5122 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
5123
c454aac1
GM
5124 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
5125
5126 * xdisp.c (dump_glyph_row): Fix printf format string.
5127 (display_line, move_it_in_display_line_to): Avoid compiler
5128 warnings.
5129
fc653ef2
GM
5130 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
5131
3015eec0
GM
5132 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
5133 inheritance.
5134
bfe0ee88
GM
5135 * xdisp.c (try_window_id): When trying to locate cursor in
5136 unchanged rows at the top, handle the case that we can't find it.
5137
a8710abf
GM
5138 * xterm.c (x_draw_glyphs): Handle case START and END are out
5139 of bounds more carefully.
5140
6b7d4ae4
DL
51412000-09-08 Dave Love <fx@gnu.org>
5142
423193c5
DL
5143 * s/sol2.h (REL_ALLOC_MMAP): Define.
5144 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
5145
5146 * ralloc.c: Don't include string.h (redundant).
5147 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
5148 [!MAP_ANON]: Include fcntl.h.
5149 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
5150 (r_alloc, r_re_alloc, r_alloc_free)
5151 (mmap_enlarge, mmap_set_vars): Use it.
5152 (r_alloc_init_fd): New function.
5153 (__morecore) [SYSTEM_MALLOC]: Don't declare.
5154 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
5155 malloc type.
5156
5157 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
5158 Remove vm-limit.o.
5159
6b7d4ae4
DL
5160 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
5161 change to __NetBSD__.
5162
44d31981
KH
51632000-09-08 Kenichi Handa <handa@etl.go.jp>
5164
5165 * search.c (compile_pattern): Check the multibyteness of cached
5166 string and PATTERN.
5167
aad40737
MB
51682000-09-08 Miles Bader <miles@gnu.org>
5169
5170 * xfaces.c (default_face_vector): Function removed.
5171 (Finternal_merge_in_global_face): Restore old global/local
5172 attribute override order. Use inline loop instead of calling
5173 default_face_vector.
5174
91a211b5
GM
51752000-09-07 Gerd Moellmann <gerd@gnu.org>
5176
5177 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
5178 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
5179 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
5180 where necessary, in case POINTER_TYPE is `void'.
5181
03419440
EZ
51822000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
5183
5184 * frame.c (make_terminal_frame): Initialize frame foreground and
5185 background colors to unspecified, for the initial instance of an
5186 MSDOS frame.
5187
f46f845b
GM
51882000-09-07 Gerd Moellmann <gerd@gnu.org>
5189
24f76fbf
GM
5190 * ralloc.c (mmap_find): Fix overlap computation.
5191 (mmap_enlarge): Compute nbytes before trying to find an
5192 overlapping region.
5193
f46f845b
GM
5194 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
5195 instead of `!='.
5196
5197 * lread.c (syms_of_lread): Change value of regexp
5198 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
5199
5200 * xmenu.c (xdialog_show): When looking up the selection in
5201 menu_items, take `quote' boundaries into account; this corresponds
5202 to a nil ITEM in x-popup-dialog.
5203
3c014385
KH
52042000-09-07 Kenichi Handa <handa@etl.go.jp>
5205
fd6f711b
KH
5206 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
5207 not 0x81.
5208 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
5209
3c014385 5210 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
5211 encoding, not decoding. Fix the handling of latin-jisx0201.
5212 Check for the charset katakana-jisx0201 too.
3c014385 5213 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 5214 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 5215
0da3ecef
GM
52162000-09-07 Gerd Moellmann <gerd@gnu.org>
5217
ab0ee409
GM
5218 * xfaces.c (Vparam_value_alist): New variable.
5219 (syms_of_xfaces): Initialize it.
5220 (Finternal_set_lisp_face_attribute): Avoid more consing.
5221
5222 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
5223 specially.
5224 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
5225 (Qbackground_mode): New variable.
5226 (syms_of_frame_1): Initialize Qbackground_mode.
5227
5228 * lisp.h (Qdisplay): Declare extern.
1091dd67 5229
0da3ecef
GM
5230 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
5231 change face on all frames, and change the default for new frames.
5232
b14654b9
DL
52332000-09-07 Dave Love <fx@gnu.org>
5234
5235 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
5236
d24fd56f
KH
52372000-09-07 Kenichi Handa <handa@etl.go.jp>
5238
794f3670
KH
5239 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
5240
0fddd0dc
KH
5241 * charset.c: Include composite.h
5242 (lisp_string_width): New function.
5243 (Fstring_width): Call lisp_string_width instead of strwidth.
5244
5245 * Makefile.in (charset.o): Depends on composite.h.
5246
d24fd56f
KH
5247 * process.c (read_process_output): Before inserting the decoded
5248 text in the buffer, adjust the multibyteness.
5249
fa0b693c
GM
52502000-09-06 Gerd Moellmann <gerd@gnu.org>
5251
73b77ee5
GM
5252 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
5253 buffer's text buffer is null, map new memory.
5254
0a58f946
GM
5255 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
5256 POINTER_TYPE and size_t.
5257 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
5258 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
5259 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
5260 [REL_ALLOC_MMAP]: New macros.
5261 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
5262 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
5263 [REL_ALLOC_MMAP]: New functions.
5264
5265 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
5266 before and after unexec.
5267
5268 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
5269 text buffers if necessary.
5270
5271 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
5272 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
5273 in prototypes.
5274
fa0b693c
GM
5275 * config.in (HAVE_MMAP): Add #undef.
5276
877055f6
GM
52772000-09-05 Gerd Moellmann <gerd@gnu.org>
5278
08ba3862
GM
5279 * frame.c (Qdisplay_type): New variable.
5280 (syms_of_frame_1): Initialize it.
5281 (Fframe_parameter): New function that avoids consing.
5282 (syms_of_frame): Defsubr it.
5283
66ffe51c
GM
5284 * buffer.c (Fother_buffer): Consider buffers as invisible when
5285 they are displayed in a window on an invisible frame.
5286
877055f6
GM
5287 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
5288 get-largest-window always return nil.
5289
bb970e67
GM
52902000-09-04 Gerd Moellmann <gerd@gnu.org>
5291
5292 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
5293 variable; recognize Emacs 19 elc files.
5294
7a3d0e0e
MB
52952000-09-04 Miles Bader <miles@gnu.org>
5296
5297 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
5298 before initially popping up the menu, so the menu doesn't flash
5299 when the face settings are significantly different from the
5300 defaults.
5301
14473664
SM
53022000-09-04 Stefan Monnier <monnier@cs.yale.edu>
5303
5304 * regex.c (WIDE_CHAR_SUPPORT): New macro.
5305 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
5306 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
5307 (BIT_UNIBYTE): Remove.
5308 (re_match_2_internal): Delete corresponding code and streamline the
5309 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
5310 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
5311 (re_wctype_t): New type.
5312 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
5313 (regex_compile): Use them and fix handling of overly long char classes.
5314
c1174479
AI
53152000-09-03 Andrew Innes <andrewi@gnu.org>
5316
f8803e97
AI
5317 * makefile.w32-in: Change to DOS line endings.
5318
c1174479
AI
5319 * s/ms-w32.h (ORDINARY_LINK): New define.
5320
5321 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
5322 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
5323
5324 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
5325 (distclean): Delete them here instead.
5326
44ef7cf6
AI
5327 * w32proc.c (compare_env): Convert to uppercase for comparison,
5328 not lowercase, to match how the native Windows shell works.
5329
49b3bd82
JR
53302000-09-03 Jason Rumney <jasonr@gnu.org>
5331
5332 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
5333 CVS changes the line-ends when checking in/out on DOS/Windows.
5334
5335 * makefile.nt (emacs): Do not change directory to run temacs, as
5336 the load-path is set relative to current directory.
5337
a3d35a39
MB
53382000-09-03 Miles Bader <miles@gnu.org>
5339
5340 * xterm.c (x_alloc_lighter_color_for_widget): New function.
5341
d276b0cf
GM
53422000-09-02 Gerd Moellmann <gerd@gnu.org>
5343
715e84c9
GM
5344 * xdisp.c (redisplay_mode_lines): New function.
5345 (display_mode_lines): Return number of mode lines displayed.
5346 (echo_area_display): Use redisplay_mode_lines to draw garbaged
5347 mode lines. Don't temporarily bind redisplay-dont-pause to t.
5348
8892f40b
GM
5349 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
5350 string.h and strings.h.
5351 (index) [HAVE_INDEX]: Add prototype.
5352
d276b0cf
GM
5353 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
5354 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
5355
5356 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
5357 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
5358
38404229
GM
53592000-09-01 Gerd Moellmann <gerd@gnu.org>
5360
5361 * lread.c (read1): Accept `?' as symbol constituent, for
5362 compatiblity with XEmacs.
5363
c0f9ea08
SM
53642000-08-31 Stefan Monnier <monnier@cs.yale.edu>
5365
5366 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
5367 (struct re_pattern_buffer): Remove newline_anchor.
5368 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
5369 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
5370 (re_max_failures, fail_stack): Use size_t rather than unsigned.
5371 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
5372 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
5373 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
5374 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
5375 Get rid of references to newline_anchor.
5376 (regcomp): Allocate and precompute a fastmap.
5377
8c0f83fe
GM
53782000-08-31 Gerd Moellmann <gerd@gnu.org>
5379
5380 * lread.c (openp): GCPRO local variable `filename'.
5381
4bb91c68
SM
53822000-08-30 Stefan Monnier <monnier@cs.yale.edu>
5383
5384 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
5385
5386 * regex.c: Merge some changes from GNU libc. Add prototypes.
5387 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
5388 Use memcmp and memcpy instead of bcopy and bcmp.
5389 (init_syntax_once): Use ISALNUM.
5390 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
5391 (REG_UNSET_VALUE): Remove. Use NULL instead.
5392 (REG_UNSET, re_match_2_internal): Use NULL.
5393 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
5394 New macros.
5395 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
5396 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
5397 (regex_compile): In handle_interval, return an error rather than try to
5398 unfetch the interval if we can't find the closing brace.
5399 Obey the RE_NO_GNU_OPS syntax bit.
5400 (TOLOWER): New macro.
5401 (regcomp): Use it.
5402 (regexec): Allocate regs.start and regs.end as one block.
5403
5226a931
GM
54042000-08-30 Gerd Moellmann <gerd@gnu.org>
5405
868dd24b
GM
5406 * xdisp.c (echo_area_display): Check display_completed instead
5407 of calling detect_input_pending.
5408
5409 * dispnew.c (update_frame): Only set display_completed here; move
5410 the update_begin and update_end calls here from update_frame_1.
5411 (update_frame_1): Don't set display_completed here, don't call
5412 update_begin/update_end.
5413
5226a931
GM
5414 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
5415 instead of store_frame_param.
5416
2a8bd25f
GM
54172000-08-29 Gerd Moellmann <gerd@gnu.org>
5418
5419 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
5420 desired window matrix hasn't been displayed, use the current row
5421 instead. Make sure that only those frame rows are updated for
5422 which there exists a corresponding enabled desired row.
5423
ba3478d9
MB
54242000-08-29 Miles Bader <miles@gnu.org>
5425
5426 * xfaces.c (default_face_vector): New function.
5427 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
5428
87d0f685
GM
54292000-08-29 Gerd Moellmann <gerd@gnu.org>
5430
5431 * lread.c (openp): Prevent temporary string passed to
5432 Ffile_readable_p from being garbage collected.
5433
6fa86045
DL
54342000-08-28 Dave Love <fx@gnu.org>
5435
5436 * keymap.c (store_in_keymap): Add `static' to declaration.
5437
bb17930d
GM
54382000-08-28 Gerd Moellmann <gerd@gnu.org>
5439
5440 * emacs.c, callint.c, doc.c, editfns.c
5441 (toplevel) [HAVE_STRING_H]: Include string.h.
5442 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
5443 (index): Remove prototypes which might conflict with non-standard
5444 definitions of index/strchr.
5445
5446 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
5447 (rindex): Define only if !HAVE_RINDEX.
5448
5449 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
5450
5451 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
5452
87188200
MB
54532000-08-28 Miles Bader <miles@gnu.org>
5454
5455 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
5456 made inconsistent by a font-related attribute in FROM.
5457 (merge_face_inheritance): Add function comment.
5458
41a68aef
KH
54592000-08-28 Kenichi Handa <handa@etl.go.jp>
5460
5461 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
5462 the 4th arg (PREV_EVENT) Qt to suppress input method.
5463
f7c436c1
SM
54642000-08-27 Stefan Monnier <monnier@cs.yale.edu>
5465
0b32bf0e
SM
5466 * regex.c: Indent cpp directives and remove parens after `defined'.
5467 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
5468 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
5469 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
5470 (re_compile_pattern): Use size_t for length.
5471 (init_syntax_once): Move to a better place.
5472 * regex.h: Merge changes from GNU libc. Indent cpp directives.
5473 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
5474
f7c436c1
SM
5475 * syntax.c (back_comment): Detect cases where a comment-starter is
5476 actually inside another comment as in: /* a // b */ c // d \n.
5477 Make it clear that `comstart_pos' is unused for nested comments.
5478
5479 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
5480 (KEYMAPP): New macro.
5481 (Fkeymap_parent, Fset_keymap_parent): Use it.
5482 (fix_submap_inheritance): Mark it static.
5483 (define_as_prefix, describe_buffer_bindings, describe_command)
5484 (describe_translation, describe_map): Complete prototypes.
5485
5486 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
5487
5488 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
5489 to better match the key-lookup behavior.
5490
6288c62f
GM
54912000-08-27 Gerd Moellmann <gerd@gnu.org>
5492
5493 * xfaces.c (lface_fully_specified_p): Handle :inherit.
5494 (Finternal_set_lisp_face_attribute): Fix typo in error message.
5495
e931344e
EZ
54962000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
5497
5498 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
5499 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
5500 (xterm.o): Depend on coding.h
5501
d10dfeef
KH
55022000-08-26 Kenichi Handa <handa@etl.go.jp>
5503
5504 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
5505 the corresponding '#endif'.
5506
2d73e8d3
MB
55072000-08-26 Miles Bader <miles@gnu.org>
5508
5509 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
5510 * xfaces.c (QCinherit): New variable.
5511 (syms_of_xfaces): Initialize it.
5512 (LFACE_INHERIT): New macro.
5513 (Finternal_get_lisp_face_attribute)
5514 (merge_face_vector_with_property)
5515 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
5516 (check_lface_attrs): Allow new types of face height. Check
5517 inherit attribute.
5518 (CYCLE_CHECK): New macro.
5519 (merge_face_inheritance): New function.
5520 (merge_face_vectors): Merge inherited faces too. Add F and
5521 CYCLE_CHECK arguments.
5522 (merge_face_vector_with_property, Finternal_merge_in_global_face)
5523 (lookup_named_face, lookup_derived_face, realize_named_face)
5524 (face_at_string_position, face_at_buffer_position): Supply
5525 new F and CYCLE_CHECK arguments to merge_face_vectors.
5526 (merge_face_heights): New function.
5527 (merge_face_vectors, merge_face_vector_with_property)
5528 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
5529 handle relative face heights.
5530 (lface_same_font_attributes_p): Compare heights using EQ.
5531
6ce974d4
KH
55322000-08-26 Kenichi Handa <handa@etl.go.jp>
5533
5534 * charset.c (char_to_string): Check the character validity.
5535 (char_valid_p): If C is not less than MAX_CHAR, be sure to return
5536 0.
5537
dc1e502d
SM
55382000-08-25 Stefan Monnier <monnier@cs.yale.edu>
5539
5540 * regex.c (PUSH_FAILURE_COUNT): New macro.
5541 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
5542 Handle popping of a register's or a counter's data.
5543 (POP_FAILURE_POINT): Use the new name.
5544 (re_match_2_internal): Push counter data on the stack for succeed_n,
5545 jump_n and set_number_at and remove misleading dead code in succeed_n.
5546
bd9d0f3f
GM
55472000-08-25 Gerd Moellmann <gerd@gnu.org>
5548
5549 * xdisp.c (redisplay_internal): If considering all windows on all
5550 frames, update the display for each frame as soon as possible,
5551 instead of first building all desired matrices for all frames, and
5552 then updating them all.
5553 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
5554
aa5b8e15
GM
55552000-08-24 Gerd Moellmann <gerd@gnu.org>
5556
17494071
GM
5557 * bytecode.c (mark_byte_stack): Add a comment.
5558
aa5b8e15
GM
5559 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
5560 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
5561 a graphical frame.
5562
c543db81
KH
55632000-08-24 Kenichi Handa <handa@etl.go.jp>
5564
d246d5f5
KH
5565 * minibuf.c (do_completion): Always use compare-string, not
5566 string-equal because the latter doesn't pay attention to
5567 multibyteness of strings.
5568
c543db81
KH
5569 * process.c (create_process): Don't setup raw-text coding here.
5570 (Fopen_network_stream): Don't set coding->src_multibyte and
5571 coding->dst_multibyte here.
5572 (read_process_output): For process filter, return unibyte string
5573 if default-enable-multibyte-characters is nil.
5574 (send_process): If OBJECT is multibyte text, be sure to encoded it
5575 by the specified coding system for the process. Otherwise, setup
5576 raw-text coding.
5577 (init_process): Don't initialize default-process-coding-system
5578 here.
5579
9b47cfe0
EZ
55802000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
5581
5582 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
5583 <scroll-down-aggressively>: Likewise.
5584
f5a36960
KH
55852000-08-23 Kenichi Handa <handa@etl.go.jp>
5586
5587 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
5588 zero. Set coding->produced_char correctly.
5589
69a7ffa7
AI
55902000-08-22 Andrew Innes <andrewi@gnu.org>
5591
5592 * makefile.w32-in: New file.
5593
5594 * unexw32.c (unexec): Ignore old_name, and use the actual location
5595 of the current executable instead. Base new_name on this.
5596
5597 * w32proc.c (create_child): Remove reference to security
5598 descriptor, which isn't needed and doesn't compile with mingw32.
5599
5600 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5601 up dllimport attributes.
5602 (x_update_window_end): Update prototype.
5603
5604 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
5605 extern, which screws up dllimport attributes.
5606
5607 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5608 up dllimport attributes.
5609
5610 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
5611 screws up dllimport attributes.
5612
5613 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5614 up dllimport attributes.
5615 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
5616 screws up dllimport attributes.
5617
5618 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5619 up dllimport attributes.
5620
5621 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
5622 screws up dllimport attributes.
5623
5624 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
5625 screws up dllimport attributes.
5626
5627 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5628 up dllimport attributes.
5629
5630 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
5631 unnecessary extern, which screws up dllimport attributes.
5632 (main): Ditto.
5633
5634 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5635 up dllimport attributes.
5636
5637 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
5638 unnecessary extern, which screws up dllimport attributes.
5639
5640 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
5641 screws up dllimport attributes.
5642
5643 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5644 up dllimport attributes.
5645
5646 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
5647
5648 * w32bdf.c (search_file_line):
5649 (set_bdf_font_info):
5650 (seek_char):
5651 (w32_get_bdf_glyph):
5652 (w32_BDF_to_x_font): Fix compile warnings.
5653
5654 * w32menu.c: Include keyboard.h before frame.h. Fix compile
5655 warnings.
5656
5657 * w32select.c: Include keyboard.h before frame.h.
5658
5659 * w32fns.c (max): Define macro.
5660 (JOHAB_CHARSET): Define if not known.
5661 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
5662 (Fx_show_tip): Synch with X version.
5663
5664 * w32xfns.c: Include keyboard.h before frame.h.
5665
5666 * w32fns.c: Include keyboard.h before frame.h.
5667
5668 * w32term.c: Include keyboard.h before frame.h.
5669
5670 * fontset.c: Include keyboard.h before frame.h.
5671
5672 * w32inevt.c: Include keyboard.h before frame.h.
5673 (MOUSE_MOVED): Define if not known.
5674
5675 * minibuf.c: Include keyboard.h before frame.h.
5676
5677 * keyboard.c: Include keyboard.h before frame.h.
5678
5679 * indent.c: Include keyboard.h before frame.h.
5680
5681 * dispnew.c: Include keyboard.h before frame.h.
5682
5683 * buffer.c: Include keyboard.h before frame.h.
5684
5685 * alloc.c: Include keyboard.h before frame.h.
5686
5687 * print.c: Include keyboard.h before frame.h.
5688
5689 * process.c: Include keyboard.h before frame.h.
5690
5691 * scroll.c: Include keyboard.h before frame.h.
5692
5693 * sysdep.c: Include keyboard.h before frame.h.
5694
5695 * term.c: Include keyboard.h before frame.h.
5696
5697 * window.c: Include keyboard.h before frame.h.
5698
5699 * xdisp.c: Include keyboard.h before frame.h.
5700 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
5701
5702 * frame.c: Include keyboard.h before frame.h.
5703
5704 * w32heap.h: Undefine min, max.
5705
5706 * w32gui.h: Undefine min, max.
5707
5708 * unexw32.c: Change PUCHAR to PCHAR.
5709 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
5710 (relocate_offset):
5711 (get_section_info):
5712 (copy_executable_and_dump_data): Remove unnecessary static defs.
5713 (copy_executable_and_dump_data): Fix compile warnings.
5714
5715 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
5716
5717 * w32console.c (min): Define macro.
5718 (clear_frame, write_glyphs): Fix compile warning.
5719
5720 * w32proc.c (compare_env):
5721 (find_child_console): Fix compile warning.
5722
5723 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
5724 sys_errlist instead of _sys_errlist.
5725 (get_emacs_configuration_options): New function.
5726
5727 * s/ms-w32.h (sys_nerr): Provide default definition.
5728 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
5729 name with _ prepended.
5730 (NSIG): Define if not known.
5731 (get_emacs_configuration): Provide extern declaration.
5732 (get_emacs_configuration_options): Provide extern declaration.
5733 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
5734
5735 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
5736 (map_w32_filename):
5737 (read_unc_volume): Fix compile warning.
5738
5739 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
5740 definitions from being used.
5741
5742 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
5743
5744 * w32.c (unc_volume_file_attributes):
5745 (open_unc_volume): Make arg const.
5746
5747 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
5748 (read_input_waiting): Remove excess parameter.
5749
5750 * w32.c (init_environment): Call _access.
5751 (check_windows_init_file): Call _close.
5752 (init_user_info): Call _putenv.
5753 (init_environment): Call _putenv and _strdup.
5754 (init_ntproc): Reset volume info cache on startup.
5755
5756 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
5757 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
5758 cannot override the CRT malloc.
5759
5760 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
5761 (LINK_FLAGS): Append to original value of LINK_FLAGS.
5762
5763 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
5764 unless we are linking with a static CRT.
5765 (RVA_TO_PTR): Cast result to unsigned char*.
5766
5767 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
5768 (add_volume_info): Use xstrdup.
5769
25060080
SM
57702000-08-22 Stefan Monnier <monnier@cs.yale.edu>
5771
5772 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
5773 (do_completion, Fminibuffer_complete_word): Use it.
5774 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
5775 var so it can take non-boolean values.
5776
6917e6bb
GM
57772000-08-21 Gerd Moellmann <gerd@gnu.org>
5778
acb7cc89
GM
5779 * editfns.c (find_field): Formatting changes.
5780 (toplevel): Some old-style function forward declarations
5781 changed to prototypes, some new protypes added, some functions
5782 made static.
5783
5784 * lisp.h (set_time_zone_rule): Add prototype.
5785 (use_dialog_box): External declaration.
5786
0bbfdc25
GM
5787 * keyboard.c (gen_help_event): Add parameter SIZE.
5788 (kbd_buffer_events_waiting): Slightly rewritten.
5789 (clear_event): New function.
5790 (kbd_buffer_get_event): Use it, and clear the input_events of
5791 HELP_EVENTs.
5792 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
5793 don't fill the newly created array with nils.
5794 (toplevel): Convert some old-style function forward declarations
5795 to prototypes.
5796
5797 * keyboard.h (gen_help_event): Change prototype.
5798
5799 * xterm.c (XTread_socket): Change calls to gen_help_event.
5800
5801 * w32term.c (w32_read_socket): Change calls to gen_help_event.
5802
6917e6bb
GM
5803 * eval.c (Fmacroexpand): Doc fix.
5804
e5cd3d11
JR
58052000-08-20 Jason Rumney <jasonr@gnu.org>
5806
5807 * w32term.h (x_display_info_for_display): Remove as this function
5808 does not exist on W32.
5809
5810 * w32term.c (help_echo_window): New variable.
5811 (syms_of_w32term): staticpro it.
5812 (note_mode_line_highlight): Set it.
5813 (XTextExtents16): Removed as there is no equivalent on W32.
5814 (x_compute_glyph_string_overhangs): Incomplete body removed, as
5815 the X way of doing this will not work for W32.
5816 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
5817 (x_draw_image_foreground): Avoid drawing outside of the clip area
5818 when image doesn't have a mask.
5819 (note_mouse_highlight): Process overlays in the right order of
5820 priority. Set help_echo_window.
5821 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
5822 because that's more visible for large images.
5823
5824 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
5825 name to single_keymap_panes.
5826 (w32_menu_show): Set wv->title when dealing with titles.
5827 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
5828
6e69ab8c
MB
58292000-08-21 Miles Bader <miles@gnu.org>
5830
5831 * minibuf.c (do_completion): Try again if we rewrite the input
5832 string, but no completion was done, so that any completion message
5833 will be correct.
5834
511bd4eb
GM
58352000-08-20 Gerd Moellmann <gerd@gnu.org>
5836
5837 * xfaces.c (lface_equal_p): Compare strings differently.
5838 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
5839 (realize_tty_face): Use them.
5840 (syms_of_xfaces): Initialize new variables.
5841 (map_tty_color): New function, extracted from realize_tty_face.
5842 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
5843 foreground or background color, store the new color name in the
5844 realized face; previous code trying to do this had no effect.
5845 (realize_tty_face): Use map_tty_color.
5846 (Fclear_face_cache): Set face_change_count and ensure thorough
5847 redisplay.
5848
1433385f
GM
58492000-08-19 Gerd Moellmann <gerd@gnu.org>
5850
511bd4eb
GM
5851 * undo.c (record_first_change, record_marker_adjustment): Don't
5852 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 5853
419ac0a2
KH
58542000-08-18 Kenichi Handa <handa@etl.go.jp>
5855
5856 * coding.c (decode_coding_string): Set members consumed,
5857 consumed_char, produced, produced_char of *coding correctly. If
5858 decode_coding doesn't consume any byte, don't try anymore.
5859 (encode_coding_string): Likewise.
5860
7eb9e30d
GM
58612000-08-18 Gerd Moellmann <gerd@gnu.org>
5862
511bd4eb
GM
5863 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
5864 conditional have void type, for Standard C compilers.
7eb9e30d
GM
5865
5866 * xdisp.c (redisplay_internal): Compare windows for equality with
5867 EQ, instead of applying XWINDOW to something that might not
5868 be a window.
5869
dd34a735
KH
58702000-08-18 Kenichi Handa <handa@etl.go.jp>
5871
5872 * fontset.c (Finternal_char_font): Search only the selected frame
5873 for a window of the current buffer.
5874
385ff9e3
GM
58752000-08-18 Gerd Moellmann <gerd@gnu.org>
5876
511bd4eb 5877 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
5878 Lisp_Objects.
5879
385ff9e3
GM
5880 * keyboard.c (kbd_buffer_get_event): Handle the case that the
5881 second half of a HELP_EVENT is found at the start of kbd_buffer.
5882
d6abb4c7
MB
58832000-08-18 Miles Bader <miles@gnu.org>
5884
4618074a
MB
5885 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
5886
d6abb4c7
MB
5887 * editfns.c (save_restriction_save): Rewrite to use markers.
5888 (save_restriction_restore): Rewrite to understand new form of data
5889 saved by save_restriction_save.
5890 (Fsave_restriction): Remove cautionary note in doc-string.
5891
a7b28523
GM
58922000-08-17 Gerd Moellmann <gerd@gnu.org>
5893
5894 * fileio.c (build_annotations): Add a comment explaining the
5895 return value of format-annotate-function. Replace a spurious call
5896 to Flength with a CONSP test. Call format-annotate-function with
5897 a fifth arg specifying how many times the function is been called
5898 in a row, to let it choose temporary buffers appropriately.
5899
03c9ed77
DL
59002000-08-17 Dave Love <fx@gnu.org>
5901
5902 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
5903 declare make_temp_name twice.
5904
5905 * lread.c: Prototype readevalloop, load_unwind,
5906 load_descriptor_unwind.
5907 (unreadpure): Give it an arg.
5908
5909 * unexalpha.c: Prototype fatal_unexec, mark_x,
5910 update_dynamic_symbols. Declare unexec as void.
5911
5912 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
5913 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
5914
5915 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
5916 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on
5917 DOUG_LEA_MALLOC.
5918
5919 * alloca.c: Use #error.
5920 [POINTER_TYPE]: Use it.
5921
5922 * eval.c (Fdefvar): Doc fix.
5923
5924 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
5925 INITIALIZE_INTERVAL.
5926
5927 * buffer.h: Avoid DECLARE_INTERVALS.
5928
5929 * config.in: Add size_t.
5930
aae41d97
EZ
59312000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
5932
5933 * w16select.c (set_clipboard_data): If there's not enough memory
5934 to put text into clipboard, return 1, as Fw16_set_clipboard_data
5935 expects. In case of other failures, return 3.
5936 (system_error_msg): New error message.
5937 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
5938 system_error_msg.
5939
65aa5e85
GM
59402000-08-16 Gerd Moellmann <gerd@gnu.org>
5941
5942 * term.c (write_glyphs): Also turn off inverse video after turning
5943 off other appearances in case TS_exit_attribute_mode is not equal
5944 to TS_end_standout_mode.
5945 (insert_glyphs): Turn inverse video on/off for each run of glyphs
5946 with the same face.
5947 (turn_off_face): Reset standout_mode only if
5948 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
5949 is equal to TS_end_standout_mode.
5950
ece23901
KH
59512000-08-16 Kenichi Handa <handa@etl.go.jp>
5952
9d7bcb2e
KH
5953 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
5954 sequence at the end of the source block.
5955
ece23901
KH
5956 * ccl.c (Fccl_program_p): Docstring modified.
5957 (Fccl_execute): Likewise.
5958 (Fccl_execute_on_string): Likewise.
5959
5e30eaa2
EZ
59602000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
5961
5962 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
5963
290602fd
KH
59642000-08-16 Kenichi Handa <handa@etl.go.jp>
5965
5966 The following changes are mainly to fix bugs of
5967 encode/decode-coding-string failing if encoding/decoding return
5968 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
5969 variable conversion_buffer.
5970
5971 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
5972 decrement dst_end to avoid buffer overflow in the later call of
5973 string_as_multibyte
5974
5975 * coding.h (conversion_buffer_size, conversion_buffer)
5976 (get_conversion_buffer): Extern deleted.
5977
5978 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
5979 (conversion_buffer, conversion_buffer_size): Variables deleted.
5980 (get_conversion_buffer): Function deleted.
5981 (struct conversion_buffer): New structure.
5982 (MAX_ALLOCA): New macro.
5983 (allocate_conversion_buffer): New macro.
5984 (extend_conversion_buffer, free_conversion_buffer): New functions.
5985 (ccl_coding_driver): Set coding->result.
5986 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
5987 this is the last block of source.
5988 (encode_coding): Likewise. Handle the source block as the last
5989 one only when the whole source text is consumed.
5990 (decode_coding_string): Handle the case that the output buffer is
5991 too small to decode the whole source text. Use
5992 allocate_conversion_buffer, extend_conversion_buffer and
5993 free_conversion_buffer, not get_conversion_buffer.
5994 (encode_coding_string): Likewise.
5995 (init_coding): Function deleted.
5996 (init_coding_once): Delete code to initialize
5997 conversion_buffer_size.
5998
5999 * emacs.c (main): Don't call init_coding.
6000
6001 * msdos.c (IT_write_glyphs): Use a locally declared
6002 conversion_buffer.
6003
6004 * term.c (write_glyphs): Use a locally declared conversion_buffer.
6005 (insert_glyphs): Likewise.
6006
6007 * w32console.c (write_glyphs): Use a locally declared
6008 conversion_buffer.
6009
b9f80d41
EZ
60102000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
6011
6012 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
6013 member of display_info is NULL.
6014
32dc52f7
GM
60152000-08-15 Gerd Moellmann <gerd@gnu.org>
6016
58ed0d3b
GM
6017 * alloc.c (compact_small_strings): Use safe_bcopy, add an
6018 assertion.
6019
32dc52f7 6020 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 6021 appearances with capability `me'.
32dc52f7
GM
6022 (write_glyphs): Switch on inverse video before each face change.
6023
4eb22d33
DL
60242000-08-14 Dave Love <fx@gnu.org>
6025
6026 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
6027 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
6028 (lisp_free): Declare and make static.
6029
6030 * window.c: Fix embedded comment.
6031 (syms_of_window): Fix doc string.
6032
90cbf47e
GM
60332000-08-14 Gerd Moellmann <gerd@gnu.org>
6034
6035 * keymap.c (push_key_description): If C without modifiers is < 32,
6036 make sure to print `C-' before `M-', like in the manual.
6037
440fc135
GM
60382000-08-11 Gerd Moellmann <gerd@gnu.org>
6039
6040 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
6041 since they aren't relocated anymore.
6042 (sxhash_string): Make sure returned hash code fits in a Lisp
6043 integer.
6044
6045 * xdisp.c (try_cursor_movement): Fix handling of cursor in
6046 partially visible line which is smaller than the window's
6047 height.
6048
6e264fad
KH
60492000-08-11 Kenichi Handa <handa@etl.go.jp>
6050
6051 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
6052 the multibyte form of eight-bit-control characters.
6053 (Fccl_execute_on_string): Initialize ccl->multibyte.
6054
6055 * ccl.h (struct ccl_program): New member multibyte.
6056
6057 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
6058
c371f69a
KH
60592000-08-11 Kenichi Handa <handa@etl.go.jp>
6060
6061 * regex.c (regex_compile) <normal_char>: Pay attention to
6062 multibyteness.
6063 (analyse_first) <exactn>: Setup fastmap correctly for
6064 eight-bit-control characters.
6065
60662000-08-11 Kenichi Handa <handa@etl.go.jp>
6067
6068 * termhooks.h (enum event_kind): New member
6069 multibyte_char_keystroke.
6070
6071 * keyboard.c (make_lispy_event): Handle the new event type
6072 multibyte_char_keystroke.
6073
6074 * xterm.c: Include coding.h.
6075 (XTread_socket): Work around a bug of XmbLookupString. If the
6076 input is from XIM, decode it according to the current locale. In
6077 that case, generate multibyte_char_keystroke events.
6078
b8ddbe71
KH
60792000-08-11 Kenichi Handa <handa@etl.go.jp>
6080
6081 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
6082 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
6083
47589c8c
GM
60842000-08-10 Gerd Moellmann <gerd@gnu.org>
6085
6086 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
6087 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
6088 (move_it_in_display_line_to): Record iterator's ascent and descent
6089 before producing glyphs, and restore them when we know the glyph
6090 doesn't fit on the line.
6091 (move_it_to): Restructured so that it's easier to debug. If
6092 moving to a vpos, and not moving to an x or character position,
6093 stop as soon as the specified vpos is reached; don't move further
6094 into that line because that might change the computed line height.
6095 (try_cursor_movement): New function, extracted from the cursor
6096 movement branch of redisplay_window. If ending on a partially
6097 visible line, don't try to scroll if the cursor line is taller
6098 than the window.
6099 (redisplay_window): Use try_cursor_movement.
6100
6101 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
6102 because that function doesn't cope with variable-height lines.
6103
6104 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
6105 box cursor because that's better visible for large images.
6106
c51bacd6
MB
61072000-08-10 Miles Bader <miles@gnu.org>
6108
6109 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
6110
bea56df7
GM
61112000-08-10 Gerd Moellmann <gerd@gnu.org>
6112
6113 * xdisp.c (Vmessages_buffer_name): New variable.
6114 (message_dolog): Use it.
6115 (syms_of_xdisp): Initialize it.
6116
99cd7364
EZ
61172000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
6118
6119 * msdos.c (IT_note_mouse_highlight): Update the calls to
6120 overlays_at.
6121 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
6122 redundant now that keyboard.h is included.
6123
7d093d56
EZ
61242000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
6125
6126 * keyboard.c (kbd_buffer_events_waiting): New function.
6127
6128 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
6129
6130 * msdos.c: Include keyboard.h.
6131 (XMenuActivate): Empty no_event events from the event buffer. If
6132 no events are left after that, call clear_input_pending.
6133 (mouse_clear_clicks): New function, code moved from mouse_init.
6134 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
6135 mouse driver to ``forget'' any past clicks.
6136
6137 * Makefile.in (msdos.o): Depend on keyboard.h.
6138
41e757a6
GM
61392000-08-09 Gerd Moellmann <gerd@gnu.org>
6140
8e7bd231
GM
6141 * lisp.h (input_pending): External declaration.
6142
6143 * dispextern.h (Qredisplay_dont_pause): Declare extern.
6144
6145 * xdisp.c (echo_area_display): Display thoroughly if input is
6146 pending. Bind redisplay-dont-pause to t during the redisplay.
6147 in case input is pending.
6148
6149 * dispnew.c (Qredisplay_dont_pause): New variable.
6150 (syms_of_display): Initialize and staticpro it.
6151 (update_frame_1): Don't interrupt the display for pending input if
6152 redisplay_dont_pause is set.
6153
43028b7e
GM
6154 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
6155
41e757a6
GM
6156 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
6157
2f2174fa
KH
61582000-08-09 Miles Bader <miles@lsi.nec.co.jp>
6159
6160 * callproc.c (Fcall_process): Terminate the unwind-protect around
6161 the post-read-conversion of coding system.
6162
0a6fd67e
MB
6163 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
6164 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
6165 * buffer.h (overlays_at): Update prototype.
6166 * xdisp.c (next_overlay_change): Update call to overlays_at.
6167 * xfaces.c (face_at_buffer_position): Likewise.
6168 * textprop.c (Fget_char_property): Likewise.
6169 * xterm.c (note_mouse_highlight): Likewise.
6170
0c80756e
MB
6171 * minibuf.c (do_completion): Don't consider a simple change of
6172 case as `completion'.
6173
975f250a
KR
61742000-08-08 Ken Raeburn <raeburn@gnu.org>
6175
b347b3fd
KR
6176 * keyboard.c (syms_of_keyboard): Initialize
6177 last_point_position_buffer.
6178 * undo.c (record_delete): Make sure last_point_position_buffer is
6179 a buffer before comparing pointers.
6180
6181 * coding.h (decode_coding_string): Declare.
6182
6183 * intervals.h (Fprevious_single_char_property_change): Declare.
6184
6185 * textprop.c (Fprevious_single_char_property_change): Don't do
6186 arithmetic directly on lisp objects.
6187
25ad1371 6188 * editfns.c (find_field): Use EQ, not ==, to compare Lisp
b347b3fd
KR
6189 objects.
6190
6191 * keyboard.h (menu_item_eval_property): Declare.
6192
6193 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
6194 reuse as buffer name, instead of recreating (and discarding) every
6195 time a message is logged.
6196 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
6197 (current_message_1, truncate_message_1, set_message_1)
6198 (display_echo_area_1, resize_mini_window_1): Signatures changed.
6199 (current_message, truncate_echo_area, display_echo_area)
6200 (resize_echo_area_axactly): Changed calls.
b347b3fd 6201
975f250a 6202 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 6203 Lisp object.
975f250a 6204 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 6205 must be an integer, not a Lisp object.
975f250a 6206
46dc9912
KH
62072000-08-08 Kenichi Handa <handa@etl.go.jp>
6208
6209 * charset.c (Fchar_width): Doc fix.
6210
9f6d1a6c
GM
62112000-08-08 Gerd Moellmann <gerd@gnu.org>
6212
6213 * charset.c (Fstring_width): Doc fix.
6214
ff3d9573
GM
62152000-08-07 Gerd Moellmann <gerd@gnu.org>
6216
41e757a6 6217 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
6218 line, clear ascent and descent members of the iterator structure;
6219 the height of the continued line does not affect the height of the
6220 continuation line.
6221 (make_cursor_line_fully_visible): Do nothing if cursor is on a
6222 line taller than the window.
6223 (redisplay_window) <forced window start>: Handle case that the
6224 middle of the window is not found in any row.
6225 (dump_glyph_row): Show more information.
6226 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
6227 first text line in a glyph matrix.
6228
6229 * xterm.c (x_draw_image_foreground): Avoid drawing outside
6230 of the clip area when image doesn't have a mask.
6231
70fc58b3
GM
6232 * fns.c (sweep_weak_table): Fix survival conditions for
6233 key-or-value and key-and-value weakness.
6234
6235 * .gdbinit (xhashtable): New command.
6236
ac0e96ee
GM
6237 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
6238 tables out of the list of all weak hash tables.
6239
ff3d9573
GM
6240 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
6241 a new buffer is created, make sure echo_area_buffer[] references
6242 the new buffer.
6243
e0d8827b
EZ
62442000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
6245
6246 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
6247 the doc string.
6248
c6f35378
KH
62492000-08-07 Kenichi Handa <handa@etl.go.jp>
6250
6251 * syntax.c (skip_chars): Fix previous change. Make the handling
6252 of unibyte string consistent with that of regex search.
6253
1fd4c450
GM
62542000-08-05 Gerd Moellmann <gerd@gnu.org>
6255
e49aa397
GM
6256 * xmenu.c (popup_get_selection): Use xfree instead of free.
6257
6258 * fileio.c (Finsert_file_contents): Use xfree instead of free.
6259
6260 * editfns.c (Ftranspose_regions): Use xfree instead of free.
6261
6262 * callproc.c (child_setup): Use xfree instead of free.
6263
6264 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
6265 instead of malloc.
6266 (run_mac_command, closedir): Use `xfree' instead of `free'.
6267
6268 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
6269
6270 * eval.c (error): Use xfree instead of free.
6271
1fd4c450
GM
6272 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
6273
6274 * fns.c: Replace `illegal' with `invalid'.
e49aa397 6275 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 6276
82d497fc
KH
62772000-08-05 Kenichi Handa <handa@etl.go.jp>
6278
6279 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
6280 conversion.
6281
59f953a2
NF
62822000-08-04 Noah Friedman <friedman@splode.com>
6283
6284 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
6285 docstring.
6286
688351f2
GM
62872000-08-04 Gerd Moellmann <gerd@gnu.org>
6288
6289 * syntax.c (skip_chars): Fix typo in error message.
6290
2dad51cc
AS
62912000-08-04 Andreas Schwab <schwab@suse.de>
6292
6293 * m/ia64.h: Moved from s/ia64.h.
6294
99bb2c60
KH
62952000-08-04 Kenichi Handa <handa@etl.go.jp>
6296
082a1df2
KH
6297 * process.c (read_process_output): Big simplification. Handle
6298 composition and post-read-conversion of coding system correctly.
6299 (send_process): Handle composition correctly.
6300
6301 * callproc.c (Fcall_process): Handle post-read-conversion of
6302 coding system if any.
6303
99bb2c60
KH
6304 * coding.c (decode_coding_iso2022): More strict check for handling
6305 single shifting.
082a1df2
KH
6306 (coding_restore_composition): Pay attention to the case that
6307 cmp_data is not set properly (because of invalid code in the
6308 source text).
6309 (run_pre_post_conversion_on_str): Include text properties in the
6310 resulting string.
6311 (decode_coding_string): Set members of coding correctly.
99bb2c60 6312
f4988be7
GM
63132000-08-03 Gerd Moellmann <gerd@gnu.org>
6314
6315 * s/ia64.h: New file.
6316
6317 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
6318 Use NULL instead of 0 at the end of variable argument list of
6319 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
6320 sizeof (int) < sizeof (void *).
6321
6322 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
6323 of variable argument lists of XtVaGetValues and XtVaSetValues.
6324
6325 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
6326 variable argument lists of XtVaGetValues and XtVaSetValues.
6327
ead53494
GM
63282000-08-02 Gerd Moellmann <gerd@gnu.org>
6329
6330 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
6331 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
6332
6333 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
6334 prototype.
6335
6336 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
6337 in call to Fsingle_key_description.
6338
6339 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
6340 Callers changed.
6341
63422000-08-02 Colin Walters <walters@cis.ohio-state.edu>
6343
6344 * window.c (display_buffer_reuse_frames): New variable.
6345 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
6346 frames displaying BUFFER.
6347 (syms_of_window): Define Lisp variable
6348 display-buffer-reuse-frames.
6349
10b0f752
MB
63502000-08-01 Miles Bader <miles@gnu.org>
6351
6352 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
6353 when to constrain NEW_POS (they were pretty screwed up before).
6354
16425c4a
EZ
63552000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
6356
6357 * msdos.c (run_msdos_command): Save and restore the master
6358 environment, for the case that child_setup signals an error.
6359 When mirroring slashes in DOS shell commands, don't fail when
6360 argv[2] has embedded blanks.
da288c14
EZ
6361 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
6362 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
6363 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
6364
6365 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
6366 using alloca; free it after run_msdos_command returns.
6367
27f73852
DL
63682000-07-27 Dave Love <fx@gnu.org>
6369
6370 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't
6371 define.
6372 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently
6373 working.
6374
6375 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
6376
c0261b5e
EZ
63772000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
6378
6379 * editfns.c (lisp_time_argument): Fix last change.
6380
b548072f
GM
63812000-07-27 Gerd Moellmann <gerd@gnu.org>
6382
3ab82477
GM
6383 * fns.c (Fdelete): Make it work on vectors and strings in addition
6384 to lists.
6385
b548072f
GM
6386 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
6387 (syms_of_fns): Initialize new variables.
6388 (sweep_weak_table): Handle weakness `key-or-value' and
6389 `key-and-value'.
6390 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
6391 weakness, with t meaning the same as `key-and-value'.
6392
91ae8751
KH
63932000-07-27 Kenichi Handa <handa@etl.go.jp>
6394
6395 * coding.h (struct coding_system): Member safe_charset deleted.
6396
6397 * coding.c (Qsafe_charsets): This variable deleted.
6398 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system): New
6399 variables.
6400 (coding_safe_chars): New function.
6401 (CODING_SAFE_CHAR_P): New macro.
6402 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
6403 checking safe_charsets member of the coding system. Caller
6404 changed.
6405 (detect_coding_iso2022): New local variable safe_chars.
6406 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
6407 safe_charsets member of the coding system.
6408 (decode_coding_iso2022): New local variable safe_chars.
6409 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
6410 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
6411 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
6412 (ENCODE_UNSAFE_CHARACTER): New macro.
6413 (encode_coding_iso2022): New local variable safe_chars. Check
6414 unsafe chars.
6415 (setup_coding_system): Delete the code to initialize
6416 coding->safe_charses
6417 (intersection, find_safe_codings): New functions.
6418 (Ffind_coding_systems_region_internal): New function.
6419 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
6420 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
6421 variable and initialize it.
6422
6423 * fns.c (char_table_ref_and_index): New function.
6424
6425 * lisp.h (char_table_ref_and_index): Add prototype.
6426
34a7a267
SS
64272000-07-26 Sam Steingold <sds@gnu.org>
6428
6429 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 6430 (Ffloat_time): New built-in Lisp function.
34a7a267 6431
a95cb10a
GM
64322000-07-26 Gerd Moellmann <gerd@gnu.org>
6433
3353ef5a
GM
6434 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
6435 for the character code.
6436
6437 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
6438 GNU/Linux.
6439
a95cb10a
GM
6440 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
6441 if called for a popup menu.
6442 (xmenu_show): Store help string in widget values.
6443
b4a12321
DL
64442000-07-26 Dave Love <fx@gnu.org>
6445
6446 * syswait.h: Move some definitions.
6447 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
6448 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
6449 perspicuous definitions.
6450 (WTERMSIG): Fix bit pattern used.
6451
13f5ad37
KH
64522000-07-26 Kenichi Handa <handa@etl.go.jp>
6453
6454 * print.c (print_object): If vector printing is truncated, print
6455 "..." to indicate it as well as the case of list printing.
6456
070fe99c
GM
64572000-07-25 Gerd Moellmann <gerd@gnu.org>
6458
969065c3
GM
6459 * xdisp.c (next_element_from_display_vector): Improve comments.
6460
6461 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
6462 for the character code, and the rest for the face id as in 20.x.
6463 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
6464
6465 * window.c (window_display_table): Cleaned up.
6466
070fe99c
GM
6467 * syntax.c (Fforward_word): Add last arg nil in call of
6468 Fconstrain_to_field.
6469
bad77ef7
EZ
64702000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
6471
969065c3 6472 * fileio.c (Frename_file) [DOS_NT]: If the file names are
bad77ef7
EZ
6473 identical but for the letter-case, don't call
6474 barf_or_query_if_file_exists.
6475
c28da489
MB
64762000-07-25 Miles Bader <miles@gnu.org>
6477
6478 * editfns.c (find_field): Honor special `boundary' fields.
6479 (Qboundary): New variables.
6480 (syms_of_editfns): Initialize Qboundary.
6481 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
6482 Use scan_buffer instead of find_before_next_newline, because it
6483 allows us to detect the boundary case where there's a newline at
6484 the search limit.
6485 * lisp.h (Fconstrain_to_field): Update external declaration.
6486
e3c31fd5
GM
64872000-07-24 Gerd Moellmann <gerd@gnu.org>
6488
6489 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
6490 if that is nil.
c28da489 6491
c66c29a2
DL
64922000-07-24 Dave Love <fx@gnu.org>
6493
6494 * s/sunos4-0.h, s/sol2.h:
6495 (LIBS_TERMCAP): Move from m/sparc.h.
6496
6497 * m/sparc.h (TERMINFO): Moved to system files (probably only
6498 relevant for sunos4 judging by its vintage).
6499 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
6500 __arch64__.
6501
fbe0a958
EZ
65022000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
6503
6504 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
6505 name to single_keymap_panes.
6506
7d88e5c9
AS
65072000-07-24 Andreas Schwab <schwab@suse.de>
6508
6509 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
6510
e024b101
GM
65112000-07-24 Gerd Moellmann <gerd@gnu.org>
6512
6513 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
6514 parameters instead of using int parameters. Expect FN to accept
6515 EMACS_INT parameters.
6516 (display_echo_area, resize_echo_area_axactly, current_message)
6517 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
6518 with new argument list.
6519 (resize_mini_window_1): New callback function.
6520 (current_message_1, truncate_message_1, set_message_1): Change
6521 parameter lists to the new format expected by
6522 with_echo_area_buffer.
6523
25c1a9ce
KH
65242000-07-24 Kenichi Handa <handa@etl.go.jp>
6525
6526 * fontset.c (fontset_ref): Remove INLINE declaration.
6527 (fontset_ref_via_base): Likewise.
6528 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
6529 to downcase.
6530
7f987ac0
EZ
65312000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
6532
6533 * msdos.c (IT_note_mouse_highlight): Process overlays in the
6534 correct order of priority. If help echo was found in an overlay,
6535 use that overlay as the object in which the help echo was found.
6536
e2db3069
MB
65372000-07-22 Miles Bader <miles@gnu.org>
6538
6539 * textprop.c (Fprevious_single_char_property_change): The initial
6540 property value should be from the position preceding POSITION, not
6541 following it.
6542
5e3203e4
EZ
65432000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
6544
6545 * coding.c (syms_of_coding): Doc fix for
6546 inhibit-iso-escape-detection.
6547
62145073
GM
65482000-07-21 Gerd Moellmann <gerd@gnu.org>
6549
c20aeb83
GM
6550 * xterm.c (note_mouse_highlight): Process overlays in the right
6551 order of priority.
34a7a267 6552
743934db
GM
6553 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
6554
6555 * xterm.c (note_mouse_highlight): If help-echo was found in an
6556 overlay, use that overlay as the object in which the help was
6557 found.
6558
d1dc7e43 6559 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 6560
62145073
GM
6561 * window.c (foreach_window): Instead of a fake variable argument
6562 list, take one USER_DATA argument.
6563 (foreach_window_1): Likewise, and call callback functions with two
6564 args, the window and USER_DATA.
6565 (struct check_window_data): New struct.
6566 (check_window_containing): Use it.
6567 (window_from_coordinates): Set up a struct check_window_data for
6568 foreach_window.
6569 (add_window_to_list, freeze_window_start): Change parameters
6570 according to new calling convention.
6571
6572 * window.h (foreach_window): Change prototype.
6573
6574 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
6575
65762000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
6577
6578 * xmenu.c (menu_help_callback): Call show_help_echo with
6579 additional arguments OBJECT and POS.
6580
11270583
KH
65812000-07-21 Kenichi Handa <handa@etl.go.jp>
6582
07b14857
KH
6583 * data.c (Faset): Allow storing any multibyte character in a
6584 string. Convert unibyte string to multibyte if necessary.
6585
11270583
KH
6586 * xfns.c (x_encode_text): New function.
6587 (x_set_name): Use x_encode_text.
6588 (x_set_title): Likewise.
6589
6590 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
6591
6592 * xterm.h (x_encode_text): Add prototype.
6593
bc75b4fd
DL
65942000-07-20 Dave Love <fx@gnu.org>
6595
6596 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
6597 xfree, not free.
6598
48c14970
EZ
65992000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
6600
6601 * msdos.c (help_echo_window): New variable.
6602 (syms_of_msdos): Initialize and staticpro it.
6603 (IT_note_mode_line_highlight): Set help_echo_window.
6604 (IT_note_mouse_highlight): Ditto.
6605 (dos_rawgetc): Store help_echo_window in the second event produced
6606 for HELP_EVENTs.
6607
6608 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
6609 Record the object that generated the help echo and the position of
6610 that object in help_echo_object and help_echo_pos. Record that
6611 some glyphs in a row are displayed in mouse-face.
6612 (IT_update_begin): Don't clear mouse highlight unless one of the
6613 enabled glyph rows is marked as being displayed in mouse-face.
6614 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
6615 and position recorded in help_echo_object and help_echo_pos to the
6616 event queue.
6617 (IT_menu_display): Accept a new argument PN: the pane number of
6618 the current menu pane. Record the pane number and the item
6619 number of the item which has associated help string.
6620 (XMenuActivate): Update the prototype for help_callback in
6621 function declaration. Call IT_menu_display with the current menu
6622 pane number as an additional argument. Call help_callback with
6623 two additional arguments: the pane number and the item number of
6624 the menu item associated with the help text.
6625 (help_echo_object, help_echo_pos): New variables.
6626 (syms_of_msdos): Initialize them and staticpro help_echo_object.
6627
6628 * msdos.h (XMenuActivate): Update prototype.
6629
4279296d
GM
66302000-07-19 Gerd Moellmann <gerd@gnu.org>
6631
47db06aa
GM
6632 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
6633 Add some more prototypes.
6634
6635 * xterm.c, xterm.h: Add some more prototypes.
6636
6637 * lisp.h (Fnext_single_char_property_change): Add prototype.
6638
6639 * dispnew.c (direct_output_for_insert): Remove confusing
6640 outer local variable mouse_face_overwritten_p.
6641 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
6642
4279296d
GM
6643 * alloc.c (allocate_string_data): Don't copy old string contents.
6644
670acd62
KH
66452000-07-19 Kenichi Handa <handa@etl.go.jp>
6646
6647 * coding.c (code_convert_region): Delete text properties before
6648 shrinking the conversion region.
6649
7cea38bc
GM
66502000-07-18 Gerd Moellmann <gerd@gnu.org>
6651
dc1cac59
GM
6652 * dispnew.c (update_text_area): Write the whole row if it
6653 has mouse-face in it.
6654
85a8aca9
GM
6655 * xfaces.c (face-alternative-font-family-alist): Remove
6656 DEFVAR_LISP; staticpro instead.
6657
34a7a267 6658 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
6659 new arguments.
6660
6661 * keyboard.c (show_help_echo): Add parameter WINDOW.
6662 (read_char): Call show_help_echo with window extracted from Lisp
6663 help event.
6664 (gen_help_event): Add parameter WINDOW.
6665
6666 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
6667
6668 * xterm.c (help_echo_window): New variable.
6669 (note_mouse_highlight, note_tool_bar_highlight): Set
6670 help_echo_window.
6671 (XTread_socket): Pass help_echo_window to gen_help_event.
6672 (syms_of_xterm): Initialize and staticpro help_echo_window.
6673
f8276b77
DL
66742000-07-18 Dave Love <fx@gnu.org>
6675
6676 * Makefile.in: Fix dependencies of blockinput.h on atimer.h,
6677 systime.h.
6678
088831a6
GM
66792000-07-18 Gerd Moellmann <gerd@gnu.org>
6680
3d6cd763
GM
6681 * alloc.c (allocate_string_data): If string had already data
6682 assigned, copy old contents to new string data.
6683
6684 * coding.c (syms_of_coding): Fix typo in spelling of variable
6685 `inhibit-iso-escape-detection'.
6686
088831a6
GM
6687 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
6688
6689 * Makefile.in: Add dependencies on dispextern.h.
6690 (alloca.o): Don't define malloc and define EMACS_FREE instead of
6691 `free'; both can conflict with system header files.
6692
bc8a8d55
KH
66932000-07-18 Kenichi Handa <handa@etl.go.jp>
6694
6695 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
6696 undefined.
6697
069f5950
DL
66982000-07-18 Dave Love <fx@gnu.org>
6699
6700 * window.c (Fwindow_list): Declare arg `window'.
6701
aa96c820
KH
67022000-07-18 Kenichi Handa <handa@etl.go.jp>
6703
6704 * coding.c (setup_coding_system): Don't override the explicitly
6705 specified designations.
6706
06be8d32
MB
67072000-07-15 Miles Bader <miles@gnu.org>
6708
6709 * editfns.c (char_property_eq, char_property_stickiness): Renamed
6710 from `text_property_eq' and `text_property_stickiness', respectively.
6711 (find_field, Fconstrain_to_field, char_property_eq)
6712 (char_property_stickiness): Changed to call char-property functions
6713 instead of text-property-only ones.
6714
6715 * textprop.c (Fnext_single_char_property_change): Made a subr (was
6716 `next_single_char_property_change'). Do more error checking, and
6717 cleanup limit behavior.
6718 (Fprevious_single_char_property_change): New function.
6719 (syms_of_textprop): Initialize new subrs.
6720
6721 * xdisp.c (display_prop_end, invisible_text_between_p):
6722 Call Fnext_single_char_property_change instead of
6723 next_single_char_property_change.
6724
3fddcdc3
JR
67252000-07-15 Jason Rumney <jasonr@gnu.org>
6726
6727 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
6728 after menu is finished with.
6729 (add_menu_item): Only consider wv->title as a menu title.
6730 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
6731
6732 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
6733 null title.
6734 (FONT_REGEXP): Remove unused macro, and its sub-components.
6735 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
6736
6737 * w32term.c (help_echo_object, help_echo_pos): New variables.
6738 (note_mode_line_highlight): Store additional information about the
6739 help-echo in help_echo_object and help_echo_pos. Check both
6740 `local-map' and `keymap' properties for changing the cursor
6741 (note_mouse_highlight): Store additional information about the
6742 help-echo in help_echo_object and help_echo_pos.
6743 (note_tool_bar_highlight): Set help_echo_object to nil and
6744 help_echo_pos to -1.
6745 (w32_read_socket): Use gen_help_event instead of filling
6746 input_events manually.
6747 (syms_of_w32term): Staticpro help_echo_object.
6748 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
6749 set, arrange for a mouse-highlight redisplay in
6750 XTframe_up_to_date.
6751 (x_clear_mouse_face): New function.
6752 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
6753 (x_update_window_begin): No need to turn off the mouse
6754 highlight here.
6755 (show_mouse_face): Set the mouse_face_p flag of glyph rows
6756 depending on whether they contain glyphs highlighted in
6757 mouse-face.
6758 (x_fill_stretch_glyph_string): Consume runs of stretch
6759 glyphs instead of a single one.
6760 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
6761 with new argument list.
6762 (x_set_glyph_string_gc): Make sure the face's GC is valid.
6763 (x_append_glyph, x_append_composite_glyph)
6764 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
6765 changes in struct glyph starting 1999-12-27. See comments for
6766 xterm.c on 2000-07-05.
6767
178c5d9c
SS
67682000-07-14 Sam Steingold <sds@gnu.org>
6769
6770 * xfaces.c (realize_x_face): Fix the last patch:
6771 check `default_face' before dereferencing.
6772
6fe533f6
DL
67732000-07-14 Dave Love <fx@gnu.org>
6774
069f5950 6775 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 6776
dd7b81cf
KH
67772000-07-14 Kenichi Handa <handa@etl.go.jp>
6778
0693904a 6779 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 6780 default_face's fontset, not using the default fontset.
0693904a 6781
dd7b81cf
KH
6782 * coding.c (inhibit_iso_escape_detection): New variable.
6783 (syms_of_coding): Make it a Lisp variable.
6784 (detect_coding_iso2022): If inhibit_iso_escape_detection is
6785 nonzero, ignore ISO2022's escape sequence.
6786
d5aa31d8
GM
67872000-07-14 Gerd Moellmann <gerd@gnu.org>
6788
e5acf0ca
GM
6789 * alloca.c (malloc) [emacs]: Define as xmalloc.
6790
bd23a692
GM
6791 * xfns.c (Fx_show_tip): If frame parameters contain a position,
6792 use that instead of the mouse position. Add parameters DX and DY.
6793
6794 * dispextern.h (Fx_show_tip): Adjust number of parameters
6795 in prototype.
6796
9662da0b
GM
6797 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
6798 if HELP is a function, call it with OBJECT and POS as parameters
6799 to get the help to display.
6800 (gen_help_event, kbd_buffer_store_help_event): New functions.
6801 (kbd_buffer_get_event): Construct the Lisp help-event differently.
6802 (read_char): Call show_help_echo with new parameters.
6803
178c5d9c 6804 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
6805 Add prototypes.
6806
6807 * xterm.c (help_echo_object, help_echo_pos): New variables.
6808 (note_mode_line_highlight): Store additional information about the
6809 help-echo in help_echo_object and help_echo_pos. Check both
6810 `local-map' and `keymap' properties for changing the cursor
6811 (note_mouse_highlight): Store additional information about the
6812 help-echo in help_echo_object and help_echo_pos.
6813 (note_tool_bar_highlight): Set help_echo_object to nil and
6814 help_echo_pos to -1.
6815 (XTread_socket): Use gen_help_event instead of filling
6816 input_events manually.
6817 (syms_of_xterm): Staticpro help_echo_object.
6818
6819 * xmenu.c (menu_highlight_callback): Use
6820 kbd_buffer_store_help_event instead of setting up and input_event
6821 structure manually.
6822
6823 * xdisp.c (eval_form): GCPRO argument sexpr.
6824 (call_function): New function.
6825 (handle_single_display_prop): Use call_function and FUNCTIONP
6826 instead of checking whether if font_height is a symbol and
6827 using eval_form.
6828
6829 * eval.c (internal_condition_case_2): New function.
6830
6831 * lisp.h (FUNCTIONP): New macro.
6832 (internal_condition_case_2, call_function): Add prototypes.
6833
d5aa31d8
GM
6834 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
6835 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
6836 Always set `arg' member of input_events.
6837 (construct_menu_click): Unused function removed.
6838
6839 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
6840
6841 * w32term.c (construct_mouse_click, construct_mouse_wheel)
6842 (construct_drag_n_drop, x_scroll_bar_handle_click)
6843 (w32_read_socket): Always set `arg' member of input_events.
6844
6845 * keyboard.c (show_help_echo): Use eval_form. Add comment.
6846
6847 * lisp.h (eval_form): Add prototype.
6848
6849 * xdisp.c (eval_form): Make it externally visible.
6850
0f1a9b23
GM
68512000-07-13 Gerd Moellmann <gerd@gnu.org>
6852
6853 * xterm.c (x_handle_tool_bar_click): Store the frame in the
6854 frame_or_window slot of TOOL_BAR_EVENT input events instead of
6855 consing. For prefix events, store the frame in the `arg' slot of
6856 the event, otherwise store the key there.
6857 (XTread_socket): Instead of consing, use the frame_or_window slot
6858 of HELP_EVENTs for the frame, and the `arg' slot for the help
6859 string.
6860
6861 * xmenu.c (menu_highlight_callback): Store help string in the
6862 `arg' member of the input event; don't cons.
6863 (menubar_selection_callback): Use the `arg' slot of input events
6864 to queue additional information, instead of consing.
6865
6866 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
6867
6868 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
6869 TOOL_BAR_EVENTs.
6870 (w32_read_socket): Adapt to changes in HELP_EVENTs.
6871
6872 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
6873 input events to queue additional information, instead of consing.
6874
6875 * keyboard.c (kbd_buffer_gcpro): Renamed from
6876 kbd_buffer_frame_or_window. Now used for all Lisp objects
6877 referenced from the input queue.
6878 (kbd_buffer_store_event): Always use structure assignment for
6879 copying input events. Record all Lisp objects referenced from
6880 events in kbd_buffer_gcpro.
6881 (kbd_buffer_get_event): Construct Lisp `help-echo' events
6882 differently from input events. Test for prefix menu_bar_events
6883 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
6884 event in kbd_buffer_gcpro to nil.
6885 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
6886 frame_or_window is equal to its arg member as prefix events.
6887 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
6888 used by an input event to nil.
6889 (init_keyboard): Use two times the size of the input queue
6890 for kbd_buffer_gcpro.
6891 (syms_of_keyboard): Likewise.
6892
6893 * emacs.c (handle_USR2_signal, handle_USR1_signal): Use
6894 USER_SIGNAL_EVENT.
6895
6896 * termhooks.h (struct input_event): Add member `arg'.
6897 (MENU_BAR_EVENT): Renamed from menu_bar_event.
6898 (USER_SIGNAL_EVENT): Renamed from user_signal.
6899
6900 * xfaces.c (ASET): Remove definition.
6901
6902 * lisp.h (AREF, ASET, ASIZE): New macros.
6903
6904 * fontset.c (AREF, ASIZE): Remove definitions.
6905
6906 * fns.c (AREF): Remove definition.
178c5d9c 6907
0f1a9b23
GM
6908 * composite.c (AREF): Remove definition.
6909
712eaef2
GM
69102000-07-12 Gerd Moellmann <gerd@gnu.org>
6911
d8ee7803
GM
6912 * dispnew.c (redraw_overlapped_rows): Add missing local.
6913 (scrolling_window): Remove debug code.
6914
712eaef2
GM
6915 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
6916 Before scrolling, turn off a mouse-highlight in the window
6917 being scrolled.
6918
6919 * xterm.c (x_update_window_end): Add parameter
6920 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
6921 redisplay in XTframe_up_to_date.
6922 (x_clear_mouse_face): New function.
6923 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
6924
6925 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
6926 current glyph row.
6927 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
6928 it when any row is written to that contains glyphs highlighted in
6929 mouse-face.
6930 (update_window): Call the window update end hook with new
6931 parameter MOUSE_FACE_OVERWRITTEN_P.
6932 (direct_output_for_insert): Give up if row contains mouse-face.
6933
6934 * dispextern.h (struct redisplay_interface): Add parameter
6935 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
6936 (clear_mouse_face): New function pointer member.
6937
02010917
SM
69382000-07-11 Stefan Monnier <monnier@cs.yale.edu>
6939
6940 * syntax.c (back_comment): Use one switch rather than a few `if's.
6941 Obey open_paren_in_column_0_is_defun_start.
6942 When reverting to the `slow' method, try to nicely handle the case
6943 of nested comments by checking that the comment-starter we found
6944 does indeed match the comment-ender.
6945 (scan_sexps_forward, scan_sexps_forward):
6946 Ignore excessive opening parenthesis rather than throwing an error.
6947
d76c03ea
GM
69482000-07-11 Gerd Moellmann <gerd@gnu.org>
6949
6950 * doc.c (Fsubstitute_command_keys): Handle case that a GC
6951 in Fwhere_is_internal or get_keymap_1 relocates string contents.
6952
6953 * dispnew.c (direct_output_forward_char): Give up if currently
6954 displaying a message instead of the minibuffer contents.
6955
6956 * xterm.c (x_update_window_begin): No need to turn off the mouse
6957 highlight here.
6958 (show_mouse_face): Set the mouse_face_p flag of glyph rows
6959 depending on whether they contain glyphs highlighted in
6960 mouse-face.
6961
6962 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
6963 compare the mouse_face_p flags of both rows.
6964
6965 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
6966
d55ead18
EZ
69672000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
6968
6969 * keyboard.c (show_help_echo): Accept additional parameter
6970 ok_to_overwrite_keystroke_echo.
6971 (read_char): Call show_help_echo with a zero
6972 ok_to_overwrite_keystroke_echo argument.
6973 * keyboard.h (show_help_echo): Update prototype of
6974 show_help_echo.
6975 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
6976 ok_to_overwrite_keystroke_echo argument.
6977 * w32menu.c (w32_menu_display_help): Call show_help_echo with
6978 non-zero ok_to_overwrite_keystroke_echo argument.
6979
df75b1a3
GM
69802000-07-10 Gerd Moellmann <gerd@gnu.org>
6981
4b92c49a
GM
6982 * xdisp.c (try_window_id): If changes are all below what is
6983 displayed in the window, and point is in the window, we still
6984 might have to find point on the display.
6985
6986 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
6987 glyphs instead of a single one.
6988 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
6989 with new argument list.
6990 (x_set_glyph_string_gc): Make sure the face's GC is valid.
6991
df75b1a3
GM
6992 * keymap.c (get_keymap_1): Add comment that this function can GC.
6993 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
6994 comment that functions can GC.
6995 (Fset_keymap_parent): GCPRO arg KEYMAP.
6996
4314cf3e
EZ
69972000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
6998
6999 * msdos.c (XMenuActivate): After exiting the menu, restore the
7000 echo area message and erase it.
7001
ab49ce15
KH
70022000-07-10 Kenichi Handa <handa@etl.go.jp>
7003
7004 * fontset.c (Ffontset_info): Make the return value more compatible
7005 with that of Emacs 20.
7006
090a072f
GM
70072000-07-07 Gerd Moellmann <gerd@gnu.org>
7008
7009 * eval.c (Fsignal): Handle case that backtrace_list is null.
7010
f92de4a6
KH
70112000-07-07 Kenichi Handa <handa@etl.go.jp>
7012
7013 * ccl.c (Fccl_execute): Typo fixed.
7014
dd8888a1
GM
70152000-07-06 Gerd Moellmann <gerd@gnu.org>
7016
e5c81191 7017 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 7018
dd8888a1
GM
7019 * window.c (Fwindow_list): Reverse list at the end.
7020 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
7021 means allow windows on OWINDOW's frame, only.
7022 (window_loop): Simplified; use Fwindow_list.
7023
7024 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
7025
485266d0
GM
70262000-07-05 Gerd Moellmann <gerd@gnu.org>
7027
7028 * xterm.c (XTread_socket): Increment handling_signal at the start,
7029 decrement it at the end.
7030
7031 * eval.c (handling_signal): New variable.
7032 (Fsignal): Abort if handling_signal is non-zero.
7033
7034 * lisp.h (handling_signal): External declaration.
178c5d9c 7035
485266d0
GM
7036 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
7037
80fcd514
KR
70382000-07-05 Ken Raeburn <raeburn@gnu.org>
7039
7040 Sound support for NetBSD through "Linux emulation" support:
7041 * config.in (HAVE_SOUNDCARD_H): Undef.
7042 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
7043 * Makefile.in (LIBSOUND): New variable.
7044 (LIBES): Include it.
7045 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and
7046 <soundcard.h>.
7047 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined
7048 elsewhere.
7049 (vox_open): Use DEFAULT_SOUND_DEVICE.
7050 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
7051
d5c5cddd
GM
70522000-07-05 Gerd Moellmann <gerd@gnu.org>
7053
7054 * print.c (print_error_message): If Vsignaling_function is set,
7055 show it in *Messages*.
7056
7057 * lisp.h (Vsignaling_function): External declaration.
7058
7059 * eval.c (Vsignaling_function): New variable.
7060 (Fsignal): Compute it.
7061 (syms_of_eval): Staticpro it.
7062
65171e3a
DL
70632000-07-05 Dave Love <fx@gnu.org>
7064
7065 * syswait.h: Use the autoconf recommended approach. Old code
7066 #if'd out in case we need to revert.
7067
178c5d9c 7068 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 7069
e2c46326
AI
70702000-07-05 Andrew Innes <andrewi@gnu.org>
7071
7072 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
7073 when non-NULL instead of __morecore, to take account of buffer
7074 memory. This also solves a problem with spurious memory warnings
7075 on Windows.
7076
7077 * ralloc.c: Make real_morecore non-static.
7078
7079 * eval.c (internal_condition_case): Comment out abort if
7080 interrupt_input_blocked is not zero.
7081
7082 * makefile.nt: Add support for `bootstrap' and related targets.
7083 Include minimal debug info in emacs.exe in release build.
7084 Remove all dependencies on lisp.h, and fixup some others.
7085
7086 * w32.c (init_environment): Install code from 20.7 for providing
7087 default values for environment variables, based on the
7088 executable's own location.
7089 (map_w32_filename): Handle filenames that are longer than
7090 MAX_PATH.
7091 (sys_socket): Install socket inheritance bug fix from 20.7.
7092
7093 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
7094 here via blockinput.h).
7095
a027a91b
SM
70962000-07-05 Stefan Monnier <monnier@cs.yale.edu>
7097
e4b31601
SM
7098 * w32menu.c (w32_menu_display_help):
7099 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
7100
7101 * keyboard.h (show_help_echo): Declare.
7102
7103 * keyboard.c (show_help_echo): New function, extracted from read_char.
7104 Feval its `msg' argument if it's a cons cell.
7105 (read_char): Use it.
4cf8d9d5 7106 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 7107
178c5d9c 7108 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 7109 (note_tool_bar_highlight, XTread_socket):
178c5d9c 7110 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
7111 (dos_rawgetc):
7112 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
7113 (note_tool_bar_highlight, w32_read_socket):
7114 Do not gratuitously ignore non-string `help-echo' properties.
7115
88d75730
GM
71162000-07-05 Gerd Moellmann <gerd@gnu.org>
7117
969f7e79
GM
7118 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
7119
71201b00
GM
7120 * window.c (delete_all_subwindows): Reset Vwindow_list.
7121
88d75730
GM
7122 * xterm.c (x_append_glyph, x_append_composite_glyph)
7123 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7124 changes in struct glyph starting 1999-12-27. Some bit-fields of
7125 struct glyph were not set, which made glyphs unequal when compared
7126 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
7127 effects were the result. This also depended on the contents of
7128 memory returned by xmalloc. If flickering happens again, activate
7129 the code in clear_glyph_row that's in #if 0. If the flickering is
7130 gone with that, chances are that it is caused by something
7131 similar.
7132
7133 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 7134
88d75730
GM
7135 * dispextern.h: Add some comments.
7136
7137 * window.c (add_window_to_list): Add parameter LIST.
7138 (window_list): Order list so that, for each frame, windows are
7139 in canonical order, and so that frames appear in the list in
7140 the order given by Vframe_list.
7141 (next_window): Reverse the handling of NEXT_P.
7142
53654733
GM
71432000-07-04 Gerd Moellmann <gerd@gnu.org>
7144
87efd256
GM
7145 * window.c (Vwindow_list): New variable.
7146 (make_window, delete_window): Set Vwindow_list to nil.
7147 (check_window_containing): New function.
7148 (window_from_coordinates): Rewritten.
7149 (add_window_to_list, window_list, candidate_window_p)
7150 (decode_next_window_args, next_window): New functions.
7151 (Fnext_window, Fprevious_window): Rewritten in terms of
7152 next_window.
7153 (Fwindow_list): New function.
7154 (Fother_window): Cleaned up.
7155 (foreach_window): Add a longer "variable argument list". Let
7156 callback function return 0 to indicate that cycling over windows
7157 should stop.
7158 (foreach_window_1): Likewise.
7159 (freeze_window_start): Return int.
7160 (init_window): New function.
7161 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
7162
7163 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
7164 input_event with bzero.
7165 (main): Call init_window.
7166
53654733
GM
7167 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
7168 a menu filter.
7169
4a8c194f
KH
71702000-07-04 Kenichi Handa <handa@etl.go.jp>
7171
7172 * composite.h (make_composition_value_copy): Extern it.
7173
7174 * composite.c (make_composition_value_copy): New function.
7175
7176 * editfns.c (Fformat): While copying text properties, make each
7177 composition property value a copy.
7178
7179 * fns.c (concat): While copying text properties, make each
7180 composition property value a copy.
7181
831a6cb0
GM
71822000-07-03 Gerd Moellmann <gerd@gnu.org>
7183
2f516940
GM
7184 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
7185
178c5d9c 7186 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
7187 marked already.
7188
831a6cb0
GM
7189 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
7190 include those frames as candidates which have their focus
7191 redirected to the minibuffer frame.
7192
d9c4f922
SM
71932000-07-03 Stefan Monnier <monnier@cs.yale.edu>
7194
7195 * fns.c (Fputhash): Return `value' rather than nil.
7196
3780bc22
GM
71972000-06-30 Gerd Moellmann <gerd@gnu.org>
7198
97d176db
GM
7199 * frame.c (next_frame): Don't check focus redirection in case
7200 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
7201 unless their focus is redirected, which contradicts the
7202 specification of next-frame, and leads to infinite loops in
7203 certain situations when cycling through windows with next-window.
7204
dca9961d
KH
72052000-06-30 Kenichi Handa <handa@etl.go.jp>
7206
7207 * coding.c (code_convert_region): Even if the length of text is
7208 zero, try to convert it if coding->type is coding_type_ccl.
7209 (decode_coding_string, encode_coding_string): Likewise.
7210
d5483ab1
GM
72112000-06-28 Gerd Moellmann <gerd@gnu.org>
7212
af5c25e1 7213 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 7214 the display if windows_or_buffers_changed.
af5c25e1
GM
7215
7216 * dispnew.c (struct row_entry): New structure.
7217 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
7218 (row_table_size, old_lines, new_lines, old_lines_size)
7219 (new_lines_size, run_pool, runs_size, runs): New variables.
7220 (add_row_entry): New function.
7221 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 7222 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
7223 holding them in local variables. Use a larger hash table whose
7224 size depends on glyph matrix sizes. Don't use bzero to clear the
7225 hash table; instead, clear used slots only.
7226
7227 * fns.c (next_almost_prime): Make it externally visible.
7228
7229 * lisp.h (next_almost_prime): Add prototype.
7230
d5483ab1
GM
7231 * s/isc4-0.h (sigunblock): Define.
7232
7233 * s/sco5.h (sigunblock): Define.
7234
93e40f40
DL
72352000-06-27 Dave Love <fx@gnu.org>
7236
7237 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
7238 (moved to osf5-0.h).
7239 [!NOT_C_CODE]: Protect string.h stuff.
7240
7241 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
7242 (sys_siglist, NSIG): Definitions moved here from osf1.h.
7243
3c4b7685
GM
72442000-06-27 Gerd Moellmann <gerd@gnu.org>
7245
97d176db 7246 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
7247 below the last line from the needed window height.
7248
32cad0aa
SM
72492000-06-26 Stefan Monnier <monnier@cs.yale.edu>
7250
7251 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
7252 (Fwidget_get): Use it.
7253 (syms_of_fns): Defsubr it.
7254
2c69ced2
GM
72552000-06-26 Gerd Moellmann <gerd@gnu.org>
7256
178c5d9c 7257 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
7258 display info for XIM.
7259 (xim_open_dpy): Likewise.
7260 (xim_close_dpy): Don't free the display info's XIM.
7261
7262 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
7263
7264 * config.in (USE_XIM): New define.
7265
3fc720e4
GM
7266 * keymap.c (get_keyelt): For menu-items containing a `:filter
7267 FILTER', apply FILTER to the menu-item's definition to get the
7268 real definition to use.
7269
7270 * lisp.h (QCfilter): External declaration.
7271
2c69ced2
GM
7272 * xfns.c (Fimage_size): New function.
7273 (syms_of_xfns): Defsubr it.
7274
f978b2a2
AS
72752000-06-26 Andreas Schwab <schwab@suse.de>
7276
7277 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
7278 Fstring_as_unibyte.
7279
94cc7892
DL
72802000-06-25 Dave Love <fx@gnu.org>
7281
7282 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag,
7283 tgetnum.
7284
7285 * Makefile.in (blockinput.h): Depend on atimer.h.
7286 (atimer.h): Depend on systime.h.
7287
7288 * blockinput.h: Protect against multiple inclusion. Include
7289 atimer.h.
7290
7291 * atimer.h: Protect against multiple inclusion. Include
7292 systime.h.
7293
7294 * lisp.h (swap_in_global_binding): Declare.
7295
b8c24556
KR
72962000-06-24 Ken Raeburn <raeburn@gnu.org>
7297
7298 * process.c (Fopen_network_stream): Turn off atimers for duration
7299 of call to connect. (Patch from Gerd.)
7300
8cf8560b
DL
73012000-06-23 Dave Love <fx@gnu.org>
7302
511c7541
DL
7303 * ralloc.c: Maybe include unistd.h
7304
8cf8560b
DL
7305 * emacs.c (setgrp): Undefine before defining.
7306 (malloc_warning, set_time_zone_rule, index): Prototype.
7307
7308 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
7309 HAVE_STRUCT_TIMEZONE.
7310
7311 * s/osf1.h: Move string.h hack here from alpha.h and make it
7312 conditional.
7313 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
7314 _XOPEN_SOURCE.
7315 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
7316 (SOCKLEN_TYPE): Don't define.
7317
7318 * m/alpha.h: Remove string.h hack.
7319
7320 * s/osf5-0.h: New file.
7321
7322 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
7323 include time.h, done by systime.h.
7324 [__FreeBSD__]: Remove redundant includes.
7325
3fc720e4 7326 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
7327 (delete_temp_file): Return Qnil to avoid warning.
7328
7329 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
7330
7331 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
7332 HAVE_X_WINDOWS.
7333
7334 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
7335
7336 * composite.h (compose_text): Declare.
7337
7338 * xterm.c: Don't include sys/types.h unconditionally. Don't
7339 protect its inclusion with !USG (following xmenu.c).
7340
ea055732
GM
73412000-06-23 Gerd Moellmann <gerd@gnu.org>
7342
7343 * xfns.c (x_create_tip_frame): Initialize frame's colors like
7344 in x_create_frame.
7345
74b01b80
EZ
73462000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
7347
7348 * coding.c (decode_eol_post_ccl): Special handling for undecided
7349 and inconsistent EOL types.
7350
64f3a166
GM
73512000-06-22 Gerd Moellmann <gerd@gnu.org>
7352
16cf31f7
GM
7353 * xrdb.c (x_load_resources): Add default resource for scroll bar's
7354 trough color and main window's background color.
7355
178c5d9c 7356 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events
16cf31f7
GM
7357 differently.
7358
7359 * xterm.h (Xt_app_con): External declaration.
7360
7361 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 7362
486a103d
GM
7363 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
7364
64f3a166
GM
7365 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
7366 (handle_invisible_prop): Record the start of invisible text in
7367 it->add_overlay_start.
7368 (struct overlay_entry): Add member `overlay'.
7369 (handle_overlay_change): Simplify.
7370 (next_overlay_string): After having processed overlay strings at the
7371 end of the buffer, record that fact in
7372 it->overlay_strings_at_end_processed_p.
7373 (compare_overlay_entries): If before- and after-strings come
7374 from the same overlay, let before-strings come first.
7375 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
7376 (load_overlay_strings): Take it->add_overlay_start into account
7377 when adding overlay strings.
7378
7379 * dispextern.h (struct it): Add member add_overlay_start.
7380
bb746ea6
DL
73812000-06-22 Dave Love <fx@gnu.org>
7382
7383 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
7384
7385 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
7386
a8f573f3
KH
73872000-06-22 Kenichi Handa <handa@etl.go.jp>
7388
7389 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
7390 is greater than 0.
7391
9f2bbc92
DL
73922000-06-21 Dave Love <fx@gnu.org>
7393
178c5d9c 7394 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 7395
3ee5041c
SM
73962000-06-21 Stefan Monnier <monnier@cs.yale.edu>
7397
7398 * syntax.c (back_comment): Simplify string-parity counting (with
7399 the added benefit of handling multiple string-styles as long as
7400 they are not intertwined).
7401 Jump to the slow code as soon as a comment starter is found in
7402 a "string_lossage" position. Fixes the case: " /* " /* " */.
7403
4c343001
DL
74042000-06-21 Dave Love <fx@gnu.org>
7405
7406 * Makefile.in: Use GETLOADAVG_LIBS.
7407
7408 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
7409 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
7410
e6365855
SM
74112000-06-20 Stefan Monnier <monnier@cs.yale.edu>
7412
7413 * syntax.c (describe_syntax): Recognize the `n'estable bit.
7414 (Fforward_comment, scan_lists):
7415 Check the comstyle of single-char comment-starters.
7416 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
7417 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
7418 Check the comstyle of single-char comment-starters.
7419 Clarify control-flow around the Scomment case.
e6365855 7420
5700d2cc
DL
74212000-06-20 Dave Love <fx@gnu.org>
7422
d355bd8a
SM
7423 * fns.c (make_hash_table, maybe_resize_hash_table):
7424 Cast arg of next_almost_prime.
5700d2cc 7425
178c5d9c 7426 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
7427
7428 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
7429 and unistd.h.
7430
4a27bdfb
GM
74312000-06-20 Gerd Moellmann <gerd@gnu.org>
7432
a61d762c
GM
7433 * keyboard.c (adjust_point_for_property): Check if display
7434 property should be treated as intangible by looking at its
7435 value.
7436
178c5d9c 7437 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
7438 (display_prop_intangible_p): New functions.
7439
7440 * dispextern.h (display_prop_intangible_p): Add prototype.
7441
7442 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 7443
4a27bdfb
GM
7444 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
7445 argument to sigprocmask.
7446
7447 * s/sco5.h (sigblock): Redefined to pass a pointer as second
7448 argument to sigprocmask.
7449
7450 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
7451 sigprocmask_set, and pass a pointer to it to sigprocmask.
7452
7453 * sysdep.c (sigprocmask_set): New variable.
7454
7455 * fileio.c (make_temp_name): Don't use `%s' in string passed to
7456 report_file_error.
7457
427ec082
SS
74582000-06-20 Sam Steingold <sds@gnu.org>
7459
7460 * xrdb.c: Don't declare xmalloc, xrealloc.
7461
8972fe79 74622000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
7463
7464 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
7465 (re_comp): Cast gettext return value to avoid complaints when
7466 !HAVE_LIBINTL.
7467
074b6efe
DL
74682000-06-20 Dave Love <fx@gnu.org>
7469
f85c008a
DL
7470 * m/stride.h, m/mips.h: Don't define HAVE_GETWD,
7471 HAVE_GETTIMEOFDAY.
7472
5700d2cc 7473 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 7474
d355bd8a 7475 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
7476
7477 * m/alpha.h: Don't declare xmalloc, xrealloc.
7478
0af4f205
DL
7479 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
7480
7481 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
7482
7483 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
7484
7485 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
7486 HAVE_GETWD.
7487
074b6efe
DL
7488 * keyboard.h (poll_for_input_1): Declare.
7489
7490 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
7491
7492 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
7493
7494 * doprnt.c: Don't declare xmalloc, xrealloc.
7495
7496 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
7497 (getenv, ctime, getwd): Removed.
7498 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
7499
7500 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
7501 x_set_tool_bar_lines.
7502
7503 * config.in: Add HAVE_GETWD. Move some definitions above
7504 machine/system includes.
7505
68a5e97b
KH
75062000-06-20 Kenichi Handa <handa@etl.go.jp>
7507
95417e1e
KH
7508 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
7509
68a5e97b
KH
7510 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
7511 contain information about ENCODING.
7512
7513 * fontset.c (FONTSET_ASCII): Use the first element of char table
7514 for an ASCII font, not defalt slot.
7515 (fontset_ref_via_base): If FONTSET doesn't contain information for
7516 C, try the default fontset.
7517 (make_fontset): Don't copy the default fontset.
7518 (fontset_font_pattern): Likewise.
7519 (accumulate_font_info): If ELT is nil, use the corresponding
7520 element in the default fontset.
7521
3b4fa1b2
DL
75222000-06-19 Dave Love <fx@gnu.org>
7523
943e731c
DL
7524 * syntax.c (Fparse_partial_sexp): Doc fix.
7525
7526 * regex.h: Test PROTOTYPES as well as __STDC__.
7527
3b4fa1b2
DL
7528 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
7529 errno, strerror. Put text after #endif in comment.
7530
7531 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for
7532 pcc).
7533
7534 * xterm.c (x_frame_of_widget): Likewise.
7535
cdf0357b
GM
75362000-06-19 Gerd Moellmann <gerd@gnu.org>
7537
7538 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
7539 to Vfundamental_mode_abbrev_table.
7540
7541 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
7542 bogus objects are marked. This slows down GC by ~80 percent, but
7543 it might be worth trying when debugging GC-related problems.
7544 This feature requires conservative stack marking to be enabled.
7545
7546 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
7547 returns XLookupChars, reset `modifiers' to zero.
7548
998e9f8c
DL
75492000-06-19 Dave Love <fx@gnu.org>
7550
7551 * mktime.c: Unprotoized.
7552
18e21ce8 75532000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
7554
7555 * data.c (set_internal): If variable is frame-local,
7556 store the new value immediately into the frame parameter alist.
7557
140c4ac6
KR
75582000-06-19 Ken Raeburn <raeburn@gnu.org>
7559
14358466
KR
7560 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
7561 in the custom handler pointer.
7562
140c4ac6
KR
7563 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
7564 value, or checks for CHAR_META can fail when Lisp_Object is a
7565 union type.
7566 * keymap.c (get_keyelt): Likewise.
7567
10d7bf84
KH
75682000-06-19 Kenichi Handa <handa@etl.go.jp>
7569
7570 * ccl.h (struct ccl_program): New member eol_type.
7571 (struct ccl_spec): New member cr_carryover.
7572
7573 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
7574 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
7575
7576 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
7577 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
7578 (decode_eol_post_ccl): New function.
7579 (decode_coding): Don't detect EOL format here for CCL based coding
7580 systems.
7581 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
7582 decode_eol_post_ccl after running the CCL program.
7583 (code_convert_region): Don't detect EOL format here for CCL based
7584 coding systems.
7585 (decode_coding_string): Likewise.
7586
52e386c2
KR
75872000-06-18 Ken Raeburn <raeburn@gnu.org>
7588
7589 * charset.c (update_charset_table): Use XINT on "iso_final_char"
7590 when treating it as an integer.
7591
7592 * coding.h (encode_coding_string): Declare.
7593
7594 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
7595 it as an integer.
7596
7597 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
7598 "xkeymap" to avoid shadowing the "enum map_type" value that needs
7599 to be passed to get_local_map.
7600
7601 * sound.c (Fplay_sound): Don't call make_number on
7602 Frun_hook_with_args count argument.
7603
7604 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
7605 for lisp objects in X event structure data field, when lisp
7606 objects are represented with unions.
7607 (x_scroll_bar_to_input_event): Ditto.
7608
b357b9d4
KR
76092000-06-16 Ken Raeburn <raeburn@gnu.org>
7610
7611 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
7612 termination of string. Fix sense of test whether
7613 Vline_number_display_limit is an integer.
b357b9d4 7614
a871441d
GM
76152000-06-16 Gerd Moellmann <gerd@gnu.org>
7616
a9021acd
GM
7617 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
7618 only if HAVE_X_WINDOWS.
7619
6344985d
GM
7620 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
7621 of titles.
7622
427ec082 7623 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
7624 out of bounds.
7625
228b083e
EZ
76262000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
7627
7628 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
7629 of its headers.
7630
c25b53a2
KH
76312000-06-15 Kenichi Handa <handa@etl.go.jp>
7632
7633 * coding.c (decode_coding_emacs_mule): Always set src_base at the
7634 start of the while loop.
7635
a6981b11
GM
76362000-06-15 Gerd Moellmann <gerd@gnu.org>
7637
e9924e52
GM
7638 * atimer.c (alarm_signal_handler): Add forward declaration.
7639
a6981b11
GM
7640 * data.c (set_internal): Remove debug code.
7641
25fa6deb
GM
76422000-06-14 Gerd Moellmann <gerd@gnu.org>
7643
dce6b995
GM
7644 * Makefile.in (bootstrap-temacs): Add `-I../src'.
7645
9f817ea4
GM
7646 * unexec.c (toplevel) [COFF]: Include coff.h.
7647
7648 * s/lynxos.h: New file.
7649
7650 * keymap.c (Fsingle_key_description): Enclose function key and
7651 event symbol names in angle brackets.
7652
8a4e3c0c
GM
7653 * xdisp.c (setup_echo_area_for_printing): Call
7654 message_log_maybe_newline if message_buf_print is not set.
7655
7656 * print.c (printchar, strout): Don't check message_buf_print
427ec082 7657 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
7658 function does something useful even when message_buf_print is
7659 already set.
7660
25fa6deb
GM
7661 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines): New
7662 variables.
7663 (ensure_echo_area_buffers): Initialize echo buffer's
7664 truncate lines setting to nil.
7665 (with_echo_area_buffer): Don't set the echo buffer's truncate
7666 lines setting here.
8a4e3c0c 7667 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
7668 of message_truncate_lines.
7669 (resize_mini_window): Handle case that lines are truncated.
7670 (syms_of_xdisp): Initialize Qmessage_truncate_lines. DEFVAR_BOOL
7671 message-truncate-lines.
7672
7673 * keyboard.c (read_char): Bind message-truncate-lines to t
7674 while displaying a help-echo.
7675
7676 * lisp.h (Qmessage_truncate_lines): External declaration.
7677
163dcff3
GM
76782000-06-13 Gerd Moellmann <gerd@gnu.org>
7679
1681ead6
GM
7680 * xdisp.c (Vline_number_display_limit): Renamed from
7681 line_number_display_limit.
7682 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
7683 Extend documentation string. Initialize
7684 Vline_number_display_limit to nil meaning no limit.
7685 (decode_mode_spec): Use Vline_number_display_limit with its new
7686 meaning.
7687
163dcff3
GM
7688 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
7689
18e21ce8 76902000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
7691
7692 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 7693
163dcff3
GM
7694 * xfns.c (x_set_frame_parameters): Comment fix.
7695
7696 * frame.c (store_frame_param): Call swap_in_global_binding if the
7697 variable's current binding was chosen based on this frame.
7698
7699 * data.c (swap_in_global_binding): New function.
7700
a704139d
EZ
77012000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
7702
7703 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
7704 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
7705
9b6610db
EZ
77062000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
7707
7708 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
7709
c68833d2
JR
77102000-06-12 Jason Rumney <jasonr@gnu.org>
7711
7712 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
7713
7714 * w32.h (EMACS_W32_H): Renamed from _NT_H_
7715
7716 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
7717
7718 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
7719
ed1056b3
GM
77202000-06-12 Gerd Moellmann <gerd@gnu.org>
7721
7722 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
7723 (syms_of_xfaces): Defsubr Sdump_colors.
7724 (x_free_colors): Don't treat b&w specially on default visual.
7725 (x_free_dpy_colors): New function.
7726 (free_face_colors): Don't check visual class; it's done
7727 in x_free_colors.
7728
7729 * xterm.c (x_frame_of_widget): New function.
7730 (x_alloc_nearest_color_for_widget): Use it.
7731 (x_copy_dpy_color): New function.
7732 (x_destroy_window): Free various colors.
7733
5050a2ef
KH
77342000-06-12 Kenichi Handa <handa@etl.go.jp>
7735
7736 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
7737
7738 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
7739
7740 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
7741
7742 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
7743
7744 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
7745
fb1b041d
DL
77462000-06-11 Dave Love <fx@gnu.org>
7747
7748 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
7749
ff96b5f4
EZ
77502000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
7751
7752 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
7753
db8eeecd
GM
77542000-06-11 Gerd Moellmann <gerd@gnu.org>
7755
ed1056b3 7756 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
7757 to `XEvent *'.
7758
49b71c5f
KH
77592000-06-10 Kenichi Handa <handa@etl.go.jp>
7760
c479bd55
KH
7761 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
7762 (regex_compile): Fix the code for handling the case of single byte
7763 char and multibyte char being mixed in a range within [...].
7764
ff6a65c2
KH
7765 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
7766 and dst_multibyte members of coding.
7767
49b71c5f
KH
7768 * charset.c (update_charset_table): Update the table
7769 bytes_by_char_head.
7770 (init_charset_once): Initialize elements of bytes_by_char_head to
7771 1 except for leading codes for private charases.
7772
7773 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
7774 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte
7775 sequence.
7776
9e80b57d
KR
77772000-06-09 Ken Raeburn <raeburn@gnu.org>
7778
7779 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
7780 access the data it doesn't point to.
7781
f83fe4b4
GM
77822000-06-08 Gerd Moellmann <gerd@gnu.org>
7783
7784 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 7785 will be translated to a switch-frame event when reading the
f83fe4b4
GM
7786 event queue. This is necessary because Emacs otherwise won't
7787 perform a switch-frame to a new frame until some other event, for
7788 example a keystroke event, forces it to do so. This has various
7789 effects, one visible being that the cursor of a frame created with
7790 C-x 5 2 or switched to with a window manager key binding like
7791 A-TAB stays hollow because selected_window isn't on the newly
7792 focused frame until the switch-frame is performed.
7793
7794 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
7795 generating a switch-frame event if necessary.
7796
7797 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
7798
7799 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
7800 it's an integer.
7801
0890801b
KH
78022000-06-08 Kenichi Handa <handa@etl.go.jp>
7803
7804 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a
7805 charset.
7806
173cbca8
GM
78072000-06-07 Gerd Moellmann <gerd@gnu.org>
7808
3091c2a6
GM
7809 * window.c (displayed_window_lines): Take empty lines at
7810 the bottom of a window into account.
427ec082 7811
f38952fe
GM
7812 * window.c (displayed_window_lines): New function.
7813 (Fmove_to_window_line): Use displayed_window_lines to determine
7814 the number of lines to move, instead of using the window's height.
7815
7816 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
7817 to stop reading, even if the form read sets point to a different
7818 value when evaluated.
7819
427ec082 7820 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
7821 put the cursor.
7822
6ba6c818
KH
78232000-06-07 Kenichi Handa <handa@etl.go.jp>
7824
7825 * fileio.c (e_write): Free composition data if stored in
7826 coding->cmp_data.
7827
5f1aea9a
GM
78282000-06-06 Gerd Moellmann <gerd@gnu.org>
7829
666852af
GM
7830 * xdisp.c (display_line): Set row's and iterator's
7831 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
7832 Set cursor even if row ends in the middle of a character.
7833 (dump_glyph_row): Print values of new flags.
7834 (redisplay_window) <cursor movement in unchanged window>: When
7835 point has been moved forward, and PT is at the end of the cursor
7836 row, don't place the cursor in the next row if the cursor row ends
7837 in the middle of a character or at ZV.
7838
7839 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
7840 (struct glyph_row): Add starts_in_middle_of_char_p and
7841 ends_in_middle_of_char_p.
7842 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
7843 ends_in_middle_of_char_p flag.
7844 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
7845
d13f3e2e
GM
7846 * term.c (append_glyph): Revert change of 2000-06-06.
7847
7848 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
7849 padding glyph not fitting on line as whole character not
7850 fitting on line.
7851
5f1aea9a
GM
7852 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
7853 this isn't true for images with `:ascent 100'.
7854
10cda9b0
KH
78552000-06-06 Kenichi Handa <handa@etl.go.jp>
7856
ed00559d
KH
7857 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
7858 as modified if it is originally unmodified.
7859
10cda9b0
KH
7860 * term.c (encode_terminal_code): Change the way to check if
7861 terminal coding does any conversion.
7862 (append_glyph): Set glyph->pixel_width correctly.
7863
7864 * xdisp.c (display_line): While checking line continuation, pay
7865 attention to a padding glyph.
7866
1969fae2
GM
78672000-06-05 Gerd Moellmann <gerd@gnu.org>
7868
7869 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
7870
162ccef4
DL
78712000-06-05 Dave Love <fx@gnu.org>
7872
f19f32dd
DL
7873 * xdisp.c: Include fontset.h.
7874
7875 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
7876
7877 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
7878
7879 * dispnew.c: Conditionally include term.h.
7880
7881 * coding.h: Declare code_convert_string_norecord.
7882
7883 * frame.h (struct frame): Use volatile unconditionally.
7884
7885 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
7886
7887 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
7888
7889 * systime.h: Protect against multiple inclusion.
7890 (timezone) [USG5_4]: Define as time_t.
7891
7892 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
7893 (Foptimize_char_table, make_temp_name): Declare.
7894
7895 * Makefile.in (xdisp.o): Depend on fontset.h.
7896
7897 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
7898
7899 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
7900 (Foptimize_char_table, make_temp_name): Declare.
7901
427ec082 7902 * s/irix4-0.h:
162ccef4
DL
7903 * s/irix5-0.h:
7904 * s/netbsd.h: Don't define autoconfiscated MATHERR.
7905
2082fe81
DL
79062000-06-02 Dave Love <fx@gnu.org>
7907
7908 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
7909
dcf671d2
GM
79102000-06-02 Gerd Moellmann <gerd@gnu.org>
7911
7912 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 7913 result face, set flags in that face indicating that colors may not
dcf671d2
GM
7914 be freed.
7915
7916 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
7917 glyph, use the ASCII NUL character to determine the face.
7918
d42122a3
DL
79192000-06-02 Dave Love <fx@gnu.org>
7920
7921 * sysdep.c: Conditionally include stdlib.h, unistd.h.
7922 (VFORK_RETURN_TYPE): Remove.
427ec082 7923
d42122a3
DL
7924 * config.in: Add NO_MATHERR.
7925
dd432f16
DL
79262000-06-01 Dave Love <fx@gnu.org>
7927
90aa4ea8
DL
7928 * cmds.c (internal_self_insert): Don't check
7929 Vbefore_change_function, Vafter_change_function.
7930
7931 * insdel.c (signal_before_change, signal_after_change): Likewise.
7932
7933 * buffer.c (Vbefore_change_function, Vafter_change_function):
7934 Variables and their initializations deleted.
7935
2330c9d4
DL
7936 * callint.c (Fcall_interactively): Doc fix.
7937
dd432f16
DL
7938 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
7939
bf9e8804
DL
79402000-05-31 Dave Love <fx@gnu.org>
7941
7942 * textprop.c: Revert last change -- duplicated.
7943
3694b4ab
GM
79442000-05-31 Gerd Moellmann <gerd@gnu.org>
7945
7946 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
7947 in #if 0.
7948
7949 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
7950
f14156cd
JR
79512000-05-31 Jason Rumney <jasonr@gnu.org>
7952
8119aab8
JR
7953 * search.c (Fre_search_forward, Fre_search_backward)
7954 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
7955
f14156cd
JR
7956 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
7957
4aab9be3
JR
79582000-05-30 Jason Rumney <jasonr@gnu.org>
7959
7960 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
7961 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
7962
7963 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type
7964 member.
7965
7966 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
7967 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
7968 expand a nil default_filename.
7969
7970 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
7971 pointer to glyph_to_pixel_coords, not a frame.
7972
7973 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
7974 coding.h to dependencies.
7975
7976 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
7977
7978 * w32console.c (glyph_to_pixel_coords): Change first parameter to
7979 window pointer to be consistent with w32term.c and xterm.c.
7980
7981 * w32fns.c: Format and doc changes to bring closer to xfns.c.
7982 (VIETNAMESE_CHARSET): Define if not defined in system headers.
7983 (Qline_spacing, Qcenter): New variables.
7984 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
7985 (x_set_line_spacing): New function.
7986 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT
7987 macros.
7988 (x_specified_cursor_type): New function.
7989 (x_set_cursor_type): Use it.
7990 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
7991 and icon strings.
7992 (validate_x_resource_name, x_get_resource_string): Measure lengths
7993 of external strings in bytes.
7994 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
7995 GetTextExtentPoint32 with NULL title.
7996 (Fx_create_frame): Initialize Qline_spacing.
7997 (w32_load_system_font): Initialize font->double_byte_p.
7998 (x_to_w32_charset): Use Vw32_charset_info_alist.
7999 (Image, busy cursor, tooltip functions): Merged changes from
8000 xfns.c. Not yet functional on Windows.
8001
8002 * w32gui.h (W32FontStruct): Add double_byte_p member.
8003
8004 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
8005 (emacs_button_translation): Use it.
8006 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
8007 in `mask' to be set.
8008
8009 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
8010 menu strings.
8011
8012 * w32term.c: Format and doc changes to bring closer to xterm.c.
8013 (w32_char_font_type): New enum.
8014 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
8015 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
8016 (w32_encode_char): New function.
8017 (x_encode_char): Removed.
8018 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
8019 x_encode_char and w32_font_is_double_byte.
8020 (x_produce_image_glyph): Use image_ascent.
8021 (x_produce_glyphs): Use new version of w32_per_char_metric and
8022 handle NULL return value. Allow extra line spacing.
8023 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
8024 (w32_get_glyph_overhangs): Remove unicode_p param. Use
8025 w32_font_type member of glyph instead.
8026 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
8027 (fast_find_position): Make sure not to consider rows not visible
8028 in the window.
8029 (w32_read_socket) [WM_MENUSELECT]: Cannot call
8030 w32_menu_display_help with input blocked, as it can abort.
8031 (x_display_and_set_cursor): Choose cursor depending
8032 on buffer-local value of cursor_type.
8033 (x_draw_bar_cursor): Add parameter WIDTH.
8034
8035 * w32term.h (CP_DEFAULT): Define.
8036 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
8037
10fc3187
GM
80382000-05-30 Gerd Moellmann <gerd@gnu.org>
8039
8040 * search.c (Fre_search_forward, Fre_search_backward)
8041 (Fposix_search_backward, Fposix_search_forward): Doc fix.
8042
d0555360
KH
80432000-05-30 Kenichi Handa <handa@etl.go.jp>
8044
8045 * coding.c (detect_coding_iso2022): Fix code for checking
8046 CODING_CATEGORY_MASK_ISO_8_2.
8047
f1ad044f
SM
80482000-05-29 Stefan Monnier <monnier@cs.yale.edu>
8049
8050 * regex.c (PREFETCH_NOLIMIT): New function.
8051 (re_match_2_internal): Use it and adjust the end_match_2 logic.
8052
84ec3b4b
GM
80532000-05-29 Gerd Moellmann <gerd@gnu.org>
8054
66254a13
GM
8055 * syntax.c (find_defun_start): Move test for
8056 open_paren_in_column_0_is_defun_start outside of the loop.
8057
49e70dec
GM
8058 * xdisp.c (redisplay_window): Really switch buffers when
8059 displaying mode lines, and temporarily set selected_frame to the
8060 frame of the window that's redisplayed.
8061
84ec3b4b
GM
8062 * xfaces.c (free_realized_faces): Block/unblock input.
8063 (free_realized_multibyte_face): Ditto.
8064
869a3a14
DL
80652000-05-29 Dave Love <fx@gnu.org>
8066
8067 * textprop.c (Qkeymap): New variable.
8068 (syms_of_textprop): Intern it.
8069
8070 * keymap.c: Include intervals.h.
8071 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
8072
8073 * Makefile.in (keymap.o): Depend on intervals.h.
8074
8075 * keyboard.c (menu_bar_items, tool_bar_items)
8076 (Fexecute_extended_command): Deal with `keymap' property.
8077 (read_key_sequence): Track map from `keymap' property as well as
8078 `local_map'.
8079
8080 * intervals.c (get_local_map): Extra arg to allow looking for
8081 `keymap' too.
8082
8083 * intervals.h (map_property): New enum.
8084 (get_local_map): Extra arg using it.
8085 (Qkeymap): Declare.
8086
84ec3b4b 8087 * lisp.h (get_local_map): Don't declare here.
869a3a14 8088
89d0c844
KH
80892000-05-29 Kenichi Handa <handa@etl.go.jp>
8090
8091 * Makefile.in (callproc.o): Depend on composite.h.
8092
8093 * callproc.c: Include composite.h.
8094 (Fcall_process): Handle composition correctly.
8095
8096 * coding.h (coding_allocate_composition_data): Extern it.
8097 (coding_restore_composition): Likewise.
8098
8099 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
8100 yet allocated, finish decoding with result
8101 CODING_FINISH_INSUFFICIENT_CMP.
8102 (coding_allocate_composition_data): Make it non-static.
8103 (coding_restore_composition): Likewise.
8104
797a084a
EZ
81052000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
8106
8107 * charset.c (syms_of_charset): Revert last change.
8108
cf872af5
EZ
81092000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8110
8111 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
8112 charsets as unibyte, with 1-column screen width. Sent by Kenichi
8113 Handa.
cf872af5 8114
5b1ae051
EZ
81152000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8116
8117 * charset.c (syms_of_charset): Set width of character sets
8118 eight-bit-control and eight-bit-graphic to 1 column.
8119
34ec9ebe
GM
81202000-05-26 Gerd Moellmann <gerd@gnu.org>
8121
8122 * config.in (HAVE_SPEED_T): New define.
8123
8124 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
8125 `extern speed_t'.
8126
dd854dc2
DL
81272000-05-26 Dave Love <fx@gnu.org>
8128
8129 * coding.c (shrink_decoding_region): Initialize eol_conversion.
8130
8131 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
8132 (Fsubr_arity): New function.
8133 (syms_of_data): Install them.
8134
ba9f8f95
KH
81352000-05-26 Kenichi Handa <handa@etl.go.jp>
8136
0f3e0672
KH
8137 * charset.c (init_charset_once): Set the table bytes_by_char_head
8138 correctly.
8139
cebefb44
KH
8140 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
8141 the default fontset to what Emacs uses by default.
0f3e0672
KH
8142 (check_registry_encoding): This function deleted.
8143 (Fset_fontset_font): Remove the adhoc condition for the default
8144 fontset. Allow cons in FONTNAME.
cebefb44 8145
0f3e0672
KH
8146 * fns.c (map_char_table): Ignore char-table entries for
8147 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 8148
7a18af49
KR
81492000-05-25 Ken Raeburn <raeburn@gnu.org>
8150
8151 * emacs.c (main): Initialize keyboard syms before initializing
8152 window code, so face names are available.
8153
d2af47df
SM
81542000-05-25 Stefan Monnier <monnier@cs.yale.edu>
8155
8156 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
8157 of an anchor at the beginning of a shy-group.
8158
fc6a6a4e
GM
81592000-05-25 Gerd Moellmann <gerd@gnu.org>
8160
8161 * xdisp.c (handle_invisible_prop): Don't try to skip over
8162 invisible text if end of text is already reached.
8163
005f0d35
DL
81642000-05-25 Dave Love <fx@gnu.org>
8165
02513cdd
DL
8166 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
8167
005f0d35
DL
8168 * coding.c (encode_eol): Add null statement after label.
8169
89f6ca4e
EZ
81702000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
8171
8172 * w16select.c (Fw16_set_clipboard_data): Fix the change from
8173 2000-05-20.
8174
a4e1759e
KH
81752000-05-25 Kenichi Handa <handa@etl.go.jp>
8176
8177 * ccl.c (ccl_driver): Fix previous change.
8178
eacfd7fe
KH
81792000-05-25 Kenichi Handa <handa@etl.go.jp>
8180
46ab33a9
KH
8181 * coding.c (run_pre_post_conversion_on_str): Set point to the
8182 beginning of buffer before calling coding->post_read_conversion.
8183 (decode_coding_string): Give correct args to
8184 run_pre_post_conversion_on_str.
8185 (encode_coding_string): Likewise.
8186
eacfd7fe
KH
8187 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
8188 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
8189 eight-bit-graphic correctly.
8190
f8569325
DL
81912000-05-24 Kenichi HANDA <handa@etl.go.jp>
8192
8193 * fileio.c (Finsert_file_contents): Even if a file is not found,
8194 execute codes for setting up coding system. Call
8195 after-insert-file-functions unconditionally.
8196
04545643
GM
81972000-05-24 Gerd Moellmann <gerd@gnu.org>
8198
8199 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
8200 BSD_PGRPS are not defined.
8201
747d90ea
KH
82022000-05-24 Kenichi Handa <handa@etl.go.jp>
8203
8204 * charset.c (update_charset_table): Accept nil in LONG_NAME and
8205 DESCRIPTION.
8206 (syms_of_charset): Avoid building same strings.
8207
716e3b88
GM
82082000-05-23 Gerd Moellmann <gerd@gnu.org>
8209
8210 * lread.c (Fload): Add a comment about the meaning of
8211 Vuser_init_file being t.
8212
8213 * puresize.h (BASE_PURESIZE): Increase to 675000.
8214
8215 * s/gnu-linux.h (setpgrp): Don't define it here because this
8216 prevents compilation on GNU/Linux systems with glib 2.2.
8217
8218 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
8219 as setpgid.
427ec082 8220
9aeb39fa
EZ
82212000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
8222
8223 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
8224 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
8225 version.
8226 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
8227
29ced61b
KH
82282000-05-23 Kenichi Handa <handa@etl.go.jp>
8229
0574a2ed
KH
8230 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE
8231 unconditionally.
8232
3d80f24d
KH
8233 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
8234
8235 * term.c (encode_terminal_code): Set coding->src_multibyte
8236 properly.
8237
29ced61b
KH
8238 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
8239
d7e00792
KH
82402000-05-22 Kenichi Handa <handa@etl.go.jp>
8241
c9d80d38
KH
8242 * keyboard.c (read_char): Allow character codes 128..255 to be
8243 handled by input-method-function.
8244
d7e00792
KH
8245 * insdel.c (adjust_markers_for_replace): Fix previous change.
8246 (adjust_after_replace): If PREV_TEXT is nil, call
8247 adjust_markers_for_insert, not adjust_markers_for_replace.
8248
087121cc 82492000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 8250
087121cc
GM
8251 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
8252 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
8253 [HAVE_GRANDPT]: Define.
8254 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
8255
8256 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
8257 like SYSV_PTYS.
8258
8259 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
8260
8261 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
8262
c9671f81
KH
82632000-05-20 Kenichi Handa <handa@etl.go.jp>
8264
8265 The following changes are to handle 8-bit characters in a
8266 multibyte buffer/string without facing with byte combining
8267 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
8268 eight-bit-graphic (for 0xA0..0xFF) are introduced.
8269
8270 * Makefile.in (fns.o): Depend on charset.h.
8271
8272 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
8273 convert it to unibyte.
8274 (make_string): Use parse_str_as_multibyte, not chars_in_text.
8275
8276 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
8277 apparent char boundary.
8278 (Fset_buffer_multibyte): Convert 8-bit characters in the range
8279 0x80..0x9F to/from multibyte form.
8280
8281 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
8282 to unibyte.
8283
8284 * callproc.c (Fcall_process): Always encode an argument string if
8285 it is multibyte. Setup src_multibyte and dst_multibyte members of
8286 process_coding properly.
ce75fd23 8287
c9671f81
KH
8288 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
8289 SPLIT_NON_ASCII_CHAR.
8290
8291 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
8292 as is.
8293 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
8294
8295 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New
8296 variables.
8297 (SPLIT_CHARACTER_SEQ): This macro deleted.
8298 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is
8299 valid.
8300 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
8301 and eight-bit-graphic.
8302 (char_to_string): Likewise. Signal an error for too large
8303 character code.
8304 (char_printable_p): Return 0 for 8-bit characters.
8305 (update_charset_table): Update iso_charset_table only when a final
8306 character is non-negative.
8307 (find_charset_in_text): Renamed from find_charset_in_str.
8308 Arguments and return value changed. Callers changed.
8309 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
8310 be -1 if CHARSET is used only internally.
8311 (Fmake_char_internal): Handle new charsets; eight-bit-control and
8312 eight-bit-graphic.
8313 (Fcharset_after): Simplified.
8314 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
8315 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
8316 (multibyte_chars_in_text): Simplified by assuming there's no
8317 invalid multibyte sequence.
8318 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte,
8319 str_as_unibyte): New functions.
8320 (Fstring): Simpified by assuming that byte combining never
8321 happens.
8322 (init_charset_once): Initialization for
8323 LEADING_CODE_8_BIT_CONTROL.
8324 (syms_of_charset): Intern and staticpro Qeight_bit_control and
8325 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
8326 eight-bit-control and eight-bit-graphic.
8327
8328 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL,
8329 CHARSET_8_BIT_GRAPHIC): New macros.
8330 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
8331 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
8332 (CHARSET_REVERSE_CHARSET): Likewise.
8333 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
8334 eight-bit-graphic.
8335 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
8336 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
8337 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
8338 encounter an invalid multibyte sequence.
8339 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
8340 sequence is always valid.
8341 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
8342 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New
8343 macros.
8344 (CHAR_STRING): For 8-bit characters, call char_to_string.
8345 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
8346 multibyte sequence is always valid.
8347 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
8348 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte,
8349 str_as_unibyte): Extern them.
8350 (BCOPY_SHORT): Fix a bug.
8351 (CHAR_LEN): This macro deleted. Callers changed to use
8352 CHAR_BYTES.
8353 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
8354 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
8355 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
8356
bd4bde7f 8357 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81
KH
8358 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
8359 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE,
8360 EMIT_BYTES): New macros.
8361 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII,
8362 DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
8363 macros deleted.
8364 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
8365 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
8366 check the validity of multibyte sequence.
8367 (decode_coding_emacs_mule): New function.
8368 (encode_coding_emacs_mule): New macro.
8369 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
8370 the source.
8371 (DECODE_ISO_CHARACTER): Just return a character code.
8372 (DECODE_COMPOSITION_START): Set coding->result instead of result.
8373 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
8374 EMIT_CHAR to produced decoded characters. Exit the loop only by
8375 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
8376 block here.
8377 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
8378 only position codes for an invalid character.
8379 (encode_designation_at_bol): Return new destination pointer. 5th
8380 arg DSTP is changed to DST.
8381 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
8382 from the source by ONE_MORE_CHAR. Don't handle the case of last
8383 block here.
8384 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
8385 macros deleted.
8386 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8,
8387 detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
8388 TWO_MORE_BYTES to fetch a byte from the source.
8389 (encode_eol): Pay attention to coding->src_multibyte.
8390 (detect_coding, detect_eol): Preserve members src_multibyte and
8391 dst_multibyte.
8392 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
8393 (encoding_buffer_size): Set magnification to 3 for all coding
8394 systems that require encoding.
8395 (ccl_coding_driver): For decoding, be sure that the result is
8396 valid multibyte sequence.
8397 (decode_coding): Initialize coding->errors and coding->result.
8398 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
8399 and raw-text, always call decode_eol. Handle the case of last
8400 block here. If not coding->dst_multibyte, convert the resulting
8401 sequence to unibyte.
8402 (encode_coding): Initialize coding->errors and coding->result.
8403 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
8404 and raw-text, always call encode_eol. Handle the case of last
8405 block here.
8406 (shrink_decoding_region, shrink_encoding_region): Detect cases
8407 that we can't skip data more rigidly.
8408 (code_convert_region): Setup src_multibyte and dst_multibyte
8409 members of coding. For decoding, if the buffer is multibyte,
8410 convert the source sequence to unibyte in advance. For encoding,
8411 if the buffer is multibyte, convert the resulting sequence to
8412 multibyte afterward.
8413 (run_pre_post_conversion_on_str): New function.
8414 (code_convert_string): Deleted and divided into the following two.
8415 (decode_coding_string, encode_coding_string): New functions.
8416 (code_convert_string1, code_convert_string_norecord): Call one of
8417 above.
8418 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
8419 MAKE_NON_ASCII_CHAR.
8420 (Fset_terminal_coding_system_internal,
8421 Fset_safe_terminal_coding_system_internal): Setup src_multibyte
8422 and dst_multibyte members.
8423 (init_coding_once): Initialize iso_code_class with new enum
8424 ISO_control_0 and ISO_control_1.
8425
8426 * coding.h (enum iso_code_class_type): Member ISO_control_code is
8427 devided into ISO_control_0 and ISO_control_1.
8428 (struct coding_system): New members src_multibyte, dst_multibyte,
8429 errors, and result. Delete member fake_multibyte.
8430 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
8431 nonzero.
8432 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
8433 nonzero.
8434
8435 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
8436 (Faset): Likewise.
8437
8438 * editfns.c (Fformat): Be sure to convert 8-bit characters to
8439 multibyte form.
8440 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
8441 combining occurs.
8442 (Ftranspose_region): Delete codes for handling byte combining.
8443
8444 * fileio.c (Finsert_file_contents): Setup src_multibyte and
8445 dst_multibyte members of coding. On handling REPLACE on unibyte
8446 buffer, convert the result of decode_coding to unibyte. On
8447 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 8448 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
8449 multibyteness of the source (buffer or string).
8450
8451 * fns.c (concat): Handle 8-bit characters correctly.
8452 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
8453 unibyte in the result.
8454 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
8455 valid multibyte form in the result.
8456 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
8457 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
8458 return -1, signal an error.
8459 (base64_encode_1): New arg MULTIBYTE. Get each character by
8460 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
8461 character is found, return -1.
8462 (Fbase64_decode_region): Delete codes for handling byte-combining.
8463 Treat each decoded byte as a unibyte character.
8464 (Fbase64_decode_string): Return unibyte string.
8465 (Fcompare_strings, concat, string_byte_to_char): Use
8466 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
8467 FETCH_STRING_CHAR_ADVANCE.
8468 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8469 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
8470
8471 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
8472 SPLIT_NON_ASCII_CHAR.
8473 (fontset_ref_via_base, fontset_set): Likewise
8474
8475 * insdel.c (adjust_markers_for_record_delete): Deleted.
8476 (adjust_markers_for_insert): Argument changed. Caller changed.
8477 (adjust_markers_for_replace): Likewise.
8478 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error,
8479 CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
8480 (copy_text): Delete unused local varialbe c_save. For converting
8481 to multibyte, be sure to make all 8-bit characters in valid
8482 multibyte form.
8483 (count_size_as_multibyte): Handle 8-bit characters correctly.
8484 (insert_1_both, insert_from_string_1, insert_from_buffer_1,
8485 adjust_after_replace, replace_range, del_range_2)
8486 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
8487 (insert_1_both, insert_from_string_1, insert_from_buffer_1,
8488 adjust_after_replace, replace_range, del_range_2) Delete codes for
8489 handling byte combining.
8490 (adjust_before_replace): Deleted.
427ec082 8491
c9671f81
KH
8492 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
8493 SPLIT_NON_ASCII_CHAR.
8494 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
8495 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE
8496 unconditionally.
8497 (Fkey_description): Likewise.
8498
8499 * lread.c (read1): On reading multibyte string, be sure to make
8500 all 8-bit chararacters in valid multibyte form.
8501 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8502
8503 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
8504 unconditionally.
8505
8506 * process.c (Fstart_process): GCPRO current_dir before calling
8507 Ffind_operation_coding_system. Encode arguments here.
8508 (create_process): Don't encode arguments here. Setup
8509 src_multibyte and dst_multibyte members of struct coding.
8510 (read_process_output): Setup src_multibyte and dst_multibyte
8511 members of struct coding. If the output is to multibyte buffer,
8512 always decode the output of the process. Adjust the
8513 representation of 8-bit characters to the multibyteness of the
8514 output.
8515 (send_process): Setup coding->src_multibyte according to the
8516 multibyteness of the source.
8517
8518 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE
8519 unconditionally.
8520 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
8521 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
8522
8523 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of
8524 CHAR_LEN.
8525
8526 * w16select.c (Fw16_set_clipboard_data): Setup members
8527 src_multibyte and dst_multibyte of coding. Adjusted for the
8528 change for find_charset_in_str.
8529 (Fw16_get_clipboard_data): Likewise.
8530
8531 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
8532 dst_multibyte of coding.
8533 (x_to_w32_font): Likewise.
8534
8535 * w32select.c (Fw32_set_clipboard_data): Setup members
8536 src_multibyte and dst_multibyte of coding. Adjusted for the
8537 change for find_charset_in_str.
8538 (Fw32_get_clipboard_data): Likewise.
8539
8540 * xdisp.c (get_next_display_element): Handle 8-bit characters
8541 correctly.
8542 (next_element_from_display_vector): Use CHAR_BYTES instead of
8543 CHAR_LEN.
8544 (disp_char_vector): Use SPLIT_CHAR instead of
8545 SPLIT_NON_ASCII_CHAR.
8546
8547 * xselect.c (selection_data_to_lisp_data): Setup members
8548 src_multibyte and dst_multibyte of coding. Adjusted for the
8549 change for find_charset_in_str.
8550 (lisp_data_to_selection_data): Likewise.
8551
5f64c9e0
GM
85522000-05-19 Gerd Moellmann <gerd@gnu.org>
8553
2b63d473
GM
8554 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed
8555 buffer.
8556
5f64c9e0
GM
8557 * dispextern.h (Vimage_types): Add extern declaration.
8558
8559 * xdisp.c (Vimage_types): Moved here from xfns.c.
8560 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
8561
8562 * xfns.c (Vimages_types): Moved to xdisp.c.
8563 (syms_of_xfns): Move `image-types' to xdisp.c.
8564
8565 * w32fns.c (Vimage_types): Removed.
8566 (syms_of_w32fns): Remove `image-types'.
8567
813086ea
KH
85682000-05-18 Kenichi Handa <handa@etl.go.jp>
8569
8570 * fns.c (map_char_table): Pay attention to character number of
8571 charset. Check the validity of charset at the first level. For
8572 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
8573 the default value.
8574
8575 * fontset.c: Include "buffer.h".
8576 (fs_load_font): If the face has fontset, record the face ID in
8577 that fontset.
8578 (Finternal_char_font): New function.
8579 (accumulate_font_info): New function.
8580 (Ffontset_info): Rewritten for the new fontset implementation.
8581 (syms_of_fontset): Register Vdefault_fontset in the first element
8582 of Vfontset_table. Include Vdefault_fontset in
8583 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
8584 function.
8585
bdaebbf0
DL
85862000-05-16 Dave Love <fx@gnu.org>
8587
8588 * m/iris5d.h: Deleted -- unused.
8589
cb613bb8
GM
85902000-05-16 Gerd Moellmann <gerd@gnu.org>
8591
b15f3b77
GM
8592 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
8593 `invalid' instead of `illegal'.
8594
8595 * indent.c (Fmove_to_column): When ending within a tab, insert
8596 spaces first so that markers at the end of the tab get adjusted.
8597
835c1b36
GM
8598 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
8599 buffer list that wasn't selected in that frame.
8600
cb613bb8
GM
8601 * filelock.c (get_boot_time): To obtain an 8 char file name, which
8602 is needed on mescaline, use a 2 char prefix, and call
8603 make_temp_name with second arg non-zero.
8604
8605 * fileio.c (make_temp_name): New function, extracted from
8606 Fmake_temp_name.
8607 (Fmake_temp_name): Use it.
8608
f685bea9
EZ
86092000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
8610
8611 * window.c (coordinates_in_window): Subtract 1 when computing
8612 right_x.
8613
a1b8d58b
GM
86142000-05-15 Gerd Moellmann <gerd@gnu.org>
8615
8616 * Makefile.in (lisp): Add env.elc.
8617
8618 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
8619
a265079f
GM
86202000-05-12 Gerd Moellmann <gerd@gnu.org>
8621
8622 * search.c (Freplace_match): Handle case of `\N' in the
8623 replacement when there's no group N.
8624
da4496b6
GM
86252000-05-11 Gerd Moellmann <gerd@gnu.org>
8626
0ace421a
GM
8627 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
8628 of the message to message_dolog.
8629
1172eb8d
GM
8630 * keyboard.c (read_char): Don't clear current message for help
8631 events; let the code handling help events handle this. Change
8632 code detecting help events that should be ignored.
8633
da4496b6
GM
8634 * xdisp.c (handle_single_display_prop): Don't try to set PT if
8635 we're interating over a string.
8636
0623e40f
DL
86372000-05-09 Dave Love <fx@gnu.org>
8638
8639 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
8640 that offset before writing. Move gcpro region past call of
8641 Ffile_regular_p.
8642
bae2503b
DL
86432000-05-04 Dave Love <fx@gnu.org>
8644
8645 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
8646
ec82fb2f
GM
86472000-05-04 Gerd Moellmann <gerd@gnu.org>
8648
8649 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
8650 of inserted characters when BUF equals the current buffer, and PT
8651 is in front of or equal to FROM.
8652
cbf18892
GM
86532000-05-03 Gerd Moellmann <gerd@gnu.org>
8654
4ff40dd0
GM
8655 * xdisp.c (handle_single_display_prop): If display property value
8656 is invalid, or something not supported on the frame, restore
8657 iterator's position to what it was initially. Make sure to return
8658 0 for invalid and unsupported property values.
8659
cbf18892
GM
8660 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
8661 that x_per_char_metric returns null.
8662
1b0672c3
GM
86632000-05-02 Gerd Moellmann <gerd@gnu.org>
8664
576da55d
GM
8665 * xterm.h (struct face): Add forward declaration.
8666 (struct image): Ditto.
8667 (image_ascent): Add prototype.
8668
8669 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
8670 (x_draw_image_relief, x_draw_image_foreground_1): Call function
8671 image_ascent instead of using IMAGE_ASCENT.
8672
8673 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
8674 (IMAGE_ASCENT): Removed.
8675
8676 * xfns.c (Qcenter): New variable.
8677 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
8678 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
8679 (image_ascent): New function.
8680 (lookup_image): Recognize `:ascent center'.
8681 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
8682 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
8683 (xbm_load): Don't set image's ascent here.
8684 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
8685 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
8686 check ascent values here.
8687 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
8688 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
8689 (syms_of_xfns): Initialize Qcenter.
8690
1b0672c3
GM
8691 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
8692 to the limits, increase the limits.
8693
0d7811ed
KH
86942000-05-01 Kenichi Handa <handa@etl.go.jp>
8695
8696 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
8697 Check Vfont_encoding_alist against the full name of the opened
8698 font.
8699
a943a5ca
GM
87002000-04-28 Gerd Moellmann <gerd@gnu.org>
8701
8702 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
8703 taller than the window.
8704
5dba1e29
KH
87052000-04-28 Kenichi Handa <handa@etl.go.jp>
8706
8707 * xfaces.c (realize_x_face): Fix the argument of the second
8708 xassert. BASE_FACE may not be a face for ASCII.
8709
353964e3
GM
87102000-04-27 Gerd Moellmann <gerd@gnu.org>
8711
c76e04a8
GM
8712 * print.c (print_object): Treat print-length < 0 as nil.
8713
8714 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
8715
8716 * s/freebsd.h (TERMCAP_OBJ): Removed.
8717 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
8718
8719 * lread.c (read1): Don't treat period followed by certain
8720 characters as symbol start.
8721
8722 * xfns.c (slurp_file): New function.
8723 (xbm_image_p): Handle case of in-memory XBM files.
8724 (xbm_scan): Rewritten to work on memory buffers instead of files.
8725 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
8726 Work on memory buffers instead of files. If DATA is null test
8727 if buffer looks like an in-memory XBM file.
8728 (xbm_load_image): Renamed from xbm_load_image_file. Work on
8729 memory buffers instead of files.
8730 (xbm_file_p): New function.
8731 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
8732
353964e3
GM
8733 * lread.c (end_of_file_error): New function.
8734 (read1): Call it instead of signaling `end-of-file' directly.
8735
427ec082 8736 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
8737 with Fprinc instead of Fprin1.
8738
24d744ac
KR
87392000-04-26 Ken Raeburn <raeburn@gnu.org>
8740
8741 * window.c (freeze_window_start): Check that minibuffer scroll
8742 window isn't nil before extracting the window structure pointer
8743 from it.
8744
8745 * undo.c (record_delete): If we hit the end of the undo list, stop
8746 picking elements apart.
8747
7464346d
GM
87482000-04-26 Gerd Moellmann <gerd@gnu.org>
8749
8750 * xdisp.c (display_line): If lines are continued, restore
8751 iterator's ascent/descent information to the values before the
8752 first glyph not fitting on the line.
8753
612839b6
GM
87542000-04-25 Gerd Moellmann <gerd@gnu.org>
8755
8756 * xdisp.c (try_window_id) <all changes above window start>: Adjust
8757 positions in glyph matrix. Don't compute new window end
8758 positions.
8759
8760 * dispnew.c (increment_matrix_positions): Renamed from
8761 increment_glyph_matrix_buffer_positions.
8762 (increment_row_positions): Renamed from
8763 increment_glyph_row_buffer_positions.
8764
8765 * dispextern.h: Change names of renamed functions from dispnew.c
8766 in prototypes.
8767
cc181e95
GM
87682000-04-24 Gerd Moellmann <gerd@gnu.org>
8769
abfcc168
GM
8770 * fileio.c (Fdo_auto_save): Create directories for auto-save
8771 list file if necessary.
8772
cc181e95
GM
8773 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
8774 from buffer or frame.
8775 (automatic_hscrolling_p): New variable.
8776 (hscroll_windows): Scroll windows horizontally only if automatic
8777 hscrolling is allowed.
8778 (syms_of_xdisp): New variable `automatic-hscrolling'.
8779
8780 * frame.h (struct frame): Add member extra_line_spacing.
8781
8782 * xfns.c (x_set_line_spacing): New function.
8783 (Fx_create_frame): Set line spacing from resources.
8784 (Qline_spacing): New variable.
8785 (syms_of_xfns): Initialize Qline_spacing.
427ec082 8786
cc181e95
GM
8787 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
8788
8789 * buffer.c (init_buffer_once): Handle extra_line_spacing.
8790 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 8791 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
8792 extra_line_spacing from default value.
8793 (init_buffer_once): Initialize default value of extra_line_spacing.
8794
8795 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
8796 and extra3.
8797
8798 * xterm.c (x_produce_glyphs): Remove reference to struct it's
8799 prompt_width. Add extra line spacing.
8800
8801 * term.c (produce_glyphs): Remove reference to struct it's
8802 prompt_width.
8803
8804 * dispextern.h (struct it): Remove member prompt_width, add
8805 extra_line_spacing.
8806
58827478
GM
88072000-04-22 Gerd Moellmann <gerd@gnu.org>
8808
8809 * dispnew.c (update_frame_line): When writing a whole line, make
8810 sure cursor is in the right row afterwards, otherwise a use of
8811 capability `ch' in cmgoto might leave the cursor in the row below.
8812
25a87f42
GM
88132000-04-21 Gerd Moellmann <gerd@gnu.org>
8814
8815 * lisp.h (struct Lisp_Buffer_Cons): Remove.
8816
8817 * keyboard.c (timer_check): Fix typo in comment.
8818
54edf5c2
KH
88192000-04-21 Kenichi Handa <handa@etl.go.jp>
8820
8821 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
8822 name change: ch -> character.
8823
3a64eef5
GM
88242000-04-20 Gerd Moellmann <gerd@gnu.org>
8825
8826 * keyboard.c (echo_message_buffer): New variable.
8827 (echo_now): Set echo_message_buffer to the echo area buffer used
8828 to display the echo.
8829 (cancel_echoing): Reset echo_message_buffer to nil.
8830 (read_char): Code rewritten that handles canceling an echo or
8831 echoing a dash, respectively.
8832
8833 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
8834 directory doesn't exist.
8835
6142fdcb
DL
88362000-04-19 Dave Love <fx@gnu.org>
8837
8838 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
8839 (concat): Don't allow numeric args.
8840 (Fconcat): Doc change.
6142fdcb 8841
ac6b5352
SM
88422000-04-19 Stefan Monnier <monnier@cs.yale.edu>
8843
8844 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
8845 instead define end_match(1|2) more carefully.
8846 Use GET_CHAR_BEFORE_2 for `begline'.
8847
cb9215e4
GM
88482000-04-19 Gerd Moellmann <gerd@gnu.org>
8849
5e3dac3f
GM
8850 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
8851 on 64-bit systems where NULL is defined as `0'.
8852
8853 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
8854 the `variable argument list' to make it work on Alpha.
8855
cb9215e4
GM
8856 * m/alpha.h (_LP64) [!_LP64]: Define.
8857 (ORDINARY_LINK): Define for NetBSD.
8858
8859 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 8860
f532dca0
DL
88612000-04-19 Dave Love <fx@gnu.org>
8862
c750667e
DL
8863 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
8864 change.
8865
8866 * Makefile.in (LIBS): Don't use.
8867 (GETLOADAVG_OBJ): Define again.
8868 (otherobj): Add GETLOADAVG_OBJ.
8869
f532dca0
DL
8870 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
8871
1c7e22fd
GM
88722000-04-18 Gerd Moellmann <gerd@gnu.org>
8873
f6d3257b
GM
8874 * lread.c (read_filtered_event): Cancel and start busy cursor.
8875
427ec082 8876 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
8877 that the per-character metrics may be null.
8878
e10f64e7
GM
88792000-04-17 Gerd Moellmann <gerd@gnu.org>
8880
0daee095
GM
8881 * buffer.c (clone_per_buffer_values): New function.
8882 (Fmake_indirect_buffer): Add optional argument CLONE. Call
8883 clone_per_buffer_values if CLONE is not nil.
8884
e10f64e7
GM
8885 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
8886
38687d43
DL
88872000-04-16 Dave Love <fx@gnu.org>
8888
8889 * Makefile.in: Remove obsolete localcpp stuff.
8890 (GETLOADAVG_OBJ): Don't define.
8891 (obj): Move LIBOBJS...
8892 (otherobj): ... to here.
8893 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
8894 whitespace-only lines after the continuation (Irix).
8895
c21c7262
GM
88962000-04-14 Gerd Moellmann <gerd@gnu.org>
8897
8898 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
8899
8900 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
8901
314767c0
DL
89022000-04-14 Dave Love <fx@gnu.org>
8903
8904 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
8905 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
8906 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
8907 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
8908 NLIST_STRUCT.
8909
8910 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
8911 autoconfiscated HAVE_GETLOADAVG.
8912
8913 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
8914 BROKEN_MKTIME.
8915
a2522dca
GM
89162000-04-14 Gerd Moellmann <gerd@gnu.org>
8917
8918 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
8919 (fill_in_lock_file_name): Avoid existing files that aren't
8920 links.
8921
33744b5d
DL
89222000-04-14 Dave Love <fx@gnu.org>
8923
c21c7262 8924 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
8925 (INTERVAL_SRC): Convert to make variable.
8926 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
8927 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
8928 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
8929 add LIBOBJS.
8930 (SOME_MACHINE_OBJECTS): Remove interval stuff.
8931 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
8932 (shortlisp): Add facemenu, float-sup, frame.
8933 (SOME_MACHINE_LISP): Remove them from here.
8934 (LIBES): Change unused LDLIBS to autoconf LIBS.
8935
8936 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
8937
9d3d5916
KH
89382000-04-14 Kenichi Handa <handa@etl.go.jp>
8939
8940 * composite.c (update_compositions): If FROM and TO are not in a
8941 valid range, do nothing.
8942
198e3c7a
GM
89432000-04-13 Gerd Moellmann <gerd@gnu.org>
8944
8945 * tparam.c (tparam1): Abort when encountering an unknown
8946 `%'-specifier.
8947
8948 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as
8949 terminfo.o.
8950
8951 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
8952 as TERMCAP_OBJ.
8953
055a28c9
EZ
89542000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
8955
8956 * fileio.c (a_write): Remove redundant semi-colons.
8957 (e_write): Return -1 if failed to write all the data.
8958 This fixes the changes made at 1999-12-15.
8959
f5c75033
DL
89602000-04-12 Dave Love <fx@gnu.org>
8961
8962 * fns.c (mapcar1): Test for null vals to support mapc.
8963 (Fmapc): New function.
8964
0c3cfc51
EZ
89652000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
8966
8967 * msdos.c (NUM_MOUSE_BUTTONS): Define.
8968 (IT_frame_up_to_date): Support the buffer local value of
8969 cursor-type, if defined.
8970
33465a31
DL
89712000-04-10 Dave Love <fx@gnu.org>
8972
8973 * editfns.c (preceding-char, following-char): Doc fix.
8974
6ed56568
KR
89752000-04-10 Ken Raeburn <raeburn@gnu.org>
8976
8977 * Makefile.in (temacs): Revert 2000-03-12 change.
8978
7cf80d4e
JR
89792000-04-10 Jason Rumney <jasonr@gnu.org>
8980
8981 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
8982
34f3f342
GM
89832000-04-10 Gerd Moellmann <gerd@gnu.org>
8984
1a1b1895
GM
8985 * xdisp.c (setup_echo_area_for_printing): Choose an echo
8986 area buffer, if it's not set up yet.
8987
34f3f342
GM
8988 * indent.c (compute_motion): Set immediate_quit.
8989
be0dbdab
GM
89902000-04-09 Gerd Moellmann <gerd@gnu.org>
8991
c45be9ac
GM
8992 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New
8993 variable.
8994 (realize_tty_face): Suppress boldness if colors are the inverse of
8995 the default colors, and tty_suppress_bold_inverse_default_colors_p
8996 is set.
8997 (Ftty_suppress_bold_inverse_default_colors): New function.
8998 (syms_of_xfaces): Defsubr it.
8999
be0dbdab
GM
9000 * buffer.c (Frestore_buffer_modified_p): New function.
9001 (syms_of_buffer): Defsubr it.
9002
e8413c3b
KR
90032000-04-08 Ken Raeburn <raeburn@gnu.org>
9004
87f67317
KR
9005 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
9006 charset id (int) argument, not a charset (Lisp_Object).
9007
e8413c3b
KR
9008 * coding.h (code_convert_string): Declare.
9009 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
9010 object, as the fourth argument to code_convert_string.
9011
9012 * fontset.c (make_fontset_for_ascii_face): Use XINT on return
9013 value.
9014 (Fset_fontset_font): Use EQ to compare lisp objects.
9015
7c752c80
KR
90162000-04-05 Ken Raeburn <raeburn@gnu.org>
9017
c0333abc
KR
9018 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
9019 a pointer that looks like a lisp object.
9020 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
9021 zero, instead see whether it's an integer object, since they can't
9022 have intervals.
9023 (GET_INTERVAL_OBJECT): Simply assign to the destination.
9024
7c752c80
KR
9025 * dispnew.c (allocate_matrices_for_frame_redisplay,
9026 direct_output_forward_char): Use X(U)INT and make_number as needed
9027 to convert between (unsigned) int values and lisp integers.
9028 * keyboard.c (read_key_sequence): Likewise.
9029 * lread.c (substitute_object_recurse): Likewise.
9030 * fns.c (concat, hash_lookup, hash_remove): Likewise.
9031 * minibuf.c (do_completion, Fminibuffer_complete_word,
9032 Fminibuffer_completion_help): Likewise.
9033 * term.c (produce_special_glyphs): Likewise.
9034
9035 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
9036 * print.c (print_preprocess, print_object): Likewise.
9037
9038 * search.c (compile_pattern): Use NILP when checking for nil.
9039
74e49b38
KR
9040 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
9041 __OPTIMIZE__]: Provide a GNU C macro version that handles
9042 lisp-object unions.
9043 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
9044 field, to better cope with ENABLE_CHECKING and calls that modify a
9045 Lisp_Object using its old value.
9046
685e5ed2
GM
90472000-04-04 Gerd Moellmann <gerd@gnu.org>
9048
c407c570
GM
9049 * window.c (compare_window_configurations): Signal an error
9050 if parameters C1 or C2 aren't window configurations.
9051
685e5ed2
GM
9052 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
9053 AFTER_POTENTIAL_GC calls around calls to functions that can
9054 signal an error and thus invoke the debugger.
9055
587a49ab
GM
90562000-04-03 Gerd Moellmann <gerd@gnu.org>
9057
62f20204
GM
9058 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
9059 an error if decoding fails.
9060
587a49ab
GM
9061 * keyboard.c (lispy_mouse_names): Variable removed.
9062 (Vlispy_mouse_stem): New variable.
9063 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
9064 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
9065 for any mouse button number. Increase size of mouse_syms and
9066 button_down_location as needed. Call modify_event_symbol with
9067 different arguments.
9068 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
9069 Call modify_event_symbol with different arguments.
9070 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
9071 for any button number. Call modify_event_symbol with different
9072 arguments.
9073 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
9074 Accept a string for NAME_ALIST_OR_STEM.
9075
9076 * lisp.h (larger_vector): Add prototype.
9077
9078 * fns.c (larger_vector): Make externally visible.
9079
9080 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
9081
2d1675e4
SM
90822000-04-02 Stefan Monnier <monnier@cs.yale.edu>
9083
9084 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
9085 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
9086 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
9087 we are between str1 and str2.
9088 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
9089 (PATFETCH): Use `TRANSLATE'.
9090 (PATFETCH_RAW): Fetch multibyte char if applicable.
9091 (PATUNFETCH): Remove.
9092 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
9093 When writing a char, write it directly into the pattern buffer rather
9094 than going needlessly through a temp char-array.
9095 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
9096 multibyte magic and remove the useless `#ifdef emacs'.
9097 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
9098 buffer.
9099
9100 * regex.h (struct re_pattern_buffer): Make field `multibyte'
9101 conditional on `emacs'.
9102
9103 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
9104
cc2d8c6b
KR
91052000-04-01 Ken Raeburn <raeburn@gnu.org>
9106
9107 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
9108 non-union-type versions of XMARK and friends here, because XMARK
9109 and friends won't work on an integer field if NO_UNION_TYPE is not
9110 defined.
9111 (make_number): Define as a function if it's not defined as a
9112 macro.
9113
09654086
KR
9114 * composite.c (run_composite_function): Use NILP when checking for
9115 nil.
9116 (syms_of_composite): Delete local var NARGS, pass an int as first
9117 argument to Fmake_hash_table.
9118
2387b382
KR
9119 * editfns.c (text_property_stickiness): Use NILP to test
9120 Lisp_Object boolean value.
9121 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
9122 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
9123 problems reading from and changing the same lisp value in an
9124 XSETSTRING call.
9125
27660e89
GM
91262000-04-01 Gerd Moellmann <gerd@gnu.org>
9127
9128 * term.c (TN_no_color_video): New variable.
9129 (term_init): Intitialize TN_no_color_video.
9130 (enum no_color_bit): New enumeration.
9131 (MAY_USE_WITH_COLORS_P): New macro.
9132 (turn_on_face): Use it to determine if attributes may be used
9133 combined with colors.
9134
3578db3c
KR
91352000-04-01 Ken Raeburn <raeburn@gnu.org>
9136
9137 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
9138 with int lvalues via casts; instead, just yield lisp object
9139 lvalues.
9140 (enlarge_window): Variable sizep now points to Lisp_Object. Use
9141 proper accessor macros.
9142 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
9143 (grow_mini_window): Fix typo getting int value of root->height.
9144
6fc556fd
KR
9145 * xdisp.c (compute_string_pos): Fix order of arguments to
9146 string_pos_nchars_ahead.
9147 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
9148 count arg to variable-arg routines like Frun_hook_with_args and
9149 Fformat.
587a49ab
GM
9150 (back_to_previous_visible_line_start)
9151 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
9152 fixed-arg routines like Fget_char_property and Fmake_string.
9153 (reconsider_clip_changes): Use XINT when comparing integer lisp
9154 objects, or passing them as int arguments.
587a49ab
GM
9155 (mark_window_display_accurate, insert_left_trunc_glyphs)
9156 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
9157 storing or passing integer values as lisp objects.
9158 (set_cursor_from_row, highlight_trailing_whitespace): Use
9159 INTEGERP, not implicit test against zero, for glyph object.
9160 (try_window_id): Don't use make_number when we want an int value.
9161
9162 * xfaces.c (xlfd_symbolic_value): Make last argument a
9163 Lisp_Object, to be consistent with callers.
9164 (Fbitmap_spec_p): Use XINT to get numeric value of height.
9165 (lface_hash): Apply XFASTINT to lisp values before folding in.
9166
9167 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
9168 fill in window width and height. Pass an int, not a lisp object,
9169 as first arg to Finsert.
9170
6e7b2457
GM
91712000-04-01 Gerd Moellmann <gerd@gnu.org>
9172
610d841e
GM
9173 * xfaces.c (realize_basic_faces): Block input while realizing
9174 the faces.
9175
6e7b2457
GM
9176 * keyboard.c (lispy_mouse_names): Add additional mouse names.
9177
9178 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
9179
aa110c0c
GM
91802000-03-31 Gerd Moellmann <gerd@gnu.org>
9181
9182 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 9183 or ASCII, handle case that per-char metric is null.
aa110c0c 9184
8801a864
KR
91852000-03-30 Ken Raeburn <raeburn@gnu.org>
9186
c6129d7e
KR
9187 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
9188
8801a864
KR
9189 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW,
9190 XSUBR, XBUFFER): Verify correct object type before returning
9191 pointer, using eassert.
9192 * frame.h (XFRAME): Likewise.
9193
9194 * buffer.c (Frename_buffer, Fset_buffer_multibyte,
9195 swap_out_buffer_local_variables, Fmove_overlay): Don't apply
9196 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong
9197 type.
9198 * data.c (set_internal): Likewise.
9199 * dispextern.h (WINDOW_WANTS_MODELINE_P,
9200 WINDOW_WANTS_HEADER_LINE_P): Likewise.
9201 * fileio.c (auto_save_1): Likewise.
9202 * insdel.c (check_markers): Likewise.
9203 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
9204 * undo.c (record_insert): Likewise.
9205 * vmsproc.c (child_sig): Likewise.
9206 * window.c (unshow_buffer, window_loop): Likewise.
9207 * xterm.c (x_erase_phys_cursor): Likewise.
9208
8e7af858
GM
92092000-03-30 Gerd Moellmann <gerd@gnu.org>
9210
9211 * xfns.c (free_image_cache): Free the cache structure itself
9212 last, after all its members have been freed.
9213
9214 * lisp.h (xstrdup): Add prototype.
9215
9216 * alloc.c (xstrdup): Moved here from xfaces.c.
9217 (allocating_for_lisp): Variable removed.
9218 (lisp_malloc): Block input around the calls to malloc and
9219 mem_insert.
9220
9221 * xfaces.c (realize_tty_face): Use find_symbol_value instead
9222 of Fsymbol_value.
9223 (xstrdup): Moved to alloc.c.
9224
e0b8c689
KR
92252000-03-29 Ken Raeburn <raeburn@gnu.org>
9226
b96f9fb7
KR
9227 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
9228
9229 * emacs.c (main): Fix sense of no-loadup test.
9230
e0b8c689
KR
9231 * config.in (ENABLE_CHECKING): Undef.
9232
9233 * lisp.h (struct interval): Replace "parent" field with a union of
9234 interval pointer and Lisp_Object; add new bitfield to use as
9235 discriminant. Change other flag fields to bitfields.
9236 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
9237 is defined and the supplied test fails, print a message and
9238 abort.
9239 (eassert): New macro. Use CHECK to provide an assert-like
9240 facility.
9241
9242 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
9243 pointers; abort if the value looks like a lisp object.
9244 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT,
9245 SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
9246 Modify for new interval parent definition.
9247
9248 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE,
9249 UNMARK_BALANCE_INTERVALS): Update references that need an
9250 addressable lisp object in the interval structure.
9251 (die): New function.
9252 (suppress_checking): New variable.
9253
9254 * intervals.c (interval_start_pos): Just return 0 if there's no
9255 parent object.
9256
f83c5440
GM
92572000-03-29 Gerd Moellmann <gerd@gnu.org>
9258
9259 * lread.c (read1): Accept `.' (period) as symbol start like in CL
9260 and earlier Emacs versions.
9261
9262 * keyboard.c (Ftop_level): Cancel busy-cursor.
9263
9264 * eval.c (call_debugger): Cancel busy-cursor.
9265
fdce64ff
KH
92662000-03-29 Kenichi Handa <handa@etl.go.jp>
9267
9268 * search.c (Freplace_match): Adjust multibyteness of the current
9269 buffer and NEWTEXT. Free allocated memory before signaling an
9270 error.
9271
f6a3f532
SM
92722000-03-28 Stefan Monnier <monnier@cs.yale.edu>
9273
9274 * regex.c (analyse_first): New function obtained by ripping out most
9275 of re_compile_fastmap and generalizing it a little bit so that it
9276 can also just return whether a given (sub)pattern can match the empty
9277 string or not.
9278 (regex_compile): Use `analyse_first' to decide whether the loop-check
9279 needs to be done or not for *, +, *? and +? (the loop check is costly
9280 for non-greedy repetition).
9281 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
9282
e9b309ac
DL
92832000-03-28 Dave Love <fx@gnu.org>
9284
bb15bd9a
DL
9285 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k,
9286 alpha.
9287
e9b309ac
DL
9288 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
9289
ed0767d8
SM
92902000-03-27 Stefan Monnier <monnier@cs.yale.edu>
9291
9292 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
9293 an expression.
9294 (enum re_opcode_t): Update description of succeed_n.
9295 (PATFETCH): Always define.
9296 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
9297 operators, char classes, shy-groups and intervals).
9298 Optimize special cases of intervals so as to only use succeed_n and
9299 jump_n when really needed.
9300 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
9301 that we don't have to handle the special cases any more.
9302 Simplify on_failure_jump handling as well.
9303
e11e7e46
JR
93042000-03-28 Jason Rumney <jasonr@gnu.org>
9305
9306 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
9307
88faab89
GM
93082000-03-27 Gerd Moellmann <gerd@gnu.org>
9309
182ff242
GM
9310 * s/freebsd.h (GC_SETJMP_WORKS): Define.
9311
9312 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 9313
182ff242
GM
9314 * alloc.c (mark_maybe_object): New function.
9315 (mark_memory): Use it.
9316 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
9317 (setjmp_tested_p, longjmp_done): New variables.
9318 (test_setjmp): New function.
9319 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
9320 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
9321
c1005d06
GM
9322 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
9323 to DEC_TEXT_POS and INC_TEXT_POS.
9324
9325 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
9326 with parameter MULTIBYTE_P.
9327
427ec082 9328 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter
c1005d06
GM
9329 MULTIBYTE_P.
9330
7439e5b9 9331 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
9332 buffers because it looks for multibyte character byte sequences
9333 which don't exist in unibyte text.
7439e5b9 9334
d9c545da
GM
9335 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
9336
11fd416e 9337 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
9338 [DEBUG_X_COLORS]: New functions.
9339 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
9340
9341 * xfns.c (x_set_cursor_color): Get color reference counts right.
9342
9343 * xterm.c (x_copy_color): New function.
9344 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
9345
9346 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
9347 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
9348 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
9349 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
9350 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
9351 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
9352 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
9353 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
9354 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
9355 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
9356
11fd416e
GM
9357 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
9358 names for handling per-buffer variables.
d9c545da
GM
9359
9360 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
9361 instead of MAX_BUFFER_LOCAL_VARS.
9362 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
9363
9364 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
9365
88faab89
GM
9366 * xfns.c (x_specified_cursor_type): New function.
9367 (x_set_cursor_type): Use it.
9368
9369 * buffer.h (struct buffer): Add cursor_type.
9370
d80f42b7
SM
93712000-03-26 Stefan Monnier <monnier@cs.yale.edu>
9372
9373 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
427ec082 9374 (print_partial_compiled_pattern, re_compile_fastmap): Handle new
88faab89 9375 opcode.
d80f42b7
SM
9376 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
9377 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
9378 executing it as well as when popping it off the stack to find infinite
9379 loops in non-greedy repetition operators.
9380
89e80928
GM
93812000-03-26 Gerd Moellmann <gerd@gnu.org>
9382
3d4ff2dd
GM
9383 * doc.c (Qfunction_documentation): New variable.
9384 (syms_of_doc): Initialize Qfunction_documentation.
9385 (Fdocumentation): If FUNCTION is a symbol with non-nil
9386 `function-documentation' property, return a documentation derived
9387 from that.
9388
bd96bd79
GM
9389 * buffer.c (syms_of_buffer): Add default-cursor-type.
9390 (init_buffer_once): Don't let cursor_type have a local value
9391 in every buffer.
9392
19d1bc27
GM
9393 * xterm.c (x_display_and_set_cursor): Choose cursor depending
9394 on buffer-local value of cursor_type.
9395 (x_draw_bar_cursor): Add parameter WIDTH.
9396
9397 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
9398 (init_buffer_once): Set default cursor_type value to t.
9399 Mark cursor_type as local everywhere.
9400 (syms_of_buffer): New per-buffer variable cursor-type.
9401
89e80928
GM
9402 * buffer.h (struct buffer): Remove member local_var_flags,
9403 add local_flags.
9404 (MAX_BUFFER_LOCAL_VARS): New macro.
9405 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
9406 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
9407 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
9408 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
9409
9410 * print.c (print_object): Use new macros for per-buffer
9411 variables.
9412
9413 * category.c (Fset_category_table): Use new macros for per-buffer
9414 variables.
9415
9416 * buffer.c (buffer_permanent_local_flags): Make a char array.
9417 (max_buffer_local_idx): New variable.
9418 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
9419 for new handling of per-buffer variables.
9420 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
9421 (init_buffer_once): Initialize per-buffer vars differently.
9422 Set max_buffer_local_idx.
9423
9424 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
9425 variables.
9426
9427 * lread.c (defvar_per_buffer): Use new macros for per-buffer
9428 variables.
9429
9430 * data.c (do_symval_forwarding, store_symval_forwarding)
9431 (find_symbol_value, set_internal, default_value, Fset_default)
9432 (Fkill_local_variable, Flocal_variable_p): Use new macros for
9433 per-buffer variables.
9434
9435 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
9436
9a0dd3dc
GM
94372000-03-24 Gerd Moellmann <gerd@gnu.org>
9438
b68c375f
GM
9439 * xterm.c (x_term_init): Unblock input around call1 of
9440 Qvendor_specific_keysyms.
9441
9a0dd3dc
GM
9442 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
9443 (find_defun_start): Consider an open parenthesis in column 0
9444 a defun start only if open_paren_in_column_0_is_defun_start is set.
9445 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
9446
7973e637
SM
94472000-03-24 Stefan Monnier <monnier@cs.yale.edu>
9448
9449 * eval.c (Fautoload): Add entry in load-history (if after dump).
9450 * lread.c (load-history): Update docstring.
9451
39210e90
GM
94522000-03-24 Gerd Moellmann <gerd@gnu.org>
9453
9454 * indent.c (Fvertical_motion): Always use the current buffer.
9455 Temporarily change the window's buffer, if necessary.
9456
72db3ab5
GM
94572000-03-23 Gerd Moellmann <gerd@gnu.org>
9458
9459 * xterm.c (fast_find_position): Make sure not to consider rows
9460 not visible in the window.
9461
990b2375
SM
94622000-03-22 Stefan Monnier <monnier@cs.yale.edu>
9463
9464 * regex.c (enum syntaxcode): Provide default for non-Emacs.
9465 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
9466
ff4df011
JR
94672000-03-22 Jason Rumney <jasonr@gnu.org>
9468
9469 * w32menu.c (single_submenu): Set help string to NULL if none.
9470 (w32_menu_show): Set help string correctly.
9471 (add-menu-item): Set help string in MIIM_DATA for menu item.
9472 Load SetMenuItemInfoA explicitly.
9473 (w32_menu_display_help): New function.
427ec082 9474
ff4df011
JR
9475 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
9476 (QCdata): Moved to xdisp.c.
9477
9478 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
9479 (Vw32_charset_to_codepage_alist): Removed.
9480 (Vw32_charset_info_alist): New variable.
9481 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312,
9482 chinesebig5, oem, easteurope, turkish, baltic, russian, arabic,
9483 greek, hebrew, thai, johab, mac, unicode]): New symbols.
9484 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
9485 with TODO comment.
9486 (w32_codepage_for_font): Use Vw32_charset_info_alist.
9487 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
9488 Define Vw32_charset_info_alist and w32_charset symbols.
9489
94902000-03-22 Jason Rumney <jasonr@gnu.org>
9491
9492 * makefile.nt (w32bdf.obj): Update dependencies.
9493
9494 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
9495
9496 * w32fns.c: Include fontset.h after dispextern.h.
9497 (Fx_create_frame): Do not create fontset.
9498 (w32_load_system_font): Doc fix.
9499 (Fx_close_connection): Free full_name if it is not shared.
9500
9501 * w32term.c: Include fontset.h after dispextern.h.
9502 (x_get_glyph_face_and_encoding): New parameter two_byte_p. Callers
9503 updated.
9504 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
9505 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
9506 (w32_font_is_double_byte): New function, needs body.
9507 (x_append_glyph): Set glyph->glyph_not_available_p.
9508 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
9509 it->charset. If it->multibyte_p is zero and it->c is a multibyte
9510 character, convert it to a unibyte character.
9511 (struct glyph_string): Delete member `charset'.
9512 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
9513 calculating it is found.
9514 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
9515 the case that per char metric is not available correctly.
9516 (x_fill_glyph_string): Handle the case that the specific glyph is
9517 not available correctly.
9518 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9519 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9520 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9521 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9522 fontset. Don't call FS_LOAD_FONT.
9523
439d5cb4
KR
95242000-03-22 Ken Raeburn <raeburn@gnu.org>
9525
9526 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
9527 (INT_LISPLIKE): New macro.
9528 (NULL_INTERVAL_P): Use it.
9529 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT,
9530 SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT,
9531 GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
9532
9533 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
9534 explicit references to "parent" field of struct interval and
9535 associated unclean type conversions.
9536 * intervals.c (create_root_interval, root_interval, rotate_right,
9537 rotate_left, balance_possible_root_interval, split_interval_right,
9538 split_interval_left, interval_start_pos, find_interval,
9539 next_interval, previous_interval, update_interval,
9540 adjust_intervals_for_insertion, delete_node, delete_interval,
9541 adjust_intervals_for_deletion, merge_interval_right,
9542 merge_interval_left, reproduce_tree, graft_intervals_into_buffer,
9543 copy_intervals_to_string): Likewise.
9544 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
9545 Likewise.
9546 * syntax.c (update_syntax_table): Likewise.
9547
9548 * intervals.c (reproduce_tree_obj): New function, like
9549 reproduce_tree but takes a Lisp_Object for the parent. Declare
9550 with prototype.
9551 (graft_intervals_into_buffer): Use it when appropriate.
9552 (reproduce_tree): Declare with prototype.
9553 (balance_possible_root_interval): Check that the parent is a lisp
9554 object before trying to examine its type.
9555
ee1c5b21
GM
95562000-03-22 Gerd Moellmann <gerd@gnu.org>
9557
9558 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
9559 as strings only if both are known to be strings.
9560
9561 * s/openbsd.h (LIBS_TERMCAP): Undef.
9562
1fb352e0
SM
95632000-03-21 Stefan Monnier <monnier@cs.yale.edu>
9564
9565 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
9566 definitions for non-Emacs compilation.
9567 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
9568 outside of `#ifdef emacs'.
9569 (print_partial_compiled_pattern): Update.
9570 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
9571 (re_compile_fastmap): Merge handling of charset and charset_not (for
9572 emacs and non-emacs compilation as well).
9573 Similarly for (not)categoryspec and (not)syntaxspec.
9574 Don't use the fastmap when reaching `anychar' since the added
9575 complexity is not justified.
9576 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
9577 and (not)syntaxspec. Merge (not)categoryspec.
9578
fdaa1f77
KH
95792000-03-22 Kenichi Handa <handa@etl.go.jp>
9580
ff1a0d8e
KH
9581 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P,
9582 FACE_FOR_CHAR): Define them differently for the configuration of
9583 --without-x.
fdaa1f77 9584
d152fb46
DL
95852000-03-21 Dave Love <fx@gnu.org>
9586
9587 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
9588 doc string.
9589
d2cafc8c
GM
95902000-03-21 Gerd Moellmann <gerd@gnu.org>
9591
9592 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
9593 (lface_fully_specified_p): Don't check contents of
9594 LFACE_FONT_INDEX because that attribute is optional.
9595 (realize_x_face): Remove now unwarranted xassert.
9596
9111d4b5
KH
95972000-03-21 Kenichi HANDA <handa@etl.go.jp>
9598
9599 The following changes are to make font selection based on
9600 characters, not charset. In addition, they recover fontset
9601 facilities while utilizing the new font selection mechanism.
9602
6c4bfdc0
KH
9603 * Makefile.in (fontset.o): Depend on dispextern.h.
9604
9605 * alloc.c (mark_face_cache): Don't mark face->registry.
9606
9111d4b5
KH
9607 * dispextern.h (struct glyph): New member glyph_not_available_p.
9608 Use 22 bits for face_id.
9609 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
9610 (struct face): Delete member registry, new member ascii_face.
9611 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
9612 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
9613 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
9614 (struct it): Delete member charset, new member
9615 glyph_not_available_p.
9616
9617 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
9618 (struct fontset_info, struct fontset_data): Structs removed.
9619 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset,
9620 Vglobale_fontset_alist, font_idx_temp): Externs removed.
9621 (fs_load_font, fs_query_fontset): Adjusted for new argument.
9622 (fs_free_face_fontset, fontset_font_pattern,
9623 face_suitable_for_char_p, face_for_char,
9624 make_fontset_for_ascii_face): Extern them.
9625 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
9626 (FS_LOAD_FACE_FONT): New macro.
9627
9628 * fontset.c: All codes rewritten or adjusted for the change of
9629 fontset implementation. Now fontset is represented by char table.
9630 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl): Variables
9631 removed.
9632 (my_strcasecmp): Function removed.
9633 (Vfontset_table, next_fontset_id, Vdefault_fontset): New
9634 variables.
9635 (AREF, ASIZE): New macros.
9636 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME,
9637 FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF,
9638 FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
9639 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset,
9640 fontset_id_valid_p, font_family_registry, fontset_name,
9641 fontset_ascii, free_face_fontset, face_suitable_for_char_p,
9642 face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9643 New functions.
9644 (fs_load_font): New arg FACE. Caller changed.
9645 (fs_query_fontset): Argument changed. Caller changed.
9646 (Fquery_fontset): call fs_query_fontset.
9647 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
9648 Functions removed.
9649 (clear_fontset_elements, check_registry_encoding,
9650 check_fontset_name): New functions.
9651 (syms_of_fontset): Set char-table-extra-slots property of fontset
9652 to 3. Staticpro and initialize Vfontset_table and
9653 Vdefault_fontset. Defsubr fontset_font and fontset_list.
9654
9655 * frame.h (struct frame): Member `fontset_data' removed.
9656 (FRAME_FONTSET_DATA): Macro removed.
9657
9658 * frame.c (make_frame): Don't allocate f->fontset_data.
9659 (Fdelete_frame): Don't free f->fontset_data.
9660
6c4bfdc0
KH
9661 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
9662
9111d4b5
KH
9663 * xdisp.c (charset_at_position): Function removed.
9664 (init_iterator): Don't set member charset of struct `it'.
9665 (handle_face_prop, reseat_to_string, set_iterator_to_next,
9666 next_element_from_display_vector, insert_left_trunc_glyphs):
9667 Likewise.
9668 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
9669 FACE_FOR_CHARSET.
9670 (get_next_display_element, append_space,
9671 extend_face_to_end_of_line): Likewise.
9672
9673 * xfaces.c (Qx_charset_registry, Vface_default_registry):
9674 Variables removed.
9675 (clear_font_table, frame_update_line_height, load_face_font):
9676 Adjusted for the change of fontset implementation.
9677 (load_face_fontset_font): Function removed.
9678 (pixel_point_size): New function.
9679 (font_list): Argument type changed. Caller changed.
9680 (LFACE_FONT): New macro.
9681 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
9682 (set_lface_from_font_name): Type of arg FONTNAME is changed to
9683 Lisp_Object. Determine the font name by actually loading a font
9684 by the specified pattern. Set LFACE_FONT (lface) to the specified
9685 pattern. Even if a font is not found, don't try alternatives.
9686 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
9687 (set_font_frame_param): If `font' is specified in lface, use it.
9688 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
9689 (lface_same_font_attributes_p): Likewise.
9690 (make_realized_face): Arguent changed. Caller changed. Set
9691 face->ascii_face to face itself.
9692 (free_realized_face): Free face->fontset if face is for ASCII.
9693 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p,
9694 deduce_unibyte_registry, x_charset_registry): Functions removed.
9695 (free_realized_multibyte_face): New function.
9696 (lookup_face, lookup_named_face, lookup_derived_face): Argument
9697 changed. Caller changed.
9698 (try_font_list): Argument type changed.
9699 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
9700 (choose_face_font): Argument changed. Handle fontset properly.
9701 (choose_face_fontset_font): Function removed.
9702 (realize_default_face, realize_named_face): Don't remove the
9703 former face here.
9704 (realize_face): Argument changed. Caller changed. Remove face
9705 with the arg former_face_id in advance. Load font for the new
9706 face.
9707 (realize_x_face): Argument changed. Caller changed. For a
9708 multibyte character, share fontset with base_face. For a single
9709 byte character, make a new realized fontset. Don't load a font
9710 here.
9711 (realize_tty_face): Argument changed. Caller changed.
9712 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
9713 (face_at_buffer_position): Don't check multibyte_p for returning
9714 DEFAULT_FACE_ID.
9715 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
9716 FACE_SUITABLE_FOR_CHARSET_P.
9717 (syms_of_xfaces): Remove code for Qx_charset_registry and
9718 Vface_default_registry.
9719
6c4bfdc0
KH
9720 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
9721 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
9722 (x_per_char_metric): Don't try FONT->default_char. Even if
9723 pcm->width is zero, glyph bits may exist.
9724 (x_encode_char): Always initialize char2b->byte1.
9725 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
9726 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller
9727 changed.
9728 (x_append_glyph): Set glyph->glyph_not_available_p.
9729 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
9730 it->charset. Handle the case that per char metric is not
9731 available. If it->multibyte_p is zero and it->c is a multibyte
9732 character, convert it to a unibyte character.
9733 (struct glyph_string): Delete member `charset'.
9734 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
9735 the case that per char metric is not available correctly.
9736 (x_fill_glyph_string): Handle the case that the specific glyph is
9737 not available correctly.
9738 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9739 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9740 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9741 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9742 fontset. Don't call FS_LOAD_FONT.
9743
9744 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
9745 (x_create_tip_frame): Likewise.
9746 (Fx_close_connection): Free full_name of font_info.
9747
9748 * fns.c (optimize_sub_char_table): New function.
9749 (Foptimize_char_table): New function.
9750 (syms_of_fns): Defsubr Soptimize_char_table.
9751
b33dd3b0
GM
97522000-03-20 Gerd Moellmann <gerd@gnu.org>
9753
9754 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
9755 only if buffer is displayed in some window.
9756
9757 * xdisp.c (handle_single_display_prop): Initialize local `value'.
9758 (try_window_reusing_current_matrix): Don't call scroll run
9759 function if run's current and desired position are the same;
9760 this prevents cursor flickering.
9761
4e8a9132
SM
97622000-03-19 Stefan Monnier <monnier@cs.yale.edu>
9763
9764 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
9765
9766 * regex.c (RE_STRING_CHAR): New macro.
9767 (GET_CHAR_AFER_2): Remove.
9768 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
9769 (enum re_opcode_t): Remove on_failure_jump_exclusive.
9770 (print_partial_compiled_pattern, re_compile_fastmap)
9771 (re_match_2_internal): Remove on_failure_jump_exclusive.
9772 (regex_compile): Turn optimizable P+ loops into PP*, so that the
9773 optimization only need to work for * (ie. can use of_keep_string_jump).
9774 Remove the special case for .*\n since it is now covered by the general
9775 optimization.
9776 (re_search_2): Don't bother with `room'.
9777 (skip_one_char): New function.
9778 (skip_noops): Simplify since `memory' is not needed any more.
9779 (mutually_exclusive_p): Restructure slightly to use `switch' and
9780 add handling for "all" remaining cases.
9781 (re_match_2_internal): Change on_failure_jump_smart to use
9782 on_failure_keep_string_jump (and redirect the end-of-loop jump)
9783 rather than on_failure_jump_exclusive.
9784
2136fdd4
GM
97852000-03-19 Gerd Moellmann <gerd@gnu.org>
9786
9787 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
9788 number of bits per RGB because it's everywhere used as the depth
9789 of the visual.
9790
9791 * term.c (calculate_costs): Remove code dealing with X frames.
9792
18e21ce8 97932000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
9794
9795 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
9796
d7b511c4
GM
97972000-03-18 Gerd Moellmann <gerd@gnu.org>
9798
9799 * lread.c (read_integer): Unread the last char not consumed.
9800
16b5d424
GM
98012000-03-17 Gerd Moellmann <gerd@gnu.org>
9802
9803 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 9804 which are in the process of being deleted.
16b5d424 9805
1fa28578
GM
98062000-03-16 Gerd Moellmann <gerd@gnu.org>
9807
83488cce
GM
9808 * Makefile.in (mostlyclean): Add `*.core'.
9809 (clean): Add `bootstrap-emacs'.
9810
1fa28578
GM
9811 * lread.c (read_integer): New function.
9812 (read1): Support read syntax #o, #x, #b, #r.
9813
99633e97
SM
98142000-03-15 Stefan Monnier <monnier@cs.yale.edu>
9815
1fa28578
GM
9816 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
9817 make sure POINTER_TO_OFFSET gives the same value before and after
9818 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
9819 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
9820 (debug): Now only active if > 0 rather than if != 0.
9821 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
9822 (print_partial_compiled_pattern): Add missing `succeed' case. Use
9823 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
9824 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
9825 (store_op1, store_op2, insert_op1, insert_op2)
9826 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
9827 (group_in_compile_stack): Move to after its arg's types are
9828 declared and add a prototype.
99633e97 9829 (PATFETCH): Define in terms of PATFETCH_RAW.
1fa28578
GM
9830 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)'
9831 wrapper.
99633e97 9832 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
9833 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
9834 indentation of the greedy-op and shy-group code.
99633e97
SM
9835 (at_(beg|end)line_loc_p): Fix argument's types.
9836 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
9837 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
9838 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
9839 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
9840 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
9841 QUIT unconditionally.
99633e97 9842
699238d9
GM
98432000-03-15 Gerd Moellmann <gerd@gnu.org>
9844
9845 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
9846 a sole completion.
9847
9848 * process.c (send_process): Add a hint that the function
9849 can call Lisp code to its comment.
9850
9851 * lread.c (load_dangerous_libraries): New variable.
9852 (Vbytecomp_version_regexp): New variable.
9853 (safe_to_load_p): New function.
9854 (Fload): Handle files not compiled with Emacs specially.
9855 (syms_of_lread): New Lisp variable load-dangerous-libraries.
9856
34e23e5a
GM
98572000-03-14 Gerd Moellmann <gerd@gnu.org>
9858
9c763cca
GM
9859 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
9860
9861 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
9862 support functions only if HAVE_X11R6_XIM is defined.
9863 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
9864
9865 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
9866
9867 * xfns.c (X_I18N_INHIBITED): Don't define.
9868 (create_frame_xic): Remove conditional compilation on
9869 X_I18N_INHIBITED.
9870 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
9871
9872 * config.in (HAVE_X_I18N): Moved here from xterm.h.
9873 (HAVE_X11R6_XIM): Define.
9874
9875 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
9876
34e23e5a
GM
9877 * xterm.c (x_term_init): Add support for X resource `synchronous'.
9878 If set, call XSynchronize.
9879
66f0296e
SM
98802000-03-13 Stefan Monnier <monnier@cs.yale.edu>
9881
34e23e5a
GM
9882 * regex.c: Declare a new type `re_char' used throughout the code
9883 for the string char type. It's `const unsigned char' to match the
9884 rest of Emacs. Consistently make sure all pointers to strings use
9885 it and make sure all pointers into the pattern use `unsigned
9886 char'.
66f0296e 9887 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
9888 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
9889 code duplication.
66f0296e
SM
9890
9891 * charset.h (GET_CHAR_AFTER_2): Remove.
9892 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
9893
854a025c
KR
98942000-03-12 Ken Raeburn <raeburn@gnu.org>
9895
9896 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
9897 variable before the invocation of YMF_PASS_LDFLAGS, in case both
9898 of them try to use backquotes.
9899
b9d2c7e2
DL
99002000-03-12 Dave Love <fx@gnu.org>
9901
9902 * unexelf.c: Restore changes of 1999-10-19.
9903 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
9904 fix its type and alignment; copy it from current process.
9905
5e5dff44
GM
99062000-03-12 Gerd Moellmann <gerd@gnu.org>
9907
9b2f3c38
GM
9908 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
9909 has been found. Fix bug not computing timer's predecessor.
9910
427ec082 9911 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
9912 file name.
9913
e1cff360
GM
9914 * window.c (Fsave_window_excursion): Doc fix.
9915
5e5dff44
GM
9916 * xfns.c (x_defined_color): Rewritten to use
9917 x_allocate_nearest_color.
9918
e411ce4b
EZ
99192000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
9920
9921 * msdos.c (vga_installed): New function, code moved from
9922 dos_set_window_size.
9923 (Qbar, Qcursor_type, outside_cursor): New variables.
9924 (syms_of_msdos): Intern and staticpro them.
9925 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
9926 shape used outside Emacs when called for the first time.
9927 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
9928 cursor shape used outside Emacs.
9929 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
9930 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
9931 type has changed.
9932 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
9933 parameters specify the cursor. Make qreverse a global
9934 variable (renamed to Qreverse).
9935
80460654
GM
99362000-03-09 Gerd Moellmann <gerd@gnu.org>
9937
9938 * fns.c (Fy_or_n_p): Cancel busy-cursor.
9939
95cd4c40
SM
99402000-03-08 Stefan Monnier <monnier@cs.yale.edu>
9941
9942 This is a big redesign of failure-stack and register handling, prompted
9943 by bugs revealed when trying to add shy-groups. Overall, what happened
9944 is that loops are now structured a little differently, groups can be
9945 shy and the code is a little simpler.
9946
9947 * regex.h: Update the copyright.
9948 (RE_SHY_GROUPS): New value.
9949 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
9950 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
9951
80460654
GM
9952 * regex.c (enum re_opcode_t): Remove jump_past_alt,
9953 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
9954 on_failure_jump_(exclusive, loop and smart). Also fix the comment
9955 for (start|stop)_memory since they now only take one argument (the
9956 second has becomes unnecessary).
9957 (print_partial_compiled_pattern): Adjust for changes in
9958 re_opcode_t.
9959 (print_compiled_pattern): Use %ld to printf long ints and flush to
9960 make debugging a little easier.
95cd4c40
SM
9961 (union fail_stack_elt): Make the integer unsigned.
9962 (struct fail_stack_type): Add a `frame' element.
9963 (INIT_FAIL_STACK): Init `frame' as well.
9964 (POP_PATTERN_OP): New macro for re_compile_fastmap.
9965 (DEBUG_PUSH, DEBUG_POP): Remove.
9966 (NUM_REG_ITEMS): Remove.
9967 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
9968 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
9969 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 9970 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
80460654
GM
9971 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP): New
9972 macros.
9973 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
9974 address pushed is not the destination of the jump but the source
9975 of it instead.
95cd4c40
SM
9976 (NUM_FAILURE_ITEMS): Remove.
9977 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
9978 registers before the actual failure point). Don't hardcode any
9979 meaning for str==NULL anymore.
95cd4c40 9980 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
9981 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
9982 Remove.
95cd4c40
SM
9983 (REG_UNSET_VALUE): Use NULL (why not?).
9984 (compile_range): Remove declaration since it doesn't exist.
9985 (struct compile_stack_elt_t): Remove inner_group_offset.
9986 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
9987 (regex_grow_registers): Remove dead code.
9988 (FIXUP_ALT_JUMP): New macro.
80460654
GM
9989 (regex_compile): Add shy-groups Change loops to use
9990 on_failure_jump_smart&jump instead of
9991 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
9992 initial (dummy_failure_)jump. Remove c1_base (looks like unused
9993 variable to me). Use `jump' instead of `jump_past_alt' and don't
9994 bother with push_dummy_failure in alternatives since it is now
9995 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
9996 emacs' for (re)allocating the stack.
9997 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
9998 from loop when bufp->can_be_null rather than jumping to `done'.
9999 Avoid jumping backwards so as to ensure termination. Use
10000 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
10001 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 10002 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
10003 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
10004 improve mutually_exclusive_p to handle ".+\n".
10005 (lowest_active_reg, highest_active_reg,
10006 NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
10007 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
10008 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
10009 variables. Push register (in `start_memory') on the stack rather
10010 than storing it in old_reg(start|end). Remove the cycle detection
10011 from `stop_memory', replaced by the use of on_failure_jump_loop
10012 for greedy loops. Add code for the new on_failure_jump_<foo>.
10013 Remove ad-hoc code in `on_failure_jump' to push more registers in
10014 the case of a loop. Take out code from `maybe_pop_jump' into
10015 separate functions and adapt it to the semantics of
10016 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
10017 and push_dummy_failure. Remove dummy_failure handling and
10018 handling of `failures to jump to on_failure_jump' (this last one
10019 was already dead code, it seems).
10020 (group_match_null_string_p, alt_match_null_string_p)
10021 (common_op_match_null_string_p): Remove.
95cd4c40 10022
7397acc4
DL
100232000-03-08 Dave Love <fx@gnu.org>
10024
10025 * config.in: Don't depend on __STDC__ for volatile.
10026 Add POINTER_TYPE, PTR, PROTOTYPES.
10027
10028 * hftctl.c, strftime.c: Use PROTOTYPES.
10029 * eval.c (find_handler_clause): Likewise.
10030
10031 * mem-limits.h: Use POINTER_TYPE.
10032
10033 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
10034 (memory_warnings): Declare using POINTER_TYPE.
10035
5e91ff9e
GM
100362000-03-08 Gerd Moellmann <gerd@gnu.org>
10037
feab4fba
GM
10038 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
10039
25edb08f
GM
10040 * xdisp.c (display_echo_area): Temporarily inhibit garbage
10041 collection.
10042
5e91ff9e
GM
10043 * xfns.c: Remove obsolete code in #if 0.
10044 (Fx_focus_frame): New function.
10045
a735b7e1
KH
100462000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10047
10048 * coding.c (coding_category_name): Add coding-category-utf-8,
10049 coding-category-utf-16-be, coding-category-utf-16-le.
10050 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
10051 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
10052 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
10053 (detect_coding_utf_8): New function.
10054 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
10055 UTF_16_LOW_SURROGATE_P): New macros.
10056 (detect_coding_utf_16): New function
10057 (detect_coding_mask): When priorities are specified, skip any
10058 categories that have `nil' coding-system. Fix bug of returning
10059 wrong mask when PRIORITIES is specified and detect_coding_XXX()
10060 returns a mask not set in PRIORITIES.
10061 (detect_eol_type_in_2_octet_form): New function.
10062 (detect_eol): selects detect_eol_type_XXX to call according to
10063 cooding->category_idx.
10064 (detect_coding_system): Remove `nil' coding-system in the result.
10065 (Fupdate_coding_systems_internal): Update all coding-categories.
10066
10067 * coding.h (CODING_CATEGORY_IDX_UTF_8,
10068 CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE): New
10069 macros.
10070 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY,
10071 CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
10072 CODING_CATEGORY_IDX_UTF_16_LE.
10073 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE,
10074 CODING_CATEGORY_MASK_UTF_16_LE): New macros.
10075 (CODING_CATEGORY_MASK_ANY): Include the above macros.
10076 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
10077
9994cc69
GM
100782000-03-07 Gerd Moellmann <gerd@gnu.org>
10079
e9b4e5ff
GM
10080 * doc.c (Fdocumentation_property): If value is not a string,
10081 and doesn't refer to etc/DOC, evaluate it to obtain a string.
10082
f7daf1e1
GM
10083 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
10084 close the display with XtCloseDisplay. This caused a bus error
10085 on OpenWindows.
10086
9994cc69
GM
10087 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
10088 complete but not unique.
10089
4336c705
GM
100902000-03-06 Gerd Moellmann <gerd@gnu.org>
10091
18bb0684
GM
10092 * process.c (send_process): Remove local variable `procname' that
10093 might become invalid when a GC happens. Instead, access the
10094 process name slot directly.
10095
4336c705
GM
10096 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
10097 orig_height if set.
10098
10099 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
10100 orig_height if set.
10101
515d0d0e
EZ
101022000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
10103
10104 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
10105 glyph matrices have been freed.
10106
100b3cbb
GM
101072000-03-05 Gerd Moellmann <gerd@gnu.org>
10108
50df5e5a 10109 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 10110 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
10111
10112 * xfns.c (QCdata): Moved to xdisp.c.
10113
10114 * xdisp.c (QCdata): Moved here from xfns.c.
10115 (syms_of_xdisp): Initialize QCdata.
10116
10117 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
10118
10119 * window.c (coordinates_in_window): Use
10120 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
10121 FRAME_INTERNAL_BORDER_WIDTH.
10122
100b3cbb 10123 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 10124 it is obviously invalid.
100b3cbb
GM
10125
10126 * xterm.c (x_term_init): Create a colormap if not using the
10127 default visual.
10128
10129 * xterm.h (select_visual): Change prototype.
10130
10131 * xfns.c (select_visual): Rewritten. Recognize user-specified
10132 visual classes.
10133 (visual_classes): New variable.
10134
64d739c4
GM
101352000-03-04 Gerd Moellmann <gerd@gnu.org>
10136
10137 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
10138 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
10139 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
10140 (x_decode_color): Don't handle allocation of white and black
10141 specially.
10142 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
10143 XtNcolormap resources.
10144 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
10145 (Fx_create_frame): Initialize color members of x_output structure.
10146 (xpm_load): Pass colormap to XPM lib.
10147
10148 * xfaces.c (x_free_colors): Access colormap of frame using
10149 FRAME_X_COLORMAP. Be paranoid about freeing black and white
10150 when default colormap is used.
10151
10152 * xterm.c (x_term_init): Set Colormap member of x_display_info
10153 structure. Copy colormap if resource `privateColormap' is
10154 specified (PseudoColor only).
10155 (x_setup_relief_color): Access colormap of frame using
10156 FRAME_X_COLORMAP.
10157
10158 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
10159 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
10160
c3cee013
JR
101612000-03-04 Jason Rumney <jasonr@gnu.org>
10162
10163 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
10164 other non-platform-specific equivalents.
64d739c4 10165 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
10166 specific functions and macros as their w32 equivalents where
10167 non-platform-specifics are not available.
10168 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
10169 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
10170 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
10171 (frame_update_line_height): Use macros to access f->output_data.
10172 (defined_color): Remove FIXME comments; fixed.
10173 (x_face_list_fonts, prepare_face_for_display): Put X specifics
10174 into #ifdef blocks. Add WINDOWSNT blocks.
10175 (Fx_list_fonts): Use macros for accessing font data.
10176 (set_lface_from_font_name): Different default fonts for X and
10177 WINDOWSNT.
10178 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
10179 scalable for backward compatibility.
64d739c4 10180 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
10181 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
10182
64d739c4 10183 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
10184 syms_of_w32faces.
10185
10186 * makefile.nt (w32faces.obj): Remove.
10187 (xfaces.obj): Add.
10188
807cc41c
JR
101892000-03-03 Jason Rumney <jasonr@gnu.org>
10190
10191 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
10192 correct parameters.
10193
0007072a
KR
101942000-03-03 Ken Raeburn <raeburn@gnu.org>
10195
10196 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
10197 standard ELF definitions here if the system header does not.
10198
71a6ba55
GM
101992000-03-03 Gerd Moellmann <gerd@gnu.org>
10200
10201 * xterm.c (PER_CHAR_METRIC): Removed.
10202 (x_per_char_metric_1, x_default_char): New functions.
10203 (x_per_char_metric): If font's default char is invalid, return
10204 metrics of a suitably chosen usable default char.
10205 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
10206 char, replace occurrences of unprintable chars with a suitably
10207 chosen usable default char.
71a6ba55 10208
900fa1f1
GM
102092000-03-02 Gerd Moellmann <gerd@gnu.org>
10210
42f55fe0
GM
10211 * xterm.c (note_mouse_highlight): Return quickly if frame's
10212 glyph matrices have been freed.
10213
10214 * dispnew.c (free_glyphs): Block input while freeing matrices.
10215
900fa1f1
GM
10216 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
10217
10218 * xterm.c (x_alloc_lighter_color, x_setup_relief_color): Use
10219 x_free_colors.
10220
10221 * dispextern.h (x_free_colors): Add prototype.
10222
10223 * xfaces.c (x_free_colors): New function.
10224 (unload_color, free_face_colors): Use it.
10225
2f950292
EZ
102262000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
10227
10228 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
10229
10230 * window.c [MSDOS]: Include msdos.h.
10231
54d04320
DL
102322000-03-02 Dave Love <fx@gnu.org>
10233
10234 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
10235
10236 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
10237 set C_OPTIMIZE_SWITCH for gcc.
10238
0ba93ac4
KH
102392000-03-02 Kenichi Handa <handa@etl.go.jp>
10240
10241 * coding.c (coding_save_composition): Be sure to allocate
10242 composition data area in coding even if there's no composition in
10243 the current run.
10244
a2bc11d4
JR
102452000-03-01 Jason Rumney <jasonr@gnu.org>
10246
10247 * w32term.c: Equivalent changes to those made to xterm.c on
10248 2000-02-25 and 2000-02-24.
10249
10250 * w32fns.c: Equivalent changes to those made to xfns.c on
10251 2000-02-25 and 2000-02-21.
10252
10253 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
10254 correct line-end convention is followed.
10255
10256 * w32menu.c [HAVE_BOXES]: Remove #undef.
10257 (single_keymap_panes): Remove code for simulating checkmarks.
10258 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
10259 Remove code for drawing simulated checkmarks.
10260 (w32_menu_show): make unibyte help string correctly.
10261 (add_menu_item): draw standard Windows checkmarks. Draw radio
10262 buttons as radio buttons if possible.
10263
72d19d75
GM
102642000-03-01 Gerd Moellmann <gerd@gnu.org>
10265
2df636f4
GM
10266 * sysdep.c (start_of_text): Don't define this function for NetBSD
10267 with ELF.
10268
427ec082 10269 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
10270 Don't define.
10271 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
10272 (LINKER): Don't undef if __NetBSD__ is defined.
10273
10274 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
10275
10276 * fileio.c [__NetBSD__]: Define `unix'.
10277
72d19d75
GM
10278 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
10279
ed4d0512
GM
102802000-02-29 Gerd Moellmann <gerd@gnu.org>
10281
50b1039f
GM
10282 * atimer.c (start_atimer): Don't abort when timers are stopped.
10283 (append_atimer_lists): New function.
10284 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
10285 arbitrary lists of stopped and running atimers.
10286
ed4d0512
GM
10287 * atimer.c (cancel_atimer): Handle canceling an atimer when
10288 some timers are stopped.
10289
10290 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
10291 after canceling it.
10292
10293 * fns.c (maybe_resize_hash_table): Handle case of new size
10294 coming out as being the same as old size.
10295
387023ee
JR
102962000-02-27 Jason Rumney <jasonr@gnu.org>
10297
10298 * makefile.nt: Add atimer.h to dependencies.
10299 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
10300 * w32console.c: Only disable window system features for dispextern.h
10301 (initialize_w32_display): Build a display info for the console.
10302 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
10303 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
10304 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
10305 as 2 button mice.
10306 * w32gui.h (struct W32FontStruct): Revert last change after change
10307 to xdisp.c.
10308 * w32menu.c (single_submenu): Set up help string.
10309 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
10310 (w32_dialog_show): Set up help string.
10311 * w32term.c (w32_display_info_for_display): Remove unused function.
10312 (w32_draw_bitmap): Use pre-built bitmaps.
10313 (w32_initialize_display_info): New function to initialize parts of
10314 display info that are common to both GUI and console frames.
10315 (w32_term_init): Use w32_initialize_display_info. Do not set
10316 Vw32_num_mouse_buttons here, as it is not called for console
10317 frames. Build bitmaps for indicating truncated lines etc.
10318 (x_delete_display): Destroy pre-built bitmaps.
10319 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
10320 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
10321
4516715a
DL
103222000-02-27 Dave Love <fx@gnu.org>
10323
10324 * lisp.h: Add a bunch of prototypes.
10325
171ca836
KH
103262000-02-26 Kenichi Handa <handa@etl.go.jp>
10327
10328 * keyboard.c (read_char): Set `usec' correctly.
10329
4013921d
KH
103302000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10331
10332 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
10333 `lambda', set reg[RRR] to the map index.
10334 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
10335 reg[RRR] to 0. Otherwise, set it to -1.
10336
9244a058
GM
103372000-02-25 Gerd Moellmann <gerd@gnu.org>
10338
2df636f4 10339 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 10340
18e21ce8 103412000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 10342
f43d79c1
GM
10343 * fileio.c (Ffile_symlink_p): If result starts with a `/'
10344 and contains a `:', prepend `/:'.
10345
10346 * window.c (select_window_1): If selected_window is nil,
10347 don't "swap out" the buffer's point.
10348 (Fset_window_configuration): Set selected_window to nil
10349 before calling Fselect_window.
10350 (unshow_buffer): Don't set point in buffer from window's point
10351 if another more recently selected window also shows the buffer.
10352
bed0c171
GM
103532000-02-25 Gerd Moellmann <gerd@gnu.org>
10354
449c3c52
GM
10355 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
10356
f5b58615
GM
10357 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
10358 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
10359 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay): New
10360 variables.
10361 (DEFAULT_BUSY_CURSOR_DELAY): New define.
10362 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
10363 (hide_busy_cursor): New functions.
10364 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
10365
10366 * minibuf.c (read_minibuf): Cancel busy-cursor.
10367
10368 * keyboard.c (command_loop_1): Call start_busy_cursor before
10369 Fcommand_execute and cancel_busy_cursor after it.
10370 (timer_check): Remove busy-cursor code.
10371 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
10372 cursor timer.
10373
10374 * process.c (wait_reading_process_input): Remove busy-cursor code.
10375
10376 * eval.c (Fsignal): Call cancel_busy_cursor instead of
10377 Fx_hide_busy_cursor.
10378
10379 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
10380 Remove prototyoes.
10381 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
10382
10383 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
10384
10385 * xterm.c (XTread_socket): Remove busy-cursor code.
10386
4eb8436f
GM
10387 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
10388 (build_frame_matrix_from_leaf_window): Put code handling
10389 glyph row's not being a slice of a frame row in #if 0.
10390 (sync_window_with_frame_matrix_rows): New function.
10391 (frame_row_to_window): New function.
10392 (mirror_line_dance): Handle copies between windows.
10393
3cb65b0e
GM
10394 * lread.c (Fload): Use `xfree' instead of `free'.
10395 (init_obarray): Use `xmalloc' instead of `malloc'.
10396
bed0c171
GM
10397 * window.c (Fset_window_buffer): Set WINDOW to the window
10398 after decoding.
2add4349
GM
10399 (coordinates_in_window): Take frame's internal border width
10400 into account.
bed0c171 10401
42088c12
GM
104022000-02-24 Gerd Moellmann <gerd@gnu.org>
10403
10404 * xterm.c (x_display_and_set_cursor): Display cursor of
10405 non-selected windows depending on the setting of
10406 cursor_in_non_selected_windows.
10407
10408 * xdisp.c (cursor_in_non_selected_windows): New variable.
10409 (syms_of_xdisp): DEFVAR_BOOL it.
10410
d1e103b2
GM
104112000-02-23 Gerd Moellmann <gerd@gnu.org>
10412
723e779c
GM
10413 * data.c (Fstring_to_number): If number is greater than what
10414 fits into an integer, return a float.
10415
d1e103b2
GM
10416 * eval.c (specbind): Remove references to
10417 keyword_symbols_constant_flag.
10418
10419 * data.c (keyword_symbols_constant_flag): Removed.
10420 (Fmakunbound, set_internal, syms_of_data): Remove references to
10421 keyword_symbols_constant_flag.
10422
10423 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
10424
214f877f
KH
104252000-02-23 Kenichi Handa <handa@etl.go.jp>
10426
10427 * syntax.c (multibyte_syntax_as_symbol): New variable.
10428 (syms_of_syntax): Declare it as a Lisp variable.
10429 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
10430 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
10431 nonzero, treat all multibyte characters as symbol.
42088c12 10432 (init_syntax_once): Give syntax `word' to all multibyte
214f877f
KH
10433 characters.
10434
130adcb7
EZ
104352000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
10436
3cb65b0e 10437 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 10438 a deleted frame.
130adcb7 10439
17cbbf95
GM
104402000-02-21 Gerd Moellmann <gerd@gnu.org>
10441
10442 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
10443
10444 * xfns.c (x_window_to_frame, x_any_window_to_frame)
10445 (x_non_menubar_window_to_frame): Check the busy-cursor window.
10446
beb0bc36
DL
104472000-02-21 Dave Love <fx@gnu.org>
10448
10449 * frame.c (Vmouse_position_function): New variable.
10450 (Fmouse_position): Use it.
10451 (syms_of_frame): Install it.
10452
10453 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
10454
1d92afcd
GM
104552000-02-20 Gerd Moellmann <gerd@gnu.org>
10456
10457 * fileio.c (Finsert_file_contents): Unbind the binding of
10458 standard-output done by temp_output_buffer_setup.
329eed9f
GM
10459
10460 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
10461 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
10462 (specbind, unbind_to): Handle most common case of non-constant
10463 symbol with trivial value specially.
10464
10465 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
10466
18e21ce8 104672000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
10468
10469 * data.c (Fmake_variable_buffer_local): Doc fix.
10470 Init found_for_buffer to 0.
10471 (Fmake_variable_frame_local): If the variable has already
10472 been buffer-local, set the check_frame field.
10473
1d4311c3
EZ
104742000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
10475
10476 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
10477 produced for CODING_MODE_LAST_BLOCK requires.
10478
2dc95ddd
DL
104792000-02-18 Dave Love <fx@gnu.org>
10480
10481 * keyboard.c (echo_keystrokes): Remove declaration.
10482 (Vecho_keystrokes) New variable.
10483 (read_char, record_menu_key, read_key_sequence): Use it to allow
10484 use of float value.
10485 (syms_of_keyboard): Change Vecho_keystrokes declaration.
10486
10487 * lread.c: Undef feature selection macros before defining.
10488
f0930f35
GM
104892000-02-18 Gerd Moellmann <gerd@gnu.org>
10490
10491 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
10492 for symbols other than the symbol in question.
10493
e3d4de90
DL
104942000-02-17 Dave Love <fx@gnu.org>
10495
10496 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
10497
0b378936
GM
104982000-02-17 Gerd Moellmann <gerd@gnu.org>
10499
d621caf7
GM
10500 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
10501
0b378936
GM
10502 * alloc.c (enum mem_type): Compile unconditionally.
10503
3b451f74
EZ
105042000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
10505
10506 * xfaces.c (tty_defined_color): Don't return faulire indication
10507 for unspecified-fg and unspecified-bg pseudo-colors.
10508
10689a01
GM
105092000-02-17 Gerd Moellmann <gerd@gnu.org>
10510
1216f5e4
GM
10511 * alloc.c (mark_object): Don't mark symbol names in pure space.
10512 (gc_sweep): Don't unmark symbol names in pure space.
10513
10514 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
10515 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
10516 [GC_MARK_STACK]: New defines.
427ec082 10517 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
10518 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
10519
10520 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
10521
10522 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
10523 allocate_buffer instead of xmalloc.
10524
10525 * alloc.c (toplevel): Include setjmp.h.
10526 (PURE_POINTER_P): New define.
10527 (enum mem_type) [GC_MARK_STACK]: New enumeration.
10528 (Vdead) [GC_MARK_STACK]: New variable.
10529 (lisp_malloc): Add parameter TYPE, call mem_insert if
10530 GC_MARK_STACK is defined.
10531 (allocate_buffer): New function.
427ec082 10532 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
10533 (free_float) [GC_MARK_STACK]: Set type to Vdead.
10534 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
10535 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
10536 (MEM_NIL) [GC_MARK_STACK]: New define.
10537 (struct mem_node) [GC_MARK_STACK]: New structure.
10538 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
10539 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
10540 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
10541 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
10542 (mark_stack) [GC_MARK_STACK]: New functions.
10543 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
10544 (clear_marks): Removed.
10545 (gc_sweep): Set free conses' car, free floats' type, free
10546 symbols' function to Vdead. Use lisp_free to free buffers.
10547 (init_alloc_once): Initialize Vdead.
10548 (survives_gc_p): Return non-zero for pure objects.
10549
10550 * alloc.c: Add comments throughout the file.
10551
2503c8b1
GM
10552 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
10553 that unblocks alarms.
10554
8389e1e2
GM
10555 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
10556 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
10557 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
10558
10689a01 10559 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 10560
bfc17d18
KH
105612000-02-17 Kenichi Handa <handa@etl.go.jp>
10562
4a09dee0
KH
10563 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
10564 avoid infinite error signaling. Allocate sufficient memory for
10565 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 10566
2b927d02
SM
105672000-02-17 Stefan Monnier <monnier@cs.yale.edu>
10568
10569 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
10570 depends on the previous behavior.
10571
b49cb764
GM
105722000-02-16 Gerd Moellmann <gerd@gnu.org>
10573
10574 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
10575
99e95407
GM
105762000-02-15 Gerd Moellmann <gerd@gnu.org>
10577
10578 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
10579
10580 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 10581 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
10582 write(2).
10583
6ffd3cf7
RS
105842000-02-15 Richard M. Stallman <rms@gnu.org>
10585
10586 * data.c (set_internal): Don't make variable buffer-local
10587 if within a let-binding for the same buffer.
10588 (let_shadows_buffer_binding_p): New function.
10589
10590 * eval.c (specbind): For buffer-local value,
10591 record the current buffer also.
10592 (unbind_to): Cope with that change.
10593
cad53475
GM
105942000-02-15 Gerd Moellmann <gerd@gnu.org>
10595
10596 * window.c (Fsave_window_excursion): Doc fix.
10597
1aa963c8
SM
105982000-02-15 Stefan Monnier <monnier@cs.yale.edu>
10599
10600 * syntax.c (back_comment): Make sure we only consider comment-starters
10601 of the relevant style and return -1 in case of a failure to find the
10602 beginning of the comment.
10603 (Fforward_comment): If back_comment fails, go back to the position just
10604 after the comment-end.
10605 (scan_lists): Add comment describing a very minor bug.
10606
b9b84fd3
SM
106072000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10608
10609 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
10610 `completion-regexp-list' in the docstring.
10611
3a28db80
DL
106122000-02-14 Dave Love <fx@gnu.org>
10613
10614 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
10615
fb4a568d
SM
106162000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10617
10618 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
10619 to Emacs' syntax. Also fix the comment about set/not-set meanings
10620 since Emacs syntax is not the value 0 any more.
10621 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
10622 since it's now part of RE_SYNTAX_EMACS.
10623
1063ebb5
DL
106242000-02-12 Dave Love <fx@gnu.org>
10625
10626 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on
10627 Alpha.
10628
fb07a302
GM
106292000-02-12 Gerd Moellmann <gerd@gnu.org>
10630
10631 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
10632
aaf2320c
DL
106332000-02-12 Dave Love <fx@gnu.org>
10634
10635 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
10636
10637 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
10638 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
10639 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
10640
10641 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
10642
10643 * s/nextstep.h: Don't define HAVE_ALLOCA.
10644
10645 * config.in: Add vfork bits.
10646
eedf8bde
GM
106472000-02-12 Gerd Moellmann <gerd@gnu.org>
10648
10649 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
10650 unwind function to undo the effect of stopping atimers.
10651
10652 * keyboard.c (bind_polling_period): Stop all timers except
10653 poll_timer.
10654
10655 * atimer.c (stopped_atimers): New variable.
10656 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
10657 New functions.
10658
10659 * atimer.h (stop_other_atimers, run_all_atimers)
10660 (unwind_stop_other_atimers): Add function prototypes.
427ec082 10661
eedf8bde
GM
10662 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
10663
8476c2f8
KR
106642000-02-11 Ken Raeburn <raeburn@gnu.org>
10665
10666 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
10667 library may depend on jpeg.
10668 (atimer.o): Depends on atimer.c.
10669
0e85e4a3
KH
106702000-02-11 Kenichi Handa <handa@etl.go.jp>
10671
10672 * insdel.c (del_range_1): Call update_compositions.
10673 (del_range_both): Call update_compositions just once..
10674
97fa0cc8
DL
106752000-02-10 Dave Love <fx@gnu.org>
10676
10677 * xfns.c (create_frame_xic): Fix initialization of automatic
10678 aggregates for pcc.
10679
25566a3c
KH
106802000-02-09 Kenichi Handa <handa@etl.go.jp>
10681
10682 * ccl.c (CCL_MAKE_CHAR): New macro.
10683 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
10684 registers by CCL_MAKE_CHAR before calling translate_char.
10685 <CCL_TranslateCharacterConstTbl> Likewise.
10686
69da54ba
DL
106872000-02-08 Dave Love <fx@gnu.org>
10688
10689 * lread.c (__EXTENSIONS__): Define.
10690
f7136ee8
GM
106912000-02-08 Gerd Moellmann <gerd@gnu.org>
10692
10693 * puresize.h (BASE_PURESIZE): Increase to 650000.
10694
7768790b
EZ
106952000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10696
10697 * msdos.c (XMenuActivate): Turn off the cursor after displaying
10698 the help message.
10699
38fd211b
EZ
107002000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10701
10702 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
10703 md, mh, mb, mr, and me to the fake termcap entry.
10704
66e4690f
KR
107052000-02-06 Ken Raeburn <raeburn@gnu.org>
10706
10707 * sound.c (sound_cleanup): Don't call device close routine if the
10708 function pointer is null.
10709
a75dfea0
AI
107102000-02-06 Andrew Innes <andrewi@gnu.org>
10711
10712 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
10713 around image definitions and prototypes.
10714 (gamma_correct) [WINDOWSNT]: New prototype.
10715
10716 * w32term.c (x_make_frame_visible): Replace call to
10717 input_poll_signal with poll_for_input.
10718
10719 * window.c [WINDOWSNT]: Include w32term.h.
10720
10721 * xdisp.c [WINDOWSNT]: Include w32term.h.
10722
10723 * makefile.nt: Add dependencies on w32gui.h.
10724 (OBJ1): Include atimer.obj.
10725 ($(BLD)\atimer.obj): New dependency rule.
10726
10727 * w32.c (sigmask): New function (does nothing).
10728 (sigunblock): Ditto.
10729
10730 * frame.c [WINDOWSNT]: Include w32term.h.
10731
10732 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
10733
10734 * lread.c (syms_of_lread): Fix literal newlines.
10735
10736 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
10737 the string constant limit (2048 bytes) in MSVC.
10738 (main): Ditto.
10739
59ddecde
GM
107402000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
10741
10742 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit
10743 area.
10744 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
10745 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
10746 dispatch the event.
10747
07590973
DL
107482000-02-04 Dave Love <fx@gnu.org>
10749
10750 * fileio.c: Remove some unused vars.
10751 (_GNU_SOURCE): Define (for euidaccess).
10752
10753 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
10754
10755 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
10756 gcpro1, gcpro2.
10757 (read_minibuf): Deal with allow_props correctly.
10758
649351f9
EZ
107592000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
10760
10761 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
10762
66e4690f 107632000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
10764
10765 * search.c (compile_pattern): If a cache entry has a nil regexp,
10766 fill in that entry instead of clobbering a previously cached
10767 string regexp.
10768
66e4690f 107692000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
10770
10771 * puresize.h (BASE_PURESIZE): Increase to 610000.
10772
d240a249
GM
107732000-02-02 Gerd Moellmann <gerd@gnu.org>
10774
10775 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
10776 can GC.
10777
ca91fb26
KH
107782000-02-02 Kenichi Handa <handa@etl.go.jp>
10779
25660570
KH
10780 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
10781 instead of incrementing ic directly.
10782 <CCL_WriteExprConst> Likewise.
10783 <ccl_set_expr>: Set ic to jump_address.
10784
ca91fb26
KH
10785 * fileio.c (e_write): Fix the handling of
10786 CODING_FINISH_INSUFFICIENT_SRC.
10787
2ede9689
DL
107882000-02-01 Dave Love <fx@gnu.org>
10789
10790 * editfns.c (Fpropertize): Doc fix.
10791
10792 * process.c (Fstart_process): Doc fix.
10793
10794 * eval.c: Fix various doc strings not to duplicate information
10795 from help-manyarg-func-alist.
10796
10797 * window.c (Fset_window_margins): Don't make interactive. Doc
10798 fix.
10799
10800 * doc.c (Vhelp_manyarg_func_alist): New variable.
10801 (Fdocumentation): Use it.
10802 (syms_of_doc): Define it.
10803
b6680a0e
GM
108042000-01-31 Gerd Moellmann <gerd@gnu.org>
10805
2cb750ba
GM
10806 * xterm.c (xim_open_dpy): Remove unused local variable.
10807
74e9213b
GM
10808 * emacs.c (USAGE): Use term `display options' instead of `X
10809 options'.
10810
10811 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
10812 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
10813
b6680a0e
GM
10814 * fns.c (sweep_weak_table): New function.
10815 (sweep_weak_hash_tables): Use it. Keep on marking until there
10816 is no more change.
10817
994c5afe
GM
108182000-01-30 Gerd Moellmann <gerd@gnu.org>
10819
10820 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
10821 that XTread_socket does not crash by trying to call XNoOp on a
10822 closed display.
427ec082 10823
f00276e3
JR
108242000-01-30 Jason Rumney <jasonr@gnu.org>
10825
10826 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
10827 Change selected_frame to SELECTED_FRAME ().
10828 (w32_console_mouse_position): Remove #ifndef MULE from around
10829 `insist' parameter.
10830
10831 * makefile.nt: Remove dosfns.obj.
10832
10833 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
10834
10835 * w32fns.c (w32_defined_color): Check for valid frame before
10836 applying gamma correction. Eliminate dependency on frame elsewhere.
10837 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
10838 (w32_to_x_font): Use resx and resy not height_in and width_in.
10839 (x_to_w32_font): Doc fix.
10840 (xlfd_strip_height): New function to strip and return font height.
10841 (w32_font_match): Compare height separately from rest of xlfd
10842 spec, using xlfd_strip_height.
10843
10844 * w32term.c (w32_term_init): Swap resx and height_in, resy and
10845 width_in. Use w32_defined_color in place of defined_color.
10846
10847 * w32faces.c: Merge more of DOS and X specifics in preparation for
10848 merge with xfaces.c.
10849 (defined_color): Remove FIXME comment.
10850 (tty_color_name): Provide w32-specific function.
10851 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
10852
10853 * w32console.c (turn_on_face, turn_off_face): Removed.
10854 (w32_face_attributes): New function.
10855 (Global_variables): Reduce scope where possible.
10856 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
10857 fill attribute.
10858 (hl_mode): Don't modify text attributes.
10859 (write_glyphs): Don't do anything if len <= 0. Use
10860 w32_face_attributes to get attributes for drawing. Write
10861 terminating codes using char_attr_normal.
10862 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
10863 (update_begin, update_end): Likewise.
10864 (vga_stdcolor_name): New function.
10865 (initialize_w32_display): Remove char_attr_reverse and char_attr.
10866 (Fset_screen_color): Remove char_attr_reverse.
10867
b08e8bb2
GM
108682000-01-29 Gerd Moellmann <gerd@gnu.org>
10869
10870 * xfns.c (xic_set_preeditarea): Take window parameter and
10871 window-relative pixel-positions.
10872
10873 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
10874 is its frame's selected window.
10875 (xim_instantiate_callback): Likewise.
10876
10877 * xfns.c (x_create_im): Removed.
10878 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
10879 (supported_xim_styles): Renamed from supported_styles.
10880 (best_xim_style): Renamed from best_style.
10881 (create_frame_xic): Renamed from xic_create_frame.
10882 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 10883
b08e8bb2
GM
108842000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
10885
10886 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
10887 our frames, call XFilterEvent with 2nd parameter `None'.
10888 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
10889 returning XBufferOverflow.
10890 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status
10891 area.
10892 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
10893 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
10894 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
10895 (xim_initialize, xim_close)
10896 [HAVE_X_I18N && HAVE_X11R6]: New functions.
10897 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
10898 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
10899 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
10900
10901 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
10902 and `xim_styles'.
10903 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
10904 `xic_style' and `xic_xfs'.
10905 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
10906 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
10907 (FRAME_XIM): Removed.
10908
10909 * xfns.c (supported_styles): New variable.
10910 (DEFAULT_STYLE, DEFAULT_FONT): New macros
10911 (xic_create_xfontset, best_style, xic_create_frame)
10912 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
10913 (xic_set_xfontset): New functions.
10914
142e109c
DL
109152000-01-28 Dave Love <fx@gnu.org>
10916
10917 * s/irix6-5.h: Revert last change after change to irix5-0.h.
10918
10919 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
10920
b02786f9
GM
109212000-01-28 Gerd Moellmann <gerd@gnu.org>
10922
d060bc9f
GM
10923 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
10924 for *scratch* if it already existed.
10925
b02786f9
GM
10926 * emacs.c (USAGE): New macro.
10927 (main): Use it to display usage information.
10928
2c52d7e4
EZ
109292000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
10930
10931 Support for the menu-help feature:
10932
10933 * msdos.h: Change prototypes of XMenuAddSelection and
10934 XMenuActivate.
10935
10936 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
10937 part of the line to the termscript file.
10938 (IT_clear_to_end): Clear the entire line, not just its beginning.
10939 (menu_help_message, prev_menu_help_message): New variables.
10940 (IT_menu_make_room): Make room for the help_text member.
10941 (IT_menu_display): New argument disp_help; all callers changed.
10942 If disp_help is non-zero, store the help text of the active menu
10943 item in menu_help_message.
10944 (XMenuAddPane): Initialize the help_text member to NULL.
10945 (XMenuAddSelection): New argument help_text. Store it in the
10946 XMenu structure.
10947 (XMenuActivate): New argument help_callback. If the value of
10948 menu_help_message has changed since the last time, display the
10949 menu help message text while waiting for the mouse to move. Clear
10950 the echo area before exiting.
10951 (XMenuDestroy): Free the help_text member.
10952
ffe0bcd1
GM
109532000-01-27 Gerd Moellmann <gerd@gnu.org>
10954
10955 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
10956 XMenuAddSelection. Pass help callback to XMenuActivate.
10957 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
10958
50dbd23f
EZ
109592000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
10960
10961 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
10962 and EMACS_SET_USECS.
10963
f5941bf8
GM
109642000-01-26 Dave Love <fx@gnu.org>
10965
6c67ddee
DL
10966 * editfns.c (Fchar_after, Fchar_before): Doc fix.
10967
f5941bf8
GM
10968 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
10969 an error may be signalled.
10970
9e49c990
GM
109712000-01-26 Gerd Moellmann <gerd@gnu.org>
10972
fc3cb460
GM
10973 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
10974 LD_SWITCH_SYSTEM inherited from irix5-0.h.
10975
9e49c990
GM
10976 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
10977
d0c037d8
GM
109782000-01-25 Gerd Moellmann <gerd@gnu.org>
10979
10980 * charset.c (Fstring): If there is a multibyte char among
10981 the args, always return a multibyte string.
10982
e12489f9
GM
109832000-01-25 Gerd Moellmann <gerd@gnu.org>
10984
10985 * sysdep.c (sys_select): Turn atimers off and on instead of
10986 recording and restoring old alarm handler
10987
10988 * process.c (toplevel): Include atimer.h.
10989 (create_process_1): Rewritten.
10990 (create_process): Use atimers instead of alarm.
10991 (wait_reading_process_input) [hpux]: Turn atimers off instead
10992 of turning off SIGALRM.
10993 (wait_reading_process_input): Turn off atimers instead off
10994 calling stop_polling.
10995
10996 * emacs.c (main): Call init_atimer.
10997
10998 * keyboard.c (toplevel): Include systime.h and atimer.h.
10999 (polling_for_input): Removed because unused.
11000 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
11001 (poll_timer): New variable.
11002 (poll_for_input, poll_for_input_1): New functions.
11003 (start_polling, stop_polling): Rewritten.
11004
11005 * keyboard.h (polling_for_input): Removed.
427ec082 11006
e12489f9
GM
11007 * atimer.h, atimer.c: New files.
11008
11009 * Makefile.in (obj): Add atimer.o.
11010 (atimer.o): New target.
11011
11012 * blockinput.h (pending_atimers): Add extern declaration.
11013 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
11014
11015 * lisp.h (popup_activated_flag): Add extern declaration.
11016
11017 * xmenu.c (popup_activated_flag): Make externally visible.
11018 (popup_activate_callback) [USE_MOTIF]: Increment
11019 popup_activated_flag.
11020 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
11021
11022 * xterm.c (toplevel): Include atimer.h.
11023 (toolkit_scroll_bar_interaction): New variable.
11024 (Fxt_process_timeouts): Removed.
11025 (x_process_timeouts): New function.
11026 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
11027 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
11028 (x_make_frame_visible): Call poll_for_input_1 instead of
11029 input_poll_signal. Don't call alarm.
11030 (x_initialize): Install timer calling x_process_timeouts.
427ec082 11031
1e5279b9
DL
110322000-01-24 Dave Love <fx@gnu.org>
11033
6c67ddee 11034 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
11035 Don't use -cckr -- apparently not now necessary.
11036
edf6aeb8
EZ
110372000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
11038
11039 * msdos.c (IT_menu_display): Truncate long menu lines at the right
11040 screen boundary.
11041
9badad41
JR
110422000-01-23 Jason Rumney <jasonr@gnu.org>
11043
11044 * w32fns.c (w32_defined_color): Apply gamma correction before
11045 trying to map to the palette.
11046 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
11047 to w32_clear_rect.
11048
11049 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
11050 here. Callers changed to always pass real device context.
11051 (w32_draw_bitmap): Likewise.
11052 (w32_get_glyph_overhangs): Likewise.
11053 (w32_draw_box_rect): Make use of s->hdc rather than getting a new
11054 one.
11055 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
11056 pfnSetScrollInfo and SetScrollRange.
11057 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
11058 back into MULE characters after decoding them.
11059 (x_get_glyph_face_and_encoding): Likewise.
11060 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
11061 GetCharABCWidthsW fails, since this is defined on Windows 9x.
11062 (x_produce_glyphs): Calculate per char metrics for a character
11063 that we know exists in default font when font_not_found_p is true.
11064
63bd786b
JR
110652000-01-22 Jason Rumney <jasonr@gnu.org>
11066
11067 * makefile.nt (intervals.obj, composite.obj): New modules.
11068 (composite.h): Added as dependency where appropriate.
11069
11070 * w32gui.h (XGCValue): New struct for emulating X GCs.
11071
11072 * w32term.h (XCharStruct): New struct for emulating X.
11073
11074 * w32console.c (turn_on_face, turn_off_face): New functions.
11075 (change_line_highlight): New prototype for new redisplay.
11076 (write_glyphs): Support multibyte text. Support faces.
11077
11078 * w32faces.c: Complete rewrite for new redisplay based on new
11079 xfaces.c.
11080
11081 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
11082 throughout. struct frame * in place of FRAME_PTR.
11083 Skeleton support for images, toolbars, tooltips from xfns.c.
11084 (Fx_create_frame): Use system default for default scroll bar
11085 width.
11086 (w32_get_arg): Renamed from x_get_arg.
11087 (Fx_file_dialog): New function.
11088 (w32_list_fonts): Check cache before asking system.
11089 (Vw32_enable_synthesized_fonts): New variable.
11090 (Vw32_enable_italics): Obsolete, removed.
11091
11092 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
11093 Use SELECTED_FRAME macro.
11094
11095 * w32menu.c: Add skeleton support for help strings on menus.
11096 (add_menu_item): Native checkbox and radio support added, but not
11097 yet enabled due to bugs.
11098 (push_menu_item): Add parameters type, selection and help.
11099 Callers updated.
11100 Formatting changes to reduce unnecessary diffs with xmenu.c.
11101
11102 * w32select.c (Fw32_set_clipboard_data): Update call to
11103 find_charset_in_str.
11104
11105 * w32term.c: Complete rewrite for new redisplay based on new
11106 xterm.c with necessary sections merged back in from old w32term.c.
11107
6ffd3cf7 111082000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
11109
11110 * data.c (set_internal): Further fix in same criterion.
11111
6ffd3cf7 111122000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
11113
11114 * data.c (set_internal): Fix the criteria for whether
11115 to swap out the old cached binding.
11116
60af03f1
DL
111172000-01-19 Dave Love <fx@gnu.org>
11118
11119 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
11120
f9be074f
KH
111212000-01-18 Kenichi Handa <handa@etl.go.jp>
11122
11123 * regex.c (re_compile_fastmap): While checking a range table for
11124 `charset', skip flag bits for a character class correctly.
11125
52b8dbf9
GM
111262000-01-17 Gerd Moellmann <gerd@gnu.org>
11127
d36100c9
GM
11128 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
11129
52b8dbf9
GM
11130 * xfns.c (x_window): Call lw_create_widget with new parameter
11131 list.
11132
11133 * widget.c (EmacsFrameSetCharSize): Change size of children first
11134 because of problems with main window geometry management under
11135 Lesstif.
11136
11137 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
11138 MENU_ITEMS_ITEM_.*.
11139 (MENU_ITEMS_ITEM_HELP): New enumerator.
11140 (push_menu_item): Add parameter HELP. Record help in menu_items.
11141 (single_menu_item, single_submenu, list_of_items): Call
11142 push_menu_item with new parameter.
11143 (single_submenu): Set help string in widget value.
11144 (menu_highlight_callback): New function.
11145 (set_frame_menubar): Call lw_create_widget with new
11146 parameter list.
11147 (xmenu_show, xdialog_show): Ditto.
11148
3139018f
GM
111492000-01-13 Gerd Moellmann <gerd@gnu.org>
11150
11151 * sound.c (Fplay_sound): Improve doc string.
11152
83c8f461
RS
111532000-01-11 Richard M. Stallman <rms@gnu.org>
11154
11155 * lisp.h (set_internal): Enter the new arg.
11156
11157 * eval.c (specbind): Record buffer-local variables specially,
11158 indicating which buffer's binding was saved.
11159 (unbind_to): Restore buffer-local variables specially
11160 in the proper buffer.
11161
11162 * data.c (set_internal): New arg BUF.
427ec082 11163
83c8f461
RS
11164 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
11165 * data.c (Fset): Pass new arg to set_internal.
11166 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 11167
1fab1775
GM
111682000-01-11 Gerd Moellmann <gerd@gnu.org>
11169
11170 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload,
11171 xprintsym.
11172
83c8f461 111732000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
11174
11175 * minibuf.c (Ftry_completion): Doc fix.
11176
7a85e4df
GM
111772000-01-11 Gerd Moellmann <gerd@gnu.org>
11178
11179 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
11180 vector, too.
11181
a970dae4
AS
111822000-01-11 Andreas Schwab <schwab@suse.de>
11183
11184 * coding.c (code_convert_region): Initialize total_skip.
11185
c65d14ee
DL
111862000-01-08 Dave Love <fx@gnu.org>
11187
11188 * eval.c (Fuser_variable_p): Check customizability too.
11189
834938d2
GM
111902000-01-07 Gerd Moellmann <gerd@gnu.org>
11191
11192 * minibuf.c (Fcompleting_read): Doc fix.
11193
e0303cd6
GM
111942000-01-05 Gerd Moellmann <gerd@gnu.org>
11195
8a26744b
GM
11196 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
11197 -L /usr/local/lib.
11198
e0303cd6
GM
11199 * xfns.c (x_create_im): New function to set IM and IC of a frame.
11200 Check that input style is supported before trying to create an
11201 IC for it.
11202 (x_window): Call x_create_im.
427ec082 11203
2e471eb5
GM
112042000-01-04 Gerd Moellmann <gerd@gnu.org>
11205
560a7bd2
GM
11206 * xfns.c (current_gif_memory_src): New variable.
11207 (gif_load): Record the address of the current memory source
11208 in current_gif_memory_src.
11209 (gif_read_from_memory): Use current_gif_memory_src.
11210
f9ee84a3
GM
11211 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
11212 macros statement form.
11213
d1299cde
GM
11214 * sound.c (struct sound): Renamed from struct sound_file.
11215 (struct sound): Add members `data' and `header_size'.
11216 (enum sound_attr): Add SOUND_DATA.
11217 (current_sound, current_sound_device): Variables renamed from
11218 sound_file and sound_device.
11219 (parse_sound): Parse :data.
11220 (parse_sound): Handle sound data in strings.
11221 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 11222 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
11223 needed header size.
11224 (wav_play, au_play): Play sounds from string data.
11225
2e471eb5
GM
11226 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
11227
11228 * lisp.h: Add prototype for allocate_string_data.
11229
11230 * alloc.c (Fgarbage_collect): Return number of live and free
11231 strings.
11232
11233 * alloc.c (mark_buffer): Remove code in #if 0.
11234 (gc_sweep): Ditto.
11235 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
11236 (strings_consed): New variable.
11237 (allocate_string): Set it.
11238 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
11239 (Fmemory_use_counts): Return strings_consed. Use Flist.
11240
11241 * alloc.c: General cleanup in comments etc. Remove conditional
11242 compilation for `standalone'.
11243
11244 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
11245
11246 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
11247 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
11248 (DONT_COPY_FLAG): Removed.
11249 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
11250 (struct sdata, struct sblock): New
11251 (struct string_block): Rewritten.
11252 (STRINGS_IN_STRING_BLOCK): New macro.
11253 (oldest_sblock, current_sblock, total_strings, total_free_strings)
11254 (large_sblocks, string_blocks, string_free_list): New variables.
11255 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
11256 (init_strings): Rewritten.
11257 (allocate_string, allocate_string_data, compact_small_strings)
11258 (free_large_strings, sweep_strings): New functions.
11259 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
11260 (struct string_block_head, current_string_block)
11261 (first_string_block, large_string_blocks, STRING_FULLSIZE)
11262 (STRING_PAD): Removed.
11263 (make_uninit_multibyte_string, make_pure_string): Rewritten.
11264 (Fgarbage_collect): Don't set mark bit in large strings.
11265 (mark_object): Mark strings differently. Mark symbol names
11266 differently.
11267 (survives_gc_p): Test marked strings differently.
427ec082 11268 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
11269 symbol names.
11270 (compact_strings): Removed.
11271
42608ba8
EZ
112722000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
11273
11274 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
11275 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
11276
e0a09e1a
KH
112772000-01-04 Kenichi Handa <handa@etl.go.jp>
11278
dd9f0750 11279 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 11280 in a non-empty buffer.
dd9f0750 11281
3c0f3b15 11282 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 11283
44cd3ae5
GM
112842000-01-03 Gerd Moellmann <gerd@gnu.org>
11285
11286 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
11287 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
11288
11289 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
11290
c182a70f
EZ
112912000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11292
11293 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
11294 need to test for MSDOS frames.
11295
24480d5b
EZ
112962000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11297
11298 * dosfns.c (unspecified_colors): Remove.
11299 (msdos_stdcolor_idx): Use global variables unspecified_fg and
11300 unspecified_bg.
11301 (msdos_stdcolor_name): Return strings for unspecified fore- and
11302 back-ground colors.
11303
11304 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 11305 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
11306 (tty_color_name): Return Lisp strings for unspecified fore- and
11307 back-ground colors.
11308 (Finternal_set_lisp_face_attribute): Remove the special treatment
11309 for Qunspecified_{f,b}g.
11310 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp
11311 string.
11312
047f434a
GM
113132000-01-03 Gerd Moellmann <gerd@gnu.org>
11314
11315 * xdisp.c (reseat_at_next_visible_line_start): Position before
11316 newline only if ending up on a newline.
11317 (next_element_from_ellipsis): Return success. Handle case of
11318 displaying no ellipsis. Fix case of ellipsis defined in display
11319 table.
11320 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
11321 returns 0.
11322
d684c676
EZ
113232000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11324
11325 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
11326 (Fcolor_supported_p): Renamed from face-color-supported-p.
11327
5fe1d139
EZ
113282000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11329
11330 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
11331 list of colors renamed to tty-defined-color-alist.
11332 (tty_color_name): Pass the frame to tty-color-by-index.
11333 (realize_tty_face): tty-color-alist is now a function which
11334 accepts the frame as argument.
11335
11336 * term.c (Ftty_display_color_p): Accept an optional argument
11337 FRAME.
11338
816be8b8
EZ
113392000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11340
11341 * term.c (insert_glyphs): Pass glyph, not &glyph, to
11342 encode_terminal_code.
11343
b635321e
EZ
113442000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11345
11346 * dispnew.c (mode_line_string): Support termcap frames as well.
11347
9b784e96
GM
113482000-01-01 Gerd Moellmann <gerd@gnu.org>
11349
27189709
GM
11350 * syntax.c (Fforward_word): Undo previous change.
11351
11352 * editfns.c (Fconstrain_to_field): Don't constrain if
11353 inhibit-field-text-motion is non-nil.
11354 (Fline_beginning_position): Undo previous change.
11355 (Fline_end_position): Ditto.
11356
11357 * syntax.c (Fforward_word): Notice field boundaries only if
11358 inhibit-field-text-motion is nil.
11359
11360 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
11361
11362 * editfns.c (Vinhibit_field_text_motion): New variable.
11363 (inhibit-field-text-motion): New DEFVAR_LISP.
11364 (Fline_beginning_position, Fline_end_position): Notice field
11365 boundaries only if inhibit-field-text-motion is nil.
11366
45158a91
GM
11367 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
11368 All calls adjusted.
11369 (x_build_heuristic_mask): Likewise.
11370 (xbm_load_image_from_file): Change error output.
11371 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
11372 (gif_load, gs_load, x_kill_gs_process): Ditto.
11373
9b784e96
GM
11374 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
11375 color indices when accessing raster pixels.
63cec32f
GM
11376 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
11377 one of :file or :data.
11378 (enum pbm_keyword_index): Add PBM_DATA.
11379 (pbm_format): Add :data.
11380 (pbm_image_p): Allow either :file or :data.
11381 (pbm_read_file): New function.
11382 (pbm_scan_number): Rewritten to read from string.
11383 (pbm_load): Support :data.
9b784e96 11384
2cb085db 11385See ChangeLog.8 for earlier changes.
6922b018
KH
11386
11387;; Local Variables:
49b3bd82 11388;; coding: iso-2022-7bit
6922b018 11389;; End: